最近、私はトピック投票 Web サイトで働いていたのですが、クライアントはプログラミングについてある程度の知識を持っていました。 SQL インジェクションを防ぐために一部の文字をフィルタリングするには特別な要件があります。もともとこの分野には特別な研究はありませんでした。はは、また利用主義を推し進めてますね。 discuz フォーラムから SQL アンチインジェクション関数を入手してください。
コードをコピーします コードは次のとおりです:
$magic_quotes_gpc = get_magic_quotes_gpc();
@extract(daddslashes($_POST)); @抽出(ダッドスラッシュ($ _GET));
if(!$magic_quotes_gpc) {
$_FILES = ダッドスラッシュ($_FILES)
}
関数 ダッドスラッシュ($string, $force = 0) {
if(!$GLOBALS) ['magic_quotes_gpc'] || $force) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = godslashes($val, $ force);
}
} else {
$string =addlashes($string);
}
}
return $string;
サーバーのセキュリティを保護するために、次のコードを強化できます。 SQL インジェクションのセキュリティ関数を防ぐために PHP にとって重要です。
コードをコピー
コードは次のとおりです: /* 関数名: inject_check()
関数機能: 送信された値にSQLインジェクション文字が含まれているかどうかを検出し、インジェクションを防止し、サーバーのセキュリティを保護します
パラメータ: $sql_str : 投入された変数
戻り値 : 検出結果、true または false を返す
*/
function inject_check($sql_str) {
return eregi('select|insert|and|or|update|delete|'|/*|* | ../|./|union|into|load_file|outfile', $sql_str); // フィルター
}
/*
関数名: verify_id()
関数関数: 送信された ID クラス値が正しいかどうかを検証します
パラメータ: $id: 送信されたID値
戻り値: 処理されたIDを返す
*/
function verify_id($id=null) {
if (!$id) { exit('パラメータが送信されていません!' } / / 空かどうかの判定
elseif (inject_check($id)) { exit('提出されたパラメータが不正です!') } // インジェクションの判定
elseif (!is_numeric($id)) { exit('Submittedパラメータが不正! '); } // 数値判定
return $id;
関数名: str_check()
関数関数: string
パラメータ: $var: 処理対象の文字列
戻り値: フィルタリングされた文字列を返す
*/
function str_check( $str ) {
if (!get_magic_quotes_gpc()) { // magic_quotes_gpc
$str を開くかどうかを判断= addlashes($str); // フィルター
}
$str = str_replace("_", "_", $str) // '_' をフィルターします
$str = str_replace( "%", "%" , $str); // '%' を除外
return $str;
}
/*
関数名: 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 タグを変換します
http://www.bkjia.com/PHPjc/322808.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/322808.html
技術記事
最近、私はトピック投票 Web サイトで働いていたのですが、クライアントはプログラミングについてある程度の知識を持っていました。 SQL インジェクションを防ぐために一部の文字をフィルタリングするには特別な要件があります。もともとこの分野には特別な研究はありませんでした。はぁ…