string mysql_real_escape_string ( string unescaped_string [, resource link_identifier])
成都創(chuàng)新互聯(lián)公司:2013年至今為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為上千公司企業(yè)提供了專業(yè)的成都網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)頁設(shè)計和網(wǎng)站推廣服務(wù), 按需開發(fā)網(wǎng)站由設(shè)計師親自精心設(shè)計,設(shè)計的效果完全按照客戶的要求,并適當?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。
本函數(shù)將 unescaped_string 中的特殊字符轉(zhuǎn)義,并計及連接的當前字符集,因此可以安全用于 mysql_query()。
注: mysql_real_escape_string() 并不轉(zhuǎn)義 % 和 _。
例子 1. mysql_real_escape_string() 例子
?php
$item = "Zak's and Derick's Laptop";
$escaped_item = mysql_real_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?
以上例子將產(chǎn)生如下輸出:
Escaped string: Zak\'s and Derick\'s Laptop
一,HTML防注入。
一般的html注入都是在字符串中加入了html標簽,用下JAVA代碼可以去掉這部分代碼。
代碼如下,自己封裝成方法即可。
String msge = "asdasdasdasd div id=\"f\"asdfsdf";
System.out.println(msge);
msge = msge.replace("", "");
msge = msge.replace("", "");
msge = msge.replace(" ", " ");
msge = msge.replace("", "");
msge = msge.replace("\"", """);
msge = msge.replace("'", "qpos;");
System.out.println(msge);
二、防SQL注入
最簡單最容易的是限制用戶輸入。
簡單點的就是不允許用戶輸入單引號 和 --,因為單引號號--在SQL中都是影響執(zhí)行的。
但SQL注入是多方面的,防止的方法也有很多種。
1、地址欄禁止特殊字符防SQL注入
把特殊字符(如and、or、'、")都禁止提交就可以防止注入了。
2、php過濾html字符串,防止SQL注入
批量過濾post,get敏感數(shù)據(jù)
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
數(shù)據(jù)過濾函數(shù)
function stripslashes_array($array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' $key != 'argv' (strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = stripslashes($var);
}
if (is_array($var)) {
$array[$key] = stripslashes_array($var);
}
}
}
return $array;
}
3、替換HTML尾標簽
function lib_replace_end_tag($str)
{
if (empty($str)) return false;
$str = htmlspecialchars($str);
$str = str_replace( '/', "", $str);
$str = str_replace("\\", "", $str);
$str = str_replace("", "", $str);
$str = str_replace("", "", $str);
$str = str_replace("SCRIPT", "", $str);
$str = str_replace("/SCRIPT", "", $str);
$str = str_replace("script", "", $str);
$str = str_replace("/script", "", $str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$str=str_replace("","",$str);
$str=str_replace("","",$str);
$str=str_replace("","",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("",chr(34),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("br /",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("css","'",$str);
$str=str_replace("CSS","'",$str);
return $str;
}
三、專業(yè)的事情交給專業(yè)的工具去做。
安裝安全軟件。例如,在服務(wù)器中安裝“服務(wù)器安全狗”,可以設(shè)置防注入,防攻擊的設(shè)置,只要設(shè)置好安全規(guī)則,就可以屏蔽大多數(shù)攻擊入侵。
當然需要,$_GET取得的數(shù)據(jù)是來自URL后的參數(shù),這個是可以自己在地址欄里隨便寫的,而$_POST的數(shù)據(jù)來自表單提交,雖然在前端可以設(shè)置JS驗證數(shù)據(jù)合法性,但是別有用心的人可以很容易地繞過這個JS驗證腳本,所以,在后臺接收到這些數(shù)據(jù)后,首先要做的,就是用過濾或者驗證函數(shù)進行進一步地處理
//php?批量過濾post,get敏感數(shù)據(jù)
if?(get_magic_quotes_gpc())?{
$_GET?=?stripslashes_array($_GET);
$_POST?=?stripslashes_array($_POST);
}
function?stripslashes_array($array)?{
while(list($key,$var)?=?each($array))?{
if?($key?!=?'argc'??$key?!=?'argv'??(strtoupper($key)?!=?$key?||?''.intval($key)?==?"$key"))?{
if?(is_string($var))?{
$array[$key]?=?stripslashes($var);
}
if?(is_array($var))??{
$array[$key]?=?stripslashes_array($var);
}
}
}
return?$array;
}
//--------------------------
//?替換HTML尾標簽,為過濾服務(wù)
//--------------------------
function?lib_replace_end_tag($str)
{
if?(empty($str))?return?false;
$str?=?htmlspecialchars($str);
$str?=?str_replace(?'/',?"",?$str);
$str?=?str_replace("\\",?"",?$str);
$str?=?str_replace("gt",?"",?$str);
$str?=?str_replace("lt",?"",?$str);
$str?=?str_replace("SCRIPT",?"",?$str);
$str?=?str_replace("/SCRIPT",?"",?$str);
$str?=?str_replace("script",?"",?$str);
$str?=?str_replace("/script",?"",?$str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$str=str_replace("","",$str);
$str=str_replace("","",$str);
$str=str_replace("","",$str);
$str=str_replace("?",chr(32),$str);
$str=str_replace("?",chr(9),$str);
$str=str_replace("????",chr(9),$str);
$str=str_replace("",chr(34),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("br?/",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("css","'",$str);
$str=str_replace("CSS","'",$str);
return?$str;
}
首先命藥明白POST,GRT,COOKIE,其實它是一個數(shù)組。
你可以print_r($_POST)就明白了
所以你一可以寫一個方法,
public function a ($_POST){
foreach($_POST as $val) {
/將所有的值過濾掉后賦予一個新的數(shù)組
}
return $arr;
}
新聞標題:過慮post數(shù)據(jù)php的簡單介紹
網(wǎng)址分享:http://muchs.cn/article0/doocdio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、做網(wǎng)站、云服務(wù)器、網(wǎng)站排名、網(wǎng)站設(shè)計、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)