この記事の例では、PHP でページング パラメータをフィルタリングして SQL インジェクションを防ぐ方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
ネットワークセキュリティに関する限り、インターネット上の入力情報は一切信頼しないでください。入力情報に対してパラメータフィルタリングを実行する必要があります。これに関して、まず次の例を見てみましょう:
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
PHP4環境でSQLインジェクションを防ぐコードを書きましたが、実際に使ってみるとPHP5でも互換性がありますので、どなたでも改変してご利用ください。
コードは次のとおりです:
/*
sqlinアンチインジェクションクラス
*/
class sqlin
{
//dowith_sql($value)
function dowith_sql($str)
{
$str = str_replace(" と ","",$str);
$str = str_replace("実行","",$str);
$str = str_replace("更新","",$str);
$ str = str_replace( "count","",$str);
$str = str_replace("chr","",$str);
$str = str_replace("mid","",$str);
$str = str_replace ("master","",$str);
$str = str_replace("truncate","",$str);
$str = str_replace("char","",$str);
$str = str_replace("宣言","",$str);
$str = str_replace("選択","",$str);
$str = str_replace("作成","",$str) ;
$str = str_replace("削除","",$str);
$str = str_replace("挿入","",$str);
$str = str_replace("'","",$str) );
$ str = str_replace(""","",$str);
$str = str_replace(" ","",$str);
$str = str_replace("または","",$str );
$ str = str_replace("=","",$str);
$str = str_replace("%20","",$str);
//echo $str;
return $str;
}
//aticle() SQLインジェクション防止関数
function sqlin()
{
foreach ($_GET as $key=>$value)
{
$_GE...残りのテキスト>>
基本的には、htmlspecialchars() と mysql_escape_string() の 2 つのメソッドを使用して、取得したパラメータを処理します。 。