Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Deadooshka


Сообщения: 2550
Благодарности: 697

Профиль | Отправить PM | Цитировать


это уязвимость на sql-injection.
подразумевается (вроде бы), что $value число, но не проверяется и не приводится к типу int. Сделайте хотя бы intval($value) или в условии and is_numeric($value).
Цитата qurbanoff@vk:
$searchEngine = $_GET;
foreach ($searchEngine as $key => $value)
{
if (!in_array($key, $disables) and $value !="" and $value != NULL)
{
preg_match_all('#int_(.*)_(.*)#', $key, $matches, PREG_SET_ORDER);
if($matches)
{
if($matches[0][1]=='start')
{
$searchQuery[] = "SUBSTRING_INDEX( SUBSTRING_INDEX( xfields, '{$matches[0][2]}|', -1 ) , '||', 1 )>$value";
}
else
{
$searchQuery[] = "SUBSTRING_INDEX( SUBSTRING_INDEX( xfields, '{$matches[0][2]}|', -1 ) , '||', 1 )<$value";
}
}
else »
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:44, 03-02-2014 | #2