我有一个用于在其上放置搜索引擎脚本的网站,该网站已被删除并替换为新内容。
每隔一段时间,网站就会充斥着如下的请求:
/index.php?page=search/web/appdojo.com
/index.php?page=search/web/2tu.us
/index.php?page=search/emailafriend&url=http%253A%252F%252F
/index.php?page=user/viewcomments/images/82e10127b84ee2750c
这会导致大量进程启动,然后我们遇到托管提供商的问题。
我想我应该能够在调用.htaccess
之前在index.php
中停止这些操作,但是没有想出regex
表达式来做到这一点但是让其余的index.php
网址将通过确认。
任何人都可以帮忙吗? -Thanks
答案 0 :(得分:0)
由于您在标记中包含PHP,因此在index.php上简单地显示404错误并使其看起来像是一个错误要容易得多。所以你可以把它放在index.php页面上的所有之前:
if (isset($_GET['page'])) {
header('HTTP/1.0 404 Not Found');
include('404.php'); //Whatever your 404 error page is
exit();
}
答案 1 :(得分:0)
如果您的索引页面根本没有使用页面变量,您可以尝试阻止在网址中包含页面参数的所有网址
RewriteRule ^index.php?page= /Your_404_page.php
答案 2 :(得分:0)
是的,最好在.htaccess阶段停止它们以防止加载PHP。以下是适用于DOCUMENT_ROOT/.htaccess
文件的规则:
RewriteEngine On
RewriteCond %{THE_REQUEST} /index\.php\?page= [NC]
RewriteRule ^ - [R=304,L]