有人在我的网站上尝试一些糟糕的东西,我厌倦了阻止他使用的IP。因此,我想阻止他一起执行代码,并将任何此类尝试重定向到本地服务器。为此,我在.htaccess:
中使用以下条件
RewriteCond %{QUERY_STRING} ^id=http://213.246.61.125:2082/index.html$ [NC]
RewriteRule page.php http://127.0.0.1/index.php? [NS,S,L]
现在,事情正在从许多不同的IP尝试这一点,这个index.html也托管在这些IP上。所以我想做一个通配符,这样无论index.html之前的IP是什么,尝试它的人都会被重定向到他的本地服务器。我不知道该怎么做。我不能像在其他地方(34.5.*.*)
那样使用IP通配符,因为这是一个链接。所以我想我必须使用这样的东西:
RewriteCond %{QUERY_STRING} ^id=http://([0-9]).([0-9]).([0-9]).([0-9]):2082/index.html$ [NC]
RewriteRule page.php http://127.0.0.1/index.php? [NS,S,L]
但是,上面的内容是不对的,但我不知道如何针对任何数字组合进行调整。也许有人能帮忙?
由于要匹配一个或多个字符,因此应该在[0-9]
字符范围后加一个加号。还要注意
- 正则表达式中的点应该用反斜杠引起来。否则,它们将匹配任何字符
RewriteCond
中的括号是不必要的- CCD_ 9中的CCD_ 7和CCD_
我会尝试以下方法:
RewriteCond %{QUERY_STRING} ^id=http://[0-9]+.[0-9]+.[0-9]+.[0-9]+:2082/index.html$ [NC]
RewriteRule page.php http://127.0.0.1/index.php [L]