Использование GET в моем запросе query_posts плохо? (РГ) - PullRequest
0 голосов
/ 24 августа 2011
$category = $_GET['sortBy'];
query_posts(array('order' => 'ASC', 'cat' => $category));

Это угроза безопасности? Должен ли я дезинфицировать получить?

Ответы [ 4 ]

1 голос
/ 24 августа 2011

В WordPress это не обязательно.Но всегда имейте это в виду.

0 голосов
/ 24 августа 2011

Wordpress автоматически его санирует, вам не нужно об этом беспокоиться. Однако в этих случаях используйте

mysql_real_escape_string();
mysqli_real_escape_string();
0 голосов
/ 24 августа 2011

Да, вы должны очистить все переменные $_POST, $_GET и $_COOKIE.Вы можете использовать множество различных функций, одна из которых mysql_real_escape_string().Вы можете прочитать об этом много в интернете.Статья, которая может быть полезна для вас: this one.

Кроме этого, я всегда советую вам использовать $_POST переменные, потому что они не видны пользователю приотправка формы.В то время как $_GET переменные отображаются в адресной строке (например: http://www.website.com/submit.php?name=John&surname=Doe&activationkey=81sd6s1). Это делает очень простым для изменения пользователем с плохими намерениями. В то время как редактирование $_POST переменных требует немного большенавыки.

0 голосов
/ 24 августа 2011

Вы всегда должны очищать данные, поступающие из ненадежного источника; поскольку данные $ _POST и $ _GET (и $ _COOKIE) могут быть легко отредактированы пользователем для содержания вредоносного кода / значений мусора, вы всегда должны проверять их содержимое.

Как правило, я бы предложил позвонить mysqli_real_escape_string() или использовать подготовленные заявления как минимум. Однако, похоже, что вы используете WordPress, поэтому вам нужно просмотреть документацию по WordPress, чтобы увидеть, как (и если) они очищают параметры, передаваемые их функции query_posts().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...