Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

24.04.2010, 12:57
|
|
Участник форума
Регистрация: 03.07.2006
Сообщений: 147
Провел на форуме: 438137
Репутация:
66
|
|
Сообщение от AtomoS
собственно возможно ли объеденить все функции в 1?
чтобы запросы были с проверкой на безопастность...
Да, не изобретать велосипел и использовать встроенные механизмы нормальной работы с БД. google://php pdo mysql
http://phpfaq.ru/slashes#prepared
|
|
|

24.04.2010, 12:59
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 199
Провел на форуме: 861008
Репутация:
58
|
|
PHP код:
function filtr($data)
{
$filter = array("select", "delete", "union", "update", "insert","\\", "'", ",", ";", "--", "-", "%20", "%27", " ", "`", "=", "%");
$filter_data = str_replace($filter, "", strtolower($data));
return $filter_data;
}
function sql($query = "", $param = array())
{
if (!is_array($param) || count($param) == 0)
{
return mysql_query(filtr($query));
}
else
{
foreach ($param as $key => $val)
{
$query = str_replace("{".$key."}", $val, $query);
}
return mysql_query(filtr($query));
}
}
tak?
|
|
|

24.04.2010, 13:19
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Такое обходится элементарно
selselectect
/*
()
|
|
|

24.04.2010, 14:53
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
ну а также UnIoN , upDate и т.п.
нольбайт тож пройдет...
короче, mysql_real_escape_string() в помощь...
только логику скрипта придется переделывать
|
|
|

24.04.2010, 14:58
|
|
Участник форума
Регистрация: 10.09.2009
Сообщений: 120
Провел на форуме: 2212846
Репутация:
56
|
|
AtomoS, защита от sql inj легко обходиться в твоем случае, зачем изобретать велосипед, для этого есть соотвествующие функции.
Числовые поля int или intval, текстовые mysql_real_escape_string(), при выводе всех значений на экран обрамлять в htmlspecialchars, вот и все и ненужно, никаких str_replace
Последний раз редактировалось Redwood; 24.04.2010 в 15:13..
|
|
|

24.04.2010, 15:01
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме: 262809
Репутация:
21
|
|
2Deathdreams and 2All
Объявил как global так и не решило задачу. Проглядел все твои месаги так и не нашел класса для верификации мыл. Код я набросал за 15 мин, мог бы сделать и ООП, но для тмоей задачи это из пушки по воробъям, если криво-та еще где-то укажи, сам не люблю гавно код. Проблема все таже не отправляеться пост запрос, не получаю куки.
|
|
|

24.04.2010, 15:04
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Сообщение от phpdreamer
ну а также UnIoN , upDate и т.п.
нольбайт тож пройдет...
Смена регистра не пройдет, в коде strtolower
|
|
|

24.04.2010, 15:13
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
Сообщение от wildshaman
Смена регистра не пройдет, в коде strtolower
упс, не заметил
тогда пройдет uni/**/on
|
|
|

24.04.2010, 16:28
|
|
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме: 36432
Репутация:
0
|
|
Здравствуйте, наверняка этот вопрос уже задавался, однако, после двух часов поиска, мои успехи ни чуть не изменились.
Заранее скажу, что есть два скрипта : "ВВод" и "Вывод"
Проблемма стара как мир : вставить в MySQL базу кириллические символы.
Суть в том, что я хочу вставить непосредственно со скрипта ВВОДА( написанном на php).
Например, у меня есть "<input type='text'...>", откуда я хочу вытянуть строку и закинуть ее в таблицу.
Кодировка таблицы : utf8_general_ci (пробовал и cp1251)
Кодировка поля в таблице - такая же (Пробовал и cp1251)
mysql_query('SET NAMES cp1251');(или utf8) - поставил сразу после подключения.
если вставлять через PHPMyAdmin - все чудесно вставляется и отображается(как в самом админе, так и в скрипте вывода).
Если вставлять через скрипт ввода, вытягивая строку из текстбокса, то админ отображает нечто такое : "³³³³", а скрипт вывода : "ûâàûâàûâ".
ЧТО Я ДЕЛАЮ НЕ ТАК, на что обратить внимание и вообще...как справиться с проблеммой.
___
version mysql 5,php 5
__
в му.ini везде кодировка стоит cp1251
Последний раз редактировалось Radical Edward; 24.04.2010 в 16:34..
|
|
|

24.04.2010, 16:38
|
|
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
Провел на форуме: 678893
Репутация:
102
|
|
PHP код:
<?php
header("Content-Type: text/html; charset=utf8");
//....коннект к бд
mysql_query("SET NAMES utf8");
?>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
<input type=text name="str" value="" ><input type=submit value="В бд">
</form>
<?php
if(!empty($_POST['str']) && !is_array($_POST['str'])) {
$result = mysql_query("INSERT INTO `table`(str) VALUES('".mysql_real_escape_string($_POST['str'])."')");
if($result == 1) echo "Успешно запостилось";
}
?>
не?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|