|
|
|
|
|
для: Николай2357
(17.02.2010 в 13:56)
| | А если даже внешние, то не факт, что очистка массивов от magic quotes к моменту обращения к БД уже не была проведена. | |
|
|
|
|
|
|
|
для: cheops
(17.02.2010 в 13:52)
| | Потому что не факт, что это внешние данные. | |
|
|
|
|
|
|
|
для: Loki
(15.02.2010 в 18:01)
| | Почему? Многие кстати, именно этот способ пропагандируют - он более безопасен в плане повторного экранирования. | |
|
|
|
|
|
|
|
для: pavluxa09
(14.02.2010 в 20:31)
| | >if (get_magic_quotes_gpc()) $v = stripslashes($v);
убило наповал | |
|
|
|
|
|
|
|
для: ddhvvn
(14.02.2010 в 21:20)
| | Не моглибы помочь составить функцию которая будет фильтровать строку чтоб потом её можно было безопасно использовать при SQL запросе? | |
|
|
|
|
|
|
|
для: pavluxa09
(14.02.2010 в 20:48)
| | Из всего вышеприведенного реальную пользу можно получить вот от этого (даже догадываюсь, откуда этот код... :) :
function db_make_query()
{
$tml = $this->args;
$tml[0] = str_replace('%', '%%', $tml[0]);
$tml[0] = str_replace('?', '%s', $tml[0]);
foreach ($tml as $i => $v)
{
if (!$i) continue;
if (is_int($v)) continue;
if (get_magic_quotes_gpc()) $v = stripslashes($v);
$tml[$i] = "'" . mysql_real_escape_string($v,$this->connect) . "'";
}
for ($i = $c = count($tml) - 1; $i < $c + 20; $i++)
{
$tml[$i + 1] = "UNKNOWN_PLACEHOLDER_$i";
return call_user_func_array("sprintf", $tml);
}
}
|
Правда этот код еще нужно "почистить".
Только зачем эту функцию реализовывать через класс и методы? Можно было просто написать эту функцию отдельно и потом подключать. Вот именно она-то и может помочь защититься от SQL-вставок...
Скока раз уже говорили: класс для БД нужно разрабатывать так, чтобы он мог работать с разными БД (MySQL, PostgreSQL и др.)...
Только тогда он имеет смысл. Зачем писать просто обертки для стандартных функций PHP? В них нет никакого смысла и уж тем более удобства. | |
|
|
|
|
|
|
|
для: pavluxa09
(14.02.2010 в 20:31)
| | >Хотел поделится хорошим классом для работы с MYSQL
http://php.net/mysqli | |
|
|
|
|
|
|
|
для: pavluxa09
(14.02.2010 в 20:42)
| | Для начала следует убрать вот эту строку
if (get_magic_quotes_gpc()) $v = stripslashes($v);
|
| |
|
|
|
|
|
|
|
для: Тень&
(14.02.2010 в 20:47)
| | Предложи что лучше. Я же не просто так создал тему в помощь молодежи, а чтоб узнать что есть получше. | |
|
|
|
|
|
|
|
для: pavluxa09
(14.02.2010 в 20:42)
| | [поправлено модератором] | |
|
|
|
|