我有一个服务器与Linux和Apache的最新版本。我注意到,如果我发送一个POST与数据到网站上的任何地址,这是接受的,即使没有一个特定的PHP脚本,可以处理它。我认为这是正常的。但我如何才能防止这种情况?我知道有些网站(易趣)完成后才返回错误(想象一下,如果post包含一个大文件,服务器带宽消耗是有保证的).你怎么能阻止POST运行在php脚本或任何其他脚本的上游?你必须在Apache服务器上工作还是在.htaccess中工作?
wsxa1bj11#
你必须在请求到达PHP之前阻止它。我不确定header()方法,但限制.htaccess的访问似乎是一个更安全的选择。
header()
RewriteCond %{REQUEST_METHOD} POST RewriteRule .* – [F,L]
字符串
ar7v8xwq2#
我认为你应该设置你的响应头来告诉你的浏览器你的端点接受什么.
header('Access-Control-Allow-Methods', 'GET, PUT, DELETE, PATCH, OPTIONS'); // just exclude the POST method
字符串我从CORS规范中得到了这个。如果它不工作,那么可能是因为这个头必须响应OPTIONS请求。
2条答案
按热度按时间wsxa1bj11#
你必须在请求到达PHP之前阻止它。我不确定
header()
方法,但限制.htaccess的访问似乎是一个更安全的选择。字符串
ar7v8xwq2#
我认为你应该设置你的响应头来告诉你的浏览器你的端点接受什么.
字符串
我从CORS规范中得到了这个。如果它不工作,那么可能是因为这个头必须响应OPTIONS请求。