是否可以将所有POST请求转发到特定的php文件,想用.htaccess文件解决?这样您就可以继续进行相应的工作了?
答案 0 :(得分:0)
在您的.htaccess文件中尝试一下:
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
答案 1 :(得分:0)
如果要将所有POST
请求重定向到特定文件,请通过REQUEST_METHOD
标志捕获请求。假设所有请求都应发送到processPostData.php
,那么您的.htaccess
应该如下所示:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^POST$ [NC]
RewriteRule !^processPostData\.php$ /processPostData.php [NC,L]
这还将转发所有请求数据。如果您只希望过滤真正的帖子请求(即仅来自您的网站),则可以只允许来自网站的请求,并将用户代理限制为仅浏览器。
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^yoursite\.com [NC]
RewriteCond %{HTTP_USER_AGENT} ^.*(mozilla|chrome|opera|safari|ie).+$ [NC] # you can add more agents here
RewriteCond %{REQUEST_METHOD} ^POST$ [NC]
RewriteRule !^processPostData\.php$ /processPostData.php [NC,L]
注意:这仍然不是要采用的强大安全策略。我建议您看看CSRF attacks,以通过令牌加强更好的安全性。