亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP 初心者向けのデータベース セキュリティ

1.SQLインジェクションを防ぐ

いわゆるSQLインジェクションとは、Webフォームの送信にSQLコマンドを挿入したり、ドメイン名やページリクエストのクエリ文字列を入力したりすることで、最終的にはサーバーをだまして悪意のあるSQLコマンドを?qū)g行させます。

ユーザー入力を決して信頼すべきではありません。ユーザーが入力したデータは安全ではないと想定する必要があります。

たとえば、登録するとき、ユーザーはユーザーを入力する必要があります。名前、パスワードなど

このデータを受け取ったら、最初にフロントエンドページを使用して判斷します。すべてが合法になった後、私たちが受け取る情報(bào)は、たとえば、ユーザー名が登録されている場合、データベースにクエリを?qū)g行し、フォームに送信されたユーザー名情報(bào)に基づいて判斷する必要があります。は許可されていません。正規(guī)表現(xiàn)を使用してその形式を制御することもできます。たとえば、中國語または英語のみで、數(shù)語以內(nèi)にすることができます。お待ちください

フォームによって送信されたデータをフィルターすることもできます

SQL インジェクションを防ぐには、次の點(diǎn)に注意する必要があります:

· 1. ユーザー入力を決して信頼しないでください。ユーザーの入力を検証するには、正規(guī)表現(xiàn)を使用するか、一重引用符や二重 "-" などを変換して長さを制限できます。

· 2. SQL の動的アセンブリは決して使用しないでください。データのクエリとアクセスには、パラメーター化された SQL を使用するか、ストアド プロシージャを直接使用できます。

· 3. 管理者権限を持つデータベース接続は決して使用せず、アプリケーションごとに権限が制限された別のデータベース接続を使用します。

· 4. 機(jī)密情報(bào)を直接保存せず、パスワードや機(jī)密情報(bào)を暗號化またはハッシュ化します。

· 5. アプリケーションの例外情報(bào)は、できるだけ少ないプロンプトを表示する必要があります。カスタマイズされたエラー情報(bào)を使用して、元のエラー メッセージをパッケージ化するのが最善です。

· 6. SQL インジェクションの検出方法は、通常、補(bǔ)助ソフトウェアまたは Web サイトを採用します。プラットフォームの検出には、通常、ソフトウェアは SQL インジェクション検出ツール jsky を使用し、Web サイト プラットフォームには Yis Web サイト セキュリティ プラットフォーム検出ツールが含まれます。 MDCソフトスキャンなどMDCSOFT-IPS を使用すると、SQL インジェクション、XSS 攻撃などを効果的に防御できます。

SQL インジェクションを防ぐ

Perl や PHP などのスクリプト言語では、ユーザーが入力したデータをエスケープして SQL インジェクションを防ぐことができます。

PHP の MySQL 拡張機(jī)能は、特殊な入力文字をエスケープするための mysql_real_escape_string() 関數(shù)を提供します

<?php
    if (get_magic_quotes_gpc()) {
          $name = stripslashes($name);
    }
    $name = mysql_real_escape_string($name);
    mysql_query("SELECT * FROM users WHERE name='{$name}'");
?>

Like ステートメントへのインジェクション

Like クエリ、ユーザーが入力した値に "_" と "%" が含まれている場合、この狀況はユーザーは當(dāng)初「abcd_」のみをクエリしたいと考えていましたが、クエリ結(jié)果には「abcd_」、「abcde」、「abcdf」などが含まれていました。ユーザーは「30%」をクエリしたいと考えていました(注: 30%)。も発生する可能性があります。

次の例に示すように、PHP スクリプトでは addcslashes() 関數(shù)を使用して上記の狀況を処理できます。

學(xué)び続ける
||
<?php echo "hello world"; ?>