シンプルでわかりやすい php SQL アンチインジェクション コード

WBOY
リリース: 2016-07-25 09:03:40
オリジナル
1026 人が閲覧しました
  1. //フィルタリングされる不正な文字
  2. $ArrFiltrate=array("'",";","union");
  3. //エラーが発生した場合にリダイレクトされる URL未入力 デフォルトの前ページ
  4. $StrGoUrl="";
  5. //配列に値があるかどうか
  6. function FunStringExist($StrFiltrate,$ArrFiltrate){
  7. foreach ($ArrFiltrate as $key=>$value){
  8. if (eregi ($value,$StrFiltrate)){
  9. return true;
  10. }
  11. }
  12. return false;
  13. }
  14. // $_POST と $_GET をマージします
  15. if(function_exists(array_merge)){
  16. $ArrPostAndGet=array_merge ($HTTP_POST_VARS, $HTTP_GET_VARS);
  17. }else{
  18. foreach($HTTP_POST_VARS as $key=>$value){
  19. $ArrPostAndGet[]=$value;
  20. }
  21. foreach($HTTP_GET_VARS as $key=>$ value){
  22. $ArrPostAndGet[]=$value;
  23. }
  24. }
  25. //検証開始
  26. foreach($ArrPostAndGet as $key=>$value){
  27. if (FunStringExist($value,$ArrFiltrate)){
  28. echo “< script language=”javascript”>alert(“不正な文字”);”;
  29. if (emptyempty($StrGoUrl)){
  30. echo “”;
  31. }else{
  32. echo “ ”;
  33. }
  34. exit;
  35. }
  36. }
  37. ?>
コードをコピー

方法 2

  1. /* すべての GET 変数をフィルタリング*/
  2. foreach ($_GET as $get_key=>$get_var)
  3. {
  4. if (is_numeric($get_var)) {
  5. $get[ strto lower ($get_key)] = get_int($get_var);
  6. } else {
  7. $get[strto lower($get_key)] = get_str($get_var);
  8. }
  9. }
  10. /* すべての POST 変数をフィルタリング*/
  11. foreach ($ _POST as $post_key=>$post_var)
  12. {
  13. if (is_numeric($post_var)) {
  14. $post[strto lower($post_key)] = get_int($post_var);
  15. } else {
  16. $post[ strto lower($ post_key)] = get_str($post_var);
  17. }
  18. }
  19. /* フィルター関数*/
  20. //整数フィルター関数
  21. function get_int($number)
  22. {
  23. return intval($number);
  24. }
  25. //Stringフィルター関数
  26. function get_str($string)
  27. {
  28. if (!get_magic_quotes_gpc()) {
  29. returnaddslashes($string);
  30. }
  31. return $string;
  32. }
  33. ?>
コードをコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート