SQL インジェクションを防ぐための 3 つの PHP 関数と 2 つのオプション

angryTom
リリース: 2023-04-07 17:08:02
転載
2738 人が閲覧しました

SQL インジェクションを防ぐための 3 つの PHP 関数と 2 つのオプション

3 つの関数:

1.addslashes($string): バックスラッシュを使用して文字列 ' " \ 内の特殊文字を引用します。

$username=addslashes($username);
ログイン後にコピー

2. mysql_escape_string($string): mysql_query() クエリの文字列内の特殊文字をエスケープするには、バックスラッシュを使用します。

$username=mysql_escape_string($username);
ログイン後にコピー

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

$username=mysql_real_escape_string($username);
ログイン後にコピー

をエスケープしないオプションは 2 つあります:

1。PDO

$stmt = $pdo->prepare('SELECT * FROM user WHERE name = :name');
$stmt->execute(array(':name' => $name));
foreach ($stmt as $row) {
// do something with $row
}
ログイン後にコピー

2 を使用します。 mysqli を使用します

$stmt = $dbConnection->prepare('SELECT * FROM user WHERE name = ?');
$stmt->bind_param('s', $name);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// do something with $row
}
ログイン後にコピー

PHP 関連の詳細については、PHP 中国語 Web サイト!

を参照してください。

以上がSQL インジェクションを防ぐための 3 つの PHP 関数と 2 つのオプションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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