如何放弃请求而不必回复它?

时间:2012-02-17 20:02:28

标签: django response render-to-response

有些机器人一遍又一遍地打击我的网站。

http://proxy.parser.by/proxy.php (Referrer)

我甚至不想回复任何请求.php,.htm或.html文件的人。

不回应此类请求的最佳方法是什么?

更新:(我不想承担回应费用)

2 个答案:

答案 0 :(得分:3)

在请求甚至到达Django之前,这可能最好在服务器级别完成。例如,在Apache中,您可以使用mod_rewrite进行访问控制。此规则拒绝所有路径以.php.htm.html结尾的请求:

RewriteRule \.(php|html?)$ - [F]

Apache documentation解释了如何通过用户代理,引用,orginating IP地址等来阻止请求。

答案 1 :(得分:0)

放入一些中间件,它会检测你不想处理的任何请求并让它返回HTTP 403(禁止)。