湖中沉 发表于 2012-12-16 17:34:58

PHP中对GET进行过滤,一劳永逸

对$_GET传过来的值进行过滤,防止用户手动输入URL参数,只接受网页链接过去的参数,可以有效防止越权注入问题。<?php

/**************************************

*作者:马 犇

*使用方法:放在公共类库的最前端即可

**************************************/

if(count($_GET)>0)
{
    /*
    * 功能:检测页面是否合法链接过来
    * 如果为非法,给予提示,并关闭窗口.
    */
    $_SESSION['HTTP_REFERER']=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:"";
    function CheckURL()
    {
      //如果为手动输入的地址,则提示并关闭窗口
      if($_SESSION['HTTP_REFERER']=="")
      {
            echo "<meta http-equiv='Content-Type'' content='text/html; charset=utf-8'>";
            echo "<script>";
            echo "alert('请不要恶意攻击');";
            echo "window.close();";
            echo "</script>";
            exit;
      }
    }
    CheckURL();
}

?>
页: [1]
查看完整版本: PHP中对GET进行过滤,一劳永逸