Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » DEL

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10

Открыть новую тему     Написать ответ в эту тему

SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Terabyte, например, $go = isset($_GET['go']) ? $_GET['go'] : DEFAULT_GO_VALUE; - но всё зависит от решаемых задач.
Cheery, ну это всё же разные вещи, хотя конечно же по той ссылке говориться так же и про get_magic_quotes_gpc.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 22:13 05-04-2005
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Terabyte
if (isset($_GET['go']))
{
   $go = $_GET['go']
}
else
{
   $go = false;
}

----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 22:20 05-04-2005 | Исправлено: xntx, 22:21 05-04-2005
urodec



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди. Такой вопрос. Про SQL инъекции понятно, про инклуд понятно. Не понятно самое простое - про $_GET массив... Как обезопасить себя? Достаточно ли всем переменным применить addslashes(), или же preg_match(), или же через switch часть сделать?

Всего записей: 711 | Зарегистр. 17-01-2003 | Отправлено: 22:28 02-08-2005
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urodec

Цитата:
Достаточно ли всем переменным применить addslashes(), или же preg_match(), или же через switch часть сделать?

для чего и от чего?  
что значит "или же preg_match(), или же через switch часть сделать"??
прежде чем что либо сделать.. нужно понять для чего это делается, а не просто как дань моде.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:32 02-08-2005 | Исправлено: Cheery, 22:32 02-08-2005
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Не понятно самое простое - про $_GET массив... Как обезопасить себя?
А от чего там "обезопасываться", если
Цитата:
Про SQL инъекции понятно, про инклуд понятно.
?
Цитата:
всем переменным применить addslashes()
Знания поверхностны. Лечится чтением PHP FAQ:  \"Кавычки \". Cоставление запросов mysql, слеши, экранирование кавычек. трижды в день.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 23:12 02-08-2005
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Знания поверхностны. Лечится чтением PHP FAQ:  \"Кавычки \". Cоставление запросов mysql, слеши, экранирование кавычек. трижды в день.

Database_Placeholder: PHP, MySQL, безопасность и «плэйсхолдеры»

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 00:34 03-08-2005
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk, вообще то там есть ссылка на placeholder Котерова (+ PEAR::DB). Это конечно же, если статью читать. Да и вопрос его последний к БД, насколько я понимаю, отношения не имеет, а делать addslashes везде где только заблагорассудится - не только бессмысленно, но и не нужно - слэши, скорее, нужно удалять, если вам повезло с хостингом и он их добавляет. Поскольку более вредного действа представить сложно. Тем более, если пользовать placeholder.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 07:30 03-08-2005
urodec



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SiMM
Спасибо. Трижды в день могу повторить, что SQL мне всё ясно!
Не ясно что делать с переменныит типа $_GET.  
Ведь если переменную задать $_GET['s'] = "asddasd ' adasd", то в некоторых случая это приведёт к ошибкам... Вот и спрашиваю как себя обезопасить?

Всего записей: 711 | Зарегистр. 17-01-2003 | Отправлено: 11:12 03-08-2005
N Sensey N



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urodec

Цитата:
Ведь если переменную задать $_GET['s'] = "asddasd ' adasd", то в некоторых случая это приведёт к ошибкам...

------------------------------
бред
 
проблемы с ковычками могут быть при хранении данных или их выводе в html
причем это даже не проблемы... а от незнания...

----------
sPaiz-Nuke - Free PHP CMS Web Design and Development Портал для израильтян

Всего записей: 1409 | Зарегистр. 01-10-2002 | Отправлено: 11:39 03-08-2005 | Исправлено: N Sensey N, 11:41 03-08-2005
urodec



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
N Sensey N
Т.е. только при записи sql и print могут быть проблемы?  Других случаев почти не существует. Т.е. если у меня переменная $_GET не участвует в конструкциях типа

Цитата:
 include()
print()
$sql =
 
то я могу её и не проверять?  

