Senden von Daten mit PUT-Anfrage
Ich möchte zum senden von Daten mit einer PUT-Anfrage.
Ich habe ein input-fiel für die Daten zu senden.
mit Einreichen möchte ich die Daten senden.
meine Daten sind im json-format.
Dies ist nur für einen pentest - so muss es sein, eine PUT-Anfrage
Habe ich versucht:
<header>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="javascript">
$(document).ready(function(){
$(#submit).click(){
var xmlHttp = getNewHTTPObject(); //returns a XMLHttpRequest object
function chargeURLPut(url) {
var mimeType = "text/plain";
xmlHttp.open('PUT', url, true); //true : asynchrone false: synchrone
xmlHttp.setRequestHeader('Content-Type', mimeType);
xmlHttp.send($(#data).val();
}}});
</script>
</header>
<body>
<form>
Data:<br>
<input id="data" type="text" name="data" value="Mickey"><br>
<input id="submit" type="submit" value="Submit">
</form>
</body>
</html>
Aber die Daten werden an die url angehängt wie GET-Parameter. Nachdem die http-header möchte ich Daten wie "{date: foo....}"
Beispiel Anfrage:
PUT /foo/bar/v1/users HTTP/1.1
Host: www.foo.bar
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://www.foo.bar/frontend/
Content-Type: application/json;charset=UTF-8
Authorization: eyJhbGciOiJSUzUxMiJ9.eyJzdW
origin: https://www.foo.bar
Content-Length: 598
Connection: close
{foo: bar, foo:bar}
Okay, so was hast du versucht und was ist das problem?
Wenn Sie versuchen, Ihre JS, welche Art von problem haben Sie?
Ich bin überrascht, dass JavaScript läuft sogar mit
Es gibt eine fehlende Klammern auf senden.
Wenn Sie versuchen, Ihre JS, welche Art von problem haben Sie?
Ich bin überrascht, dass JavaScript läuft sogar mit
type="javascript"
.Es gibt eine fehlende Klammern auf senden.
xmlHttp.send($(#data).val();
sollte xmlHttp.send($(#data).val());
InformationsquelleAutor spitzbuaamy | 2017-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, mithilfe der $.ajax-Aufruf.
Getestet habe ich diese auf einen webserver. Es funktioniert.
InformationsquelleAutor kevingreen
Müssen Sie senden Sie die Daten als
x-www-form-urlencoded
Und Sie zum aufrufen der angegebenen Funktion innerhalb der .klicken Sie auf()
Ich aktualisiert meine Antwort.
mit dieser Lösung firefox nicht senden jede Anfrage
Welche Fehler sind Sie immer? Könnte man eine cross-site-scripting-problem?
Es wurden Fehler in der letzten Zeile auch fehlen ' von ' und ). es sollte xmlHttp.send($('#data').val()); Überprüfen Sie, welche die Ausgabe in Ihrem browser auf die Konsole zu.
InformationsquelleAutor Hiraqui