[英]How to sanitize this particular mysql query?
我收到此SQL查詢,其中post_title從$ _GET中獲取
$ sql =“從帖子中選擇ID,其中posts.post_title ='5-design-web-colourful'”;
對此進行消毒並使其更安全的最佳方法是什么?
編輯:(按要求)我正在嘗試創建一個插件,該插件可為每個未記錄的來賓隱藏特定類別(命名為private)及其所有帖子。 我已經鈎入“ pre_get_posts”和“ posts_selection”,它們能夠控制如何顯示管理員的特定帖子和類別,編寫這些帖子的成員,其他成員以及來賓。
該類別必須不存在。 因此它不能顯示在前端的cat存檔頁面上。
我知道這與問題無關,只是如何清理帖子的名稱/標題。 而已。
假設您使用MySQL,請使用mysql_real_escape_string
。
雖然這不能直接回答您的問題,但是更好的方法是使用綁定參數。 這樣可以保護您免受此類攻擊的所有侵害。
http://php.net/manual/zh/pdo.prepared-statements.php
http://www.php.net/manual/zh/pdostatement.bindparam.php
例如:
$sth = $dbh->prepare("select id from $wpdb->posts where $wpdb->posts.post_title = ?");
$sth->bindParam(1, $str);
$sth->execute();
注意:這假定$ wpdb是安全的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.