간단하고 이해하기 쉬운 PHP SQL 주입 방지 코드
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-07-25 09:03:40
-
- //要过滤的非法字符
- $ArrFiltrate=array(”‘”,”;”,”union”);
- //出错后要跳转的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 “”;
- }else{
- echo “”;
- }
- exit;
- }
- }
- ?>
复制代码
方法二
-
- /* 过滤所有GET过来变量 */
- foreach ($_GET as $get_key=>$get_var)
- {
- if (is_numeric($get_var)) {
- $get[strtolower($get_key)] = get_int($get_var);
- } else {
- $get[strtolower($get_key)] = get_str($get_var);
- }
- }
- /* 过滤所有POST过来的变量 */
- foreach ($_POST as $post_key=>$post_var)
- {
- if (is_numeric($post_var)) {
- $post[strtolower($post_key)] = get_int($post_var);
- } else {
- $post[strtolower($post_key)] = get_str($post_var);
- }
- }
- /* 过滤函数 */
- //整型过滤函数
- function get_int($number)
- {
- return intval($number);
- }
- //字符串型过滤函数
- function get_str($string)
- {
- if (!get_magic_quotes_gpc()) {
- return addslashes($string);
- }
- return $string;
- }
- ?>
复制代码
|
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2025-02-26 03:58:14
-
2025-02-26 03:38:10
-
2025-02-26 03:17:10
-
2025-02-26 02:49:09
-
2025-02-26 01:08:13
-
2025-02-26 00:46:10
-
2025-02-25 23:42:08
-
2025-02-25 22:50:13
-
2025-02-25 21:54:11
-
2025-02-25 20:45:11