中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP防注入類實例分享

發布時間:2021-08-21 09:30:42 來源:億速云 閱讀:104 作者:chen 欄目:開發技術

這篇文章主要講解了“PHP防注入類實例分享”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP防注入類實例分享”吧!

PHP防注入注意要過濾的信息基本是get,post,然后對于sql就是我們常用的查詢,插入等等sql命令了,下面我給各位整理兩個簡單的例子,希望這些例子能給你網站帶來安全.

PHP防注入類代碼如下:

復制代碼 代碼如下:

<?php
/**
 * 參數處理類
 * @author JasonWei
 */
class Params
{
    public $get = array();
 
    public $post = array();
 
    function __construct()
    {
 if (!emptyempty($_GET)) {
     foreach ($_GET as $key => $val) {
 if (is_numeric($val)) {
     $this->get[$key] = $this->getInt($val);
 } else {
     $this->get[$key] = $this->getStr($val);
 }
     }
 }
 if (!emptyempty($_POST)) {
     foreach ($_POST as $key => $val) {
 if (is_numeric($val)) {
     $this->post[$key] = $this->getInt($val);
 } else {
     $this->post[$key] = $this->getStr($val);
 }
     }
 }
    }
 
    public function getInt($number)
    {
 return intval($number);
    }
 
    public function getStr($string)
    {
 if (!get_magic_quotes_gpc()) {
     $string = addslashes($string);
 }
 return $string;
    }
 
    public function checkInject($string)
    {
 return eregi('select|insert|update|delete|/*|*|../|./|union|into|load_file|outfile', $string);
    }
 
    public function verifyId($id = null)
    {
 if (!$id || $this->checkInject($id) || !is_numeric($id)) {
     $id = false;
 } else {
     $id = intval($id);
 }
 return $id;
    }
}
?>


例子二,代碼如下:

復制代碼 代碼如下:

<?php 
/*************************  
說明:    
判斷傳遞的變量中是否含有非法字符    
   
如$_POST、$_GET    
功能:    
防注入    
*************************/    
//要過濾的非法字符     
$ArrFiltrate=array("'","or","and","union","where");     
//出錯后要跳轉的url,不填則默認前一頁     
$StrGoUrl="";     
//是否存在數組中的值     
function FunStringExist($StrFiltrate,$ArrFiltrate){     
foreach ($ArrFiltrate as $key=>$value){     
if (eregi($value,$StrFiltrate)){     
  return true;     
}     
}     
return false;     
}     
//合并$_POST 和 $_GET     
if(function_exists(array_merge)){     
$ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);     
}else{     
foreach($HTTP_POST_VARS as $key=>$value){     
$ArrPostAndGet[]=$value;     
}     
foreach($HTTP_GET_VARS as $key=>$value){     
$ArrPostAndGet[]=$value;     
}     
}     
//驗證開始     
foreach($ArrPostAndGet as $key=>$value){     
if (FunStringExist($value,$ArrFiltrate)){     
echo "<script language='javascript'>alert('傳遞的信息中不得包含{',or,and,union}等非法字符請您把他們換成{‘,OR,AND,UNION}');</script>";     
if (emptyempty($StrGoUrl)){     
echo "<scriptlanguage='javascript'>history.go(-1);</script>";     
}else{     
echo "<scriptlanguage='javascript'>window.location='".$StrGoUrl."';</script>";     
}     
exit;     
}     
}     
/***************結束防止PHP注入*****************/    
?>

感謝各位的閱讀,以上就是“PHP防注入類實例分享”的內容了,經過本文的學習后,相信大家對PHP防注入類實例分享這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

赫章县| 共和县| 白沙| 天长市| 黄梅县| 岳西县| 和田县| 平果县| 井冈山市| 涿州市| 西和县| 武宁县| 英德市| 滦南县| 绥棱县| 沂源县| 辽阳市| 留坝县| 泗水县| 噶尔县| 大厂| 曲沃县| 武隆县| 枣强县| 斗六市| 宝清县| 玉田县| 肇东市| 浪卡子县| 新竹县| 石渠县| 阳山县| 驻马店市| 云安县| 泰来县| 兴安盟| 会宁县| 景东| 鹤壁市| 客服| 长宁区|