Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Безопасный ввод текста [6]
Форумы портала PHP.SU » » Вопросы новичков » Безопасный ввод текста

Страниц (7): « 1 2 3 4 5 [6] 7 »
 

76. Hawkmoth - 01 Августа, 2012 - 19:51:08 - перейти к сообщению
LIME пишет:
а почему там комментарии отключены?
наверное надоело слушать что он идиот?



Копипаст первой ссылки из Яндекса был неудачной идеей.
Ссылку убрал. Рассматривайте предыдущий пост за моим авторством в качестве примера 'как не надо делать'

Улыбка
77. LIME - 01 Августа, 2012 - 19:54:29 - перейти к сообщению
Hawkmoth пишет:
вместо ... - действия в случае некорректного ввода id, например, принудительное присваивание id=1.
если использовать подход данный мной выше в случае не валидного ID он будет установлен в 0
это можно учесть в логике
78. KingStar - 01 Августа, 2012 - 19:57:13 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $_GET['id'] = abs((int)$_GET['id']);
  2. if (empty($_GET['id'])) { $_GET['id'] = 1; }


и вся логика Подмигивание
79. tuareg - 01 Августа, 2012 - 19:58:15 - перейти к сообщению
Если брать id страницы и т.д. То лучше вообще не дергаться, а оставить все как есть. Подставляем в запрос. Результата нет. Отдаем 404 NOT FOUND.
80. DelphinPRO - 01 Августа, 2012 - 19:58:40 - перейти к сообщению
LIME пишет:
DelphinPRO ну чтож не дал ответ?)
а думать кто будет? Улыбка
81. LIME - 01 Августа, 2012 - 19:58:47 - перейти к сообщению
del
82. KingStar - 01 Августа, 2012 - 20:00:19 - перейти к сообщению
Следующие значения воспринимаются как пустые:

"" (пустая строка)
0 (целое число)
0.0 (дробное число)
"0" (строка)
NULL
FALSE
array() (пустой массив)
var $var; (переменная объявлена, но не имеет значения в классе)

http://php.net/manual/ru/function.empty.php

Подмигивание
83. LIME - 01 Августа, 2012 - 20:01:03 - перейти к сообщению
tuareg пишет:
Если брать id страницы и т.д. То лучше вообще не дергаться, а оставить все как есть.
injections велкам!!!
рассматривайте это как способ фильтрации целочисленный значений
(Добавление)
KingStar ЕЕЕепрст!!!
пршу прощения
пост удаляю
84. tuareg - 01 Августа, 2012 - 20:05:37 - перейти к сообщению
LIME поясни...
PHP:
скопировать код в буфер обмена
  1.  
  2. $_GET['id']='инъекция';
  3. $id=(int)$_GET['id'];// $id=0 ??? Правильно
  4. $query='SELECT * FROM table WHERE id='.$id;
  5.  

И это будет выглядеть
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM TABLE WHERE id=0;
  3.  

Не?
85. LIME - 01 Августа, 2012 - 20:07:53 - перейти к сообщению
tuareg перечитай выше
и даже если так?
86. KingStar - 01 Августа, 2012 - 20:09:52 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $_GET['id']='инъекция';
  2. $id = abs((int)$_GET['id']);
  3. if (empty($_GET['id'])) { $_GET['id'] = 1; }
  4.  
  5. $query = 'SELECT * FROM table WHERE id='.$id;


и будет

PHP:
скопировать код в буфер обмена
  1. SELECT * FROM TABLE WHERE id=1;

(Добавление)
LIME, здесь empty вообще скудно описан
87. tuareg - 01 Августа, 2012 - 20:12:02 - перейти к сообщению

Я это и имел ввиду. Просто видно все переработал уже. Радость
88. pvm741 - 04 Августа, 2012 - 17:39:12 - перейти к сообщению
нашол ту интересный сайт, там применяетсь функцыя sprintf, кто нибуд исплолзует?

http://neverlex[dot]com/cat/programm[dot][dot][dot]l-php-functions/

А как ето реализовать с INSERT и UPDATE? Если надо в базу ввести несколко переменных? Принцип какбы понятен, но как сделать компактную структуру кода, лень моного писать, да и в коде потом трудно разобратся?


public function GetItemsByParam($table, $param, $value)
{
$t = "SELECT * FROM $table WHERE $param = '%s'";
$query = sprintf($t, mysql_real_escape_string($value));
$result = $this->msql->Select($query);

return $result;
}
89. DelphinPRO - 04 Августа, 2012 - 18:23:33 - перейти к сообщению
для этого существует mysqli
90. pvm741 - 04 Августа, 2012 - 19:37:18 - перейти к сообщению
DelphinPRO пишет:
для этого существует mysqli


а чем mysqli отлечяется от mysql ? С mysqli ненужno екраниравать данных применяя mysql_real_escape_string и sprintf?

я нашел вот токой вариант еще http://www[dot]meekro[dot]com/

 

Powered by ExBB FM 1.0 RC1