Ich weiß, ich kann GET-Abfrage-String-Parameter in RewriteCond prüfen wie folgt:Wie verwende ich Apache mod_rewrite rewritecond mit POST-Parametern?
RewriteCond %{REQUEST_URI} ^/somepath/somepath
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} try=3
RewriteCond %{QUERY_STRING} name=([^&]*)
RewriteRule ^/somepath/somepath(.*) /otherpath/otherpath?name=%1 [R]
Wie POST-Parameter I überprüfen, die in der Anfrage Körper sind? Ich höre mod_security kann es tun, aber ich finde keine Beispiele dafür, wie ich mod_security in Verbindung mit mod_rewrite wie im obigen Beispiel verwenden würde.
Ich beabsichtige, so etwas zu verwenden POSTs zu handhaben:
RewriteCond %{REQUEST_URI} ^/somepath/somepath
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^/somepath/somepath(.*) /otherpath/otherpath [PT]
... außer, dass ich brauche eine RewriteCond, die die POST-Parameter überprüft, um zu sehen, ob „versuchen = 3“.
Kann Modsecurity den Anfragetext prüfen und das Ergebnis dieser Prüfung in einer Umgebungsvariablen laden? das würde funktionieren ...
Ich nehme an, du hast das nie verstanden, oder? Ich stehe vor einer sehr ähnlichen Situation. –
Keine Lösung mit Apache HTTP Server. In meinem Fall ist Apache ein Reverse-Proxy für einen Back-End-Weblogic-Server. Am Ende schrieb ich ein Java-Servlet, das in weblogic gehostet wurde, um Weiterleitungen für POSTs zu behandeln. – Jaffadog
Danke. Ich musste am Ende eine ähnliche Sache machen. Erstelle eine kleine node.js App als meinen Reverse Proxy. Nicht so sauber wie es mir gefallen hätte, aber es funktioniert. –