上文說到數(shù)據(jù)庫自帶的不安全輸入過濾功能,但這樣的功能不是所有數(shù)據(jù)庫都有的。目前大概只有MySQL,SQLite,PostgreSQL,Sybase帶有這樣的功能,而包括Oracle和SQL Server在內的 " /> 色橹橹欧美在线观看视频高清,免费播放美女一级毛片,三级色视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP與SQL注入攻擊[三]

這幾天太忙,繼續(xù)連載哈哈,爭取半個月結束。

上文說到數(shù)據(jù)庫自帶的不安全輸入過濾功能,但這樣的功能不是所有數(shù)據(jù)庫都有的。目前大概只有MySQL,SQLite,PostgreSQL,Sybase帶有這樣的功能,而包括Oracle和SQL Server在內的很多數(shù)據(jù)庫都沒有。

鑒于這樣的情況,一般開發(fā)者采用一種通用的方法來避免不安全的數(shù)據(jù)寫入數(shù)據(jù)庫--base64編碼。這樣可以避免所有可能引起問題的特殊字符造成的危險。但Base64編碼后的數(shù)據(jù)容量大概會增加33%,比較占用空間。在PostgreSQL中,使用Base64編碼數(shù)據(jù)還有個問題,就是無法使用'LIKE'查詢。

所以總結這么多,我們知道光靠數(shù)據(jù)庫自身的字符串屏蔽也是不行的。我們需要一種解決方案,在特殊字符影響到我們的Query語句之前,就把危險的字符過濾掉。預定義查詢(Prepared queries/prepared statements)是一個非常好的方法。什么是預定義查詢呢? 它就相當于一個查詢語句的模板,定義了查詢語句的結構和某些部份的數(shù)據(jù)類型。如果我們提交的SQL語句符合這個模板的定義,就執(zhí)行,否則就不執(zhí)行,報出錯誤。

例如:

pg_query($conn, “PREPARE stmt_name (text) AS SELECT * FROM users WHERE name=$1”);
pg_query($conn, “EXECUTE stmt_name ({$name})”);
pg_query($conn, “DEALLOCATE stmt_name”);

PREPARE stmt_name (text) AS ..定義了一個查詢的格式,這里除了$1之外的所有字符都是占位符,不允許更改。呵呵,我覺得這種方法實在是個好方法。不過可惜不是所有數(shù)據(jù)庫都支持。。

php技術PHP與SQL注入攻擊[三],轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 最近日本字幕MV免费观看在线 | 亚洲精品久久午夜麻豆 | 99国产精品偷窥熟女精品视频 | 亲胸揉胸膜下刺激视频网站APP | 婷婷亚洲AV色香蕉蜜桃 | 国产午夜精品AV一区二区麻豆 | 老湿机一区午夜精品免费福利 | 国内精品国内自产视频 | 亚洲欧美一区二区三区导航 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片潮喷动漫 | 日韩午夜影院 | 男女疯狂一边摸一边做羞羞视频 | 樱花草在线影视WWW日本动漫 | 精品亚洲一区二区三区在线播放 | 柏木舞子在线 | 天津相声广播在线收听 | 私密按摩师在线观看 百度网盘 | 边做边爱BD免费看片 | 一本色道久久综合亚洲精品 | 2021国产精品久久久久精品免费网 | 国产热久久精 | 双手绑在床头调教乳尖 | 成人国产在线24小时播放视频 | 国产精品久久久久影院免费 | 日韩AV片无码一区二区三区不卡 | 色综合久久天天影视网 | 高傲教师麻麻被同学调教123 | 国产真实露脸乱子伦 | 久久日韩精品无码一区 | 亚洲精品久久久久无码AV片软件 | 中国少妇内射XXXX狠干 | 国产小伙和50岁熟女23p | 无码天堂亚洲内射精品课堂 | 无码任你躁久久久久久久 | 李丽莎与土豪50分钟在线观看 | 中文乱码35页在线观看 | 少妇无套内谢久久久久 | 全黄h全肉细节文在线观看 全黄H全肉细节文短篇 | 免费一级片网站 | 丰满大爆乳波霸奶 | 午夜免费啪视频观看视频 |