PHP で SQL インジェクション防止を実装する簡単な方法 PHP SQL データへの SQL インジェクションを防止する方法。

WBOY
リリース: 2016-07-29 08:52:28
オリジナル
1037 人が閲覧しました

この記事の例では、PHP で SQL インジェクション防止を簡単に実装する方法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです:

ここには、主に php と mysql の組み合わせのためのフィルタリングはあまりありません。

一般的なインジェクション防止には、PHP の addlashes 関数を使用してください。

以下はコピーされたコードです:

PHP コード:

$_POST = sql_injection($_POST);
$_GET = sql_injection($_GET);
function sql_injection($content)
{
if (!get_magic_quotes_gpc()) {
if (is_array($content)) {
foreach ($content as $key=>$value) {
$content[$key] = addslashes($value);
}
} else {
addslashes($content);
}
}
return $content;
}

ログイン後にコピー

システムを構築している場合は、これもコピーされた次のコードを使用できます。

PHP コード:

function inject_check($sql_str) {
 return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str);  // 进行过滤
}
function verify_id($id=null) {
 if (!$id) { exit('没有提交参数!'); }  // 是否为空判断
 elseif (inject_check($id)) { exit('提交的参数非法!'); }  // 注射判断
 elseif (!is_numeric($id)) { exit('提交的参数非法!'); }  // 数字判断
 $id = intval($id);  // 整型化
 return $id;
}
function str_check( $str ) {
 if (!get_magic_quotes_gpc()) {  // 判断magic_quotes_gpc是否打开
  $str = addslashes($str);  // 进行过滤
 }
 $str = str_replace("_", "\_", $str);  // 把 '_'过滤掉
 $str = str_replace("%", "\%", $str);  // 把 '%'过滤掉
 return $str;
}
function post_check($post) {
 if (!get_magic_quotes_gpc()) {  // 判断magic_quotes_gpc是否为打开
  $post = addslashes($post);  // 进行magic_quotes_gpc没有打开的情况对提交数据的过滤
 }
 $post = str_replace("_", "\_", $post);  // 把 '_'过滤掉
 $post = str_replace("%", "\%", $post);  // 把 '%'过滤掉
 $post = nl2br($post);  // 回车转换
 $post = htmlspecialchars($post);  // html标记转换
 return $post;
}

ログイン後にコピー

PHP 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください:「php プログラミング セキュリティ チュートリアル」、「php セキュリティ フィルタリング スキルの概要」、「PHP の操作とオペレータ」使用法の概要」、「PHP ネットワーク プログラミング スキルの概要」、「PHP 基本構文の入門チュートリアル」、「PHP Office ドキュメント スキルの概要 (Word、Excel、Access、PPT を含む)」、「PHP オブジェクト指向の入門チュートリアル」プログラミング』、『php 文字列の使い方のまとめ』、『PHP+MySQL データベース操作の入門チュートリアル』、『一般的な PHP データベース操作スキルのまとめ』

この記事が、PHP プログラミングに携わる皆様のお役に立てれば幸いです。

上記では、SQL インジェクション防止を PHP で簡単に実装する方法を、SQL と PHP の内容を含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

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