Всего записей: 711 | Зарегистр. 17-01-2003 | Отправлено: 13:21 03-08-2005
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Т.е. если у меня переменная $_GET не участвует в конструкциях типа ... то я могу её и не проверять?  
Откуда мы знаем, для чего ты её применяешь? Может и не надо, а может и надо - зависит от КОНКРЕТНОГО случая.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 14:31 03-08-2005
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urodec
Золотое правило: если что-то где-то используешь, предположи на минутку что там может оказаться всё что угодно и подумай как себя будет вести скрипт в худшем случае.
Потому что действительно нельзя сказать что и на что надо проверять если не видно что у тебя скрипт делает. Для некоторых скриптов в $_GET надо alter и union фильтровать например или admintrue

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 14:41 03-08-2005
zenia



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Стоит PHP Version 4.3.2
на RedHat
 
Есть несколько сайтов, у них есть формы обратной связи.
Так вот эти формы ломают, рассылают спам.
 
Можно ли на уровне сервера не возможность ломать эти формы.
 
Например, сделать чтоб Php не посылало на адреса кроме избранных.

Всего записей: 151 | Зарегистр. 17-01-2003 | Отправлено: 09:58 31-01-2006
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Есть несколько сайтов, у них есть формы обратной связи.  Так вот эти формы ломают, рассылают спам.

что там ломать, они в свободном доступе.

Цитата:
Можно ли на уровне сервера не возможность ломать эти формы.

Разьяснить
РНР не будет посылать письма так:
$email="bob@bobo.ru";//введенное значение
$emails_valid=array("support@bobo.ru","webmaster@bobo.ru","hackme@bobo.ru");//имэйлы, на которые можно посылать письма
if(in_array($email,$emails_valid)){
//отправляешь письма...
}

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 10:25 31-01-2006
zenia



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
РНР не будет посылать письма так:
$email="bob@bobo.ru";//введенное значение
$emails_valid=array("support@bobo.ru","webmaster@bobo.ru","hackme@bobo.ru");//имэйлы, на которые можно посылать письма
if(in_array($email,$emails_valid)){
//отправляешь письма...
}

 
 
Это я так понимаю это в скрипте нужно прописывать?
 
А если варианты, чтоб типа в php как-то настроить, чтоб не было таких проблем.
Просто сайты эти делали разные люди, вобщем они просто хостяться, так за всеми и не уследишь, когда они поставили форму отсылки.
Интересно как с этим боряться хостиноговые компании?

Всего записей: 151 | Зарегистр. 17-01-2003 | Отправлено: 10:43 31-01-2006
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Они просто накладывают ограничения для программы sendmail и исходящих коннектов к smtp серверам.
Например на агаве sendmail отправляет только 1 письмо, сколько бы запросов к нему не было в минуту.
Скажи им менять скрипты.

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 11:15 31-01-2006
Church



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Есть несколько сайтов, у них есть формы обратной связи.  
Так вот эти формы ломают, рассылают спам.  

 
Есть дырка при разработке таких форм, но мало, кто о ней знает/говорит.
 
Если в форму вводится e-mail отправителя и оно не проверяется, то можно сделать нечто такое:
 

Код:
 
<?php
$from="from@localhost.root\nBcc: for_spam1@localhost.root, for_spam2@localhost.root, for_spam2@localhost.root";
 
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$from. "\r\n";
$to='for_spam0@localhost.root';
$message='СПАМ';
$subject='СПАМ';
mail($to, $subject, $message, $headers);
?>
 

Всего записей: 1199 | Зарегистр. 05-09-2003 | Отправлено: 12:19 31-01-2006 | Исправлено: Church, 12:19 31-01-2006
sket4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
либо используй константу, и уже ей присваивай значения адресов, все просто.

Всего записей: 712 | Зарегистр. 07-05-2004 | Отправлено: 13:12 31-01-2006
Church



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
либо используй константу, и уже ей присваивай значения адресов, все просто.

Константе значения?

Всего записей: 1199 | Зарегистр. 05-09-2003 | Отправлено: 13:16 31-01-2006
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Самое правильное решение это  
e-mail'ы выбираются из списка выбора, дабы не доверять ввод данных юзеру
Так как велика вероятность ввода данных с постороннего сайта, проверять место прибытия формы.

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 14:52 31-01-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10

Компьютерный форум Ru.Board » Интернет » Web-программирование » DEL


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru