ホームページ  >  記事  >  バックエンド開発  >  PHP SQL アンチインジェクション コード集_PHP チュートリアル

PHP SQL アンチインジェクション コード集_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:52:031089ブラウズ

SQL アンチインジェクション コード 1

コードをコピーします コードは次のとおりです:

/**
* アンチ SQL インジェクション
* @author: zhuyubing@gmail.com
**/
/**
* SQL インジェクションを拒否する
*/
if (!function_exists (quote))
{
function quote($var)
{
if (strlen($var))
{ $var :tripslashes($var); var = str_replace(" '","'",$var);
}
return "'$var'"
}
}
if (!function_exists (hash_num)){
function hash_num($input)
{
$hash = 5381 ;
for ($i = 0; $i < strlen($str); $i++)
$c = ord($str{$i});ハッシュ << 5) + $hash) + $c
}
/**************** 終わり *************************/





;
コードは次のとおりです:

/**
* 防御sql测试代码
CREATE TABLE IF NOT EXISTS `tb` ( `id` int(10) unsigned NOT NULL auto_increment, `age` tinyint(3) unsigned NOT NULL, `name` char(100) NOT NULL、`note` テキスト NOT NULL、
主キー (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
**/
include_once('common.php');
var_dump(hash_num('dddd')); _GET))
{
$_GET = array('年齢'=>'99','名前'=>'a'b\'c";','note'=>"a'b'nc #");
}
$age = (int)$_GET['age'];
$name = quote($_GET['name']);
$note = quote($_GET['note']) ;
$sql = "INSERT INTO ` tb` ( `age`, `name`, `note`)
($age, $name, $note)";


PHP SQL インジェクション関数コード 2:




コードをコピーします

コードは次のとおりです:


$magic_quotes_gpc = get_magic_quotes_gpc();ラッシュを追加($_COOKIE ));
@extract(daddslashes($_GET));
if(!$magic_quotes_gpc) { $_FILES = daddslashes($_FILES); $string, $force = 0) {
if(! $GLOBALS['magic_quotes_gpc'] || $force) {
if(is_array($string)) {
foreach($string as $key => $val) { $string[$key] = dadslashes($val , $force) } } else { $string =addslashes($string)
}
return $string?>


php SQL インジェクションを防ぐコード 3




コードをコピーする

コードは次のとおりです:


function inject_check($sql_str) { //インジェクションを防ぐ
$check = eregi('select|insert| update|delete|'|/*|*|../|./ |union|into|load_file|outfile', $sql_str);
if ($check) {
echo "不正な挿入コンテンツを入力してください! ";
exit ();
} else {
return $sql_str;
}
}
function checkurl() { //ソースをチェック
if (preg_replace("/httpstutorial?://([^:/] +).*/i", "1", $_server['http_referer']) !== preg_replace("/([^:]+).*/", "1", $_server['http_host'] )) {
header("location: http://s.jb51.net");
exit() }
//Call
$str = $_get['url']; ;
inject_check($sql_str);//パラメータを取得するときに実行できます

http://www.bkjia.com/PHPjc/319028.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/319028.html

技術記事

SQL アンチインジェクション コード 1. 次のようにコードをコピーします。 ?php /*** SQL インジェクションを防止 * @author: zhuyubing@gmail.com **/ /*** SQLインジェクトを拒否する*/ if (!function_exists (quote)) { function quo...





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