日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php注入类,简单实用的PHP防注入类实例

發布時間:2025/4/16 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php注入类,简单实用的PHP防注入类实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要介紹了簡單實用的PHP防注入類實例,以兩個簡單的防注入類為例介紹了PHP防注入的原理與技巧,對網站安全建設來說非常具有實用價值,需要的朋友可以參考下

本文實例講述了簡單實用的PHP防注入類。分享給大家供大家參考。具體如下:

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

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;

}

}

?>

例子二,代碼如下:

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

說明:

判斷傳遞的變量中是否含有非法字符

如$_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 "";

if (emptyempty($StrGoUrl)){

echo "history.go(-1);";

}else{

echo "window.location='".$StrGoUrl."';";

}

exit;

}

}

/***************結束防止PHP注入*****************/

?>

希望本文所述對大家的PHP程序設計有所幫助。

總結

以上是生活随笔為你收集整理的php注入类,简单实用的PHP防注入类实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。