针对多个快速请求的.htaccess或PHP保护代码

时间:2010-05-12 16:16:10

标签: php .htaccess

我正在寻找有关如何阻止与我的网站连接的外部脚本的想法。我正在寻找谷歌背后的同样想法。如果在一定时间内发出一定数量的请求,则阻止IP地址或其他内容。我想可能有一个htaccess解决方案,如果没有,我会写一个PHP。

非常感谢任何有关现有方法或脚本的想法或链接。

4 个答案:

答案 0 :(得分:2)

PHPIDS可能就是你想要的。 “目前,PHPIDS会检测各种XSS,SQL注入,标头注入,目录遍历,RFE / LFI,DoS和LDAP攻击。”

来自常见问题:

  require_once 'IDS/Init.php';
  $request = array(
      'REQUEST' => $_REQUEST,
      'GET' => $_GET,
      'POST' => $_POST,
      'COOKIE' => $_COOKIE
  );
  $init = IDS_Init::init('IDS/Config/Config.ini');
  $ids = new IDS_Monitor($request, $init);
  $result = $ids->run();

  if (!$result->isEmpty()) {
   // Take a look at the result object
   echo $result;
  }

答案 1 :(得分:1)

您可以尝试使用mod_evasive for Apache

答案 2 :(得分:1)

你的问题有点含糊不清 - 你是想要通过Apache直接阻止连接,还是想阻止人们发布数据(比如Google会阻止跨网站注入搜索)?

如果您想阻止连接,我会搜索可以调节请求的Apache模块。如果您只是想像Google一样想要表单保护,那么您应该考虑生成表单令牌。

当我构建表单时,我通常会生成一个隐藏的输入值,其中包含一个也保存在用户会话中的标记,除非两个标记都存在且匹配,否则表单将拒绝处理,这使得人们很难提交来自远程站点的数据。

答案 3 :(得分:0)

您可以使用PEAR Flood Control