ホームページ  >  記事  >  バックエンド開発  >  PHP は SQL インジェクションを防止します

PHP は SQL インジェクションを防止します

巴扎黑
巴扎黑オリジナル
2016-11-22 15:43:591058ブラウズ

一般的なインジェクション防止には、PHP の addlashes 関数を使用します。

Phpコード

$_POST = sql_injection($_POST);

$_GET = sql_injection($_GET);

function sql_injection($content) { _magic_quotes_gpc()) {

if (is_array($content)) {

foreach ($content as $key=>$value) {

$content[$key] =addslashes($value);

addlashes($content) ; $sql_str); // フィルタリング

}

PHP コード

/**

* 関数名: inject_check()

* 関数の機能: 送信された値に SQL インジェクション文字が含まれているかどうかを検出し、インジェクションを防止し、サーバーのセキュリティを保護します

* パラメーター: $sql_str: 送信された変数

* 戻り値 : を返しますテスト結果、真か偽

*/

function verify_id($id=null) {

if (!$id) { exit('パラメータが送信されていません!'); } // null かどうかの判定

elseif (inject_check($id)) { exit('送信されたパラメータが不正です!') } // インジェクション判定 elseif (! / / 数値判定

/**

* 関数名: verify_id()

* 関数: 送信されたID値が正当かどうかを検証する

* パラメータ: $id: 送信されたID値

* 戻り値: 処理されたIDを返す

*/

function str_check ( $str ) {

if (!get_magic_quotes_gpc()) { // _quotes_gpc はオープンしています

$str = addlashes($str); // フィルタリング

}

$str = str_replace("_", "_", $str); // '_' を除外します

$str = str_replace("%", "%", $str); // '% を除外します' フィルタリング

return $str;

}

Php コード

/**

* 関数名: post_check()

* 関数: 投稿された編集コンテンツを処理する

* パラメータ: $post: 投稿するコンテンツ

* 戻り値: $post: フィルターされたコンテンツを返す

*/ function post_check($post) {

if (!get_magic_quotes_gpc()) { // magic_quotes_gpc がオープンかどうかの判定

$post = addlashes($post) // magic_quotes_gpc がオープンでない場合は送信されたデータをフィルタリングする }

} $post = str_replace("_ ", "_", $post); // '_' を除外します

$post = str_replace("%", "%", $post) // '%' を除外します

$post = nl2br($post); // 変換を入力します $ post = htmlspecialchars ($ post); // HTML マーキング変換

}

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