ホームページ >バックエンド開発 >PHPの問題 >php のどの関数が SQL インジェクションを防ぐことができますか?

php のどの関数が SQL インジェクションを防ぐことができますか?

(*-*)浩
(*-*)浩オリジナル
2019-09-27 10:27:363355ブラウズ

php のどの関数が SQL インジェクションを防ぐことができますか?

#ログイン中にユーザーが入力した内容を信じないでください。ユーザーの入力は処理する必要があります。

SQL インジェクション: (推奨される学習: PHP プログラミングの入門から習熟まで )

' or 1=1 #

SQL インジェクションを防ぐためのいくつかの関数:

addslashes( $ string): バックスラッシュを使用して文字列 ' " \

$username=addslashes($username);

mysql_escape_string($string): バックスラッシュを使用して文字列内の文字をエスケープします で使用される特殊文字

$username=mysql_escape_string($username);

mysql_real_escape_string($string): SQL ステートメントで使用される文字列内の特殊文字をエスケープするには、接続セットの現在の文字を考慮して、次のことを確認する必要があります。この関数を使用する前に現在の接続状態を使用できます。そうでない場合は、警告が報告されます。% と __

$username=mysql_real_escape_string($username);

をエスケープしないでください。例:

<?php
 $clean = array();
$mysql = array();

$clean[&#39;last_name&#39;] = "O&#39;Reilly";
$mysql[&#39;last_name&#39;] = mysql_real_escape_string($clean[&#39;last_name&#39;]);

$sql = "INSERT
      INTO   user (last_name)
      VALUES (&#39;{$mysql[&#39;last_name&#39;]}&#39;)";
 ?>

以上がphp のどの関数が SQL インジェクションを防ぐことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。