過慮post數(shù)據(jù)php的簡單介紹

請問PHP怎么過濾GET或者POST的參數(shù)?防止js注入,或者一些html注入?請請?zhí)峁┐a參考?謝謝!

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

如何防止代碼注入攻擊在PHP

一,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ù)攻擊入侵。

php中,通過$_GET 和 $_POST 取得的數(shù)據(jù) 安不安全 需要什么過濾函數(shù)處理嗎

當然需要,$_GET取得的數(shù)據(jù)是來自URL后的參數(shù),這個是可以自己在地址欄里隨便寫的,而$_POST的數(shù)據(jù)來自表單提交,雖然在前端可以設(shè)置JS驗證數(shù)據(jù)合法性,但是別有用心的人可以很容易地繞過這個JS驗證腳本,所以,在后臺接收到這些數(shù)據(jù)后,首先要做的,就是用過濾或者驗證函數(shù)進行進一步地處理

如何在PHP中成功的過濾危險HTML的代碼

//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;

}

PHP如何過濾POST、GET、COOKIE?

首先命藥明白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)

商城網(wǎng)站建設(shè)