Ich muss ein Formular erstellen, die Aktion bringt Sie zurück auf die exakt gleiche Seite - GET-Parameter enthalten. Ich denke, ich etwas auf die Wirkung der sagen kann:
echo '<form action="'.$_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'].
'" method="post">'
Dies scheint zu funktionieren, und Testen vorbei ein paar XSS-Angriffe scheint erfolgreich zu sein, wie die Ausgabe von QUERY_STRING scheint URL-kodiert zu sein. Die PHP documentation erwähnt dies jedoch nicht, daher bin ich nicht zuversichtlich, dass ich diesem Verhalten vertrauen kann.
Ist es sicher, QUERY_STRING so zu verwenden, wie ich oben bin? Wenn nicht, was kann ich stattdessen tun? Verweise auf die Dokumentation würden geschätzt werden.
Update wechselte zu SCRIPT_NAME, nur gemischt, welche war in Ordnung und was war schlecht in meinem Kopf, danke für mich zu fangen. action=""
löst mein spezifisches Problem gut, aber ich bin immer noch neugierig, ob QUERY_STRING vorverarbeitet ist, so dass es sicher zu verwenden ist oder nicht, da es manchmal andere wollen Sie die Abfragezeichenfolge wiederverwenden, vorausgesetzt, es ist sicher zu tun damit.
Nehmen Sie nie an. Du weißt nie, was diese Gauner sich ausdenken können! – BoltClock
Natürlich nicht :) das sind die Rohwerte aus der URI – RobertPitt
Wenn Sie Benutzer zurück zur gleichen Seite senden möchten, müssen Sie nicht einmal angeben, welche Aktion ... – ajreal