Zope的Virtual Host Monster和RewriteRule

时间:2013-09-18 09:16:12

标签: .htaccess zope

我的zope网站最近被80legs.com运行的侵略性爬虫服务“攻击”,该服务在两天的时间内一再瘫痪。

我想阻止这个抓取工具(通过测试用户代理字符串),但是这个zope实例不在apache后面,因此没有.htaccess文件。 Zope确实有自己的“虚拟主机怪物”用于重写子文件夹的URL,但我找不到任何关于它是否可以在其“映射”选项卡中处理RewriteCond和RewriteRule语句的引用。

有没有人知道是否可以实现这一点,如果是这样,语法会是什么?

如果这是一个apache .htaccess文件,我会写下以下内容:

RewriteCond %{HTTP_USER_AGENT} ^80legs 
RewriteRule ^.* - [F,L]

1 个答案:

答案 0 :(得分:2)

VHM的目的只是从前端反向代理向Zope传达域名和生成的URL必须使用的初始路径。它不支持一般重写。它确实支持基于HTTP标头的条件。

您必须编写一个Zope请求事件处理程序来根据HTTP标头更改URL。除非您准备为服务器编写新的Python包,否则这并不容易。

更简单的方法是安装nginx并让它为您处理重写,为Zope代理并保护您免受不正当行为的HTTP客户端的侵害。