国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

簡單實用的PHP防注入類實例

2020-03-22 20:13:30
字體:
來源:轉載
供稿:網友
本文實例講述了簡單實用的PHP防注入類。分享給大家供大家參考。具體如下:PHP防注入注意要過濾的信息基本是get,post,然后對于sql就是我們常用的查詢,插入等等sql命令了,下面我給各位整理兩個簡單的例子,希望這些例子能給你網站帶來安全.PHP防注入類代碼如下:
復制代碼 代碼如下: php
/**
* 參數處理類
* @author JasonWei
*/
html' target='_blank'>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教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 简阳市| 色达县| 乌兰浩特市| 彭水| 炎陵县| 德钦县| 绥中县| 名山县| 景东| 崇仁县| 林州市| 长沙市| 永顺县| 郓城县| 潜山县| 东方市| 浙江省| 察隅县| 滕州市| 武强县| 淳化县| 博湖县| 宜春市| 喜德县| 梁河县| 克拉玛依市| 安徽省| 江安县| 平和县| 汶上县| 沭阳县| 体育| 微博| 玉树县| 长宁县| 赤峰市| 鱼台县| 加查县| 阿坝县| 渑池县| 凌云县|