簡體   English   中英

如何清理這個特定的mysql查詢?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM