シンプルでわかりやすい php SQL アンチインジェクション コード
リリース: 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 “< script language=”javascript”>alert(“不正な文字”);”;
- if (emptyempty($StrGoUrl)){
- echo “”;
- }else{
- echo “ ”;
- }
- exit;
- }
- }
- ?>
コードをコピー
方法 2
-
- /* すべての GET 変数をフィルタリング*/
- foreach ($_GET as $get_key=>$get_var)
- {
- if (is_numeric($get_var)) {
- $get[ strto lower ($get_key)] = get_int($get_var);
- } else {
- $get[strto lower($get_key)] = get_str($get_var);
- }
- }
- /* すべての POST 変数をフィルタリング*/
- foreach ($ _POST as $post_key=>$post_var)
- {
- if (is_numeric($post_var)) {
- $post[strto lower($post_key)] = get_int($post_var);
- } else {
- $post[ strto lower($ post_key)] = get_str($post_var);
- }
- }
- /* フィルター関数*/
- //整数フィルター関数
- function get_int($number)
- {
- return intval($number);
- }
- //Stringフィルター関数
- function get_str($string)
- {
- if (!get_magic_quotes_gpc()) {
- returnaddslashes($string);
- }
- return $string;
- }
- ?>
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31