ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

mysql & php
  #1  
Старый 05.12.2008, 18:25
Аватар для barnaki
barnaki
Познающий
Регистрация: 02.11.2008
Сообщений: 87
Провел на форуме:
93223

Репутация: 14
Question mysql & php

есть такой вывод базы данных
while ($output = mysql_fetch_assoc($result)) {

echo $output["id_msg"].<br />;
;
echo $output["name"].'<br />';
echo $output["city"].'<br />';
echo $output["email"].'<br />';
echo $output["url"]. '<br />';
echo $output["msg"].'<br />';
echo $output["answer"].'<br />'.'<a href="admin/add_answer.php">написать ответ</a><br />'; //наверное тут
echo $output["puttime"].'<br />';
// echo $output["hide"].'<br />';
}
как ПРАВИЛЬНО добавить GET чтобы передать id_msg в add_answer.php чтобы использовать его для связи с таблицей записи (это гостевая книга)
 
Ответить с цитированием

  #2  
Старый 05.12.2008, 18:43
Аватар для [x26]VOLAND
[x26]VOLAND
Moderator - Level 7
Регистрация: 07.06.2006
Сообщений: 556
Провел на форуме:
7549607

Репутация: 2702


Отправить сообщение для [x26]VOLAND с помощью ICQ Отправить сообщение для [x26]VOLAND с помощью AIM
По умолчанию

В текст запроса добавь ' WHERE id_msg=$_GET['id']'
И про фильтрацию не забудь
 
Ответить с цитированием

  #3  
Старый 05.12.2008, 18:58
Аватар для optimazer
optimazer
Познающий
Регистрация: 04.12.2008
Сообщений: 46
Провел на форуме:
148562

Репутация: 57
По умолчанию

... секунду
нет нет

просто в своей ссылке добавь
<a href="admin/add_answer.php?VAR=$output['id_msg']">написать ответ</a>

а в файле add_answer.php ловишь эту переменную $_GET['VAR']
вместо VAR как ты понимаешь любое имя переменной написать можно!
______

параметры get передаются после разделителя "?" парами переменная=значение разделенные символом "&"

пример:
<a href="www.lll.ru?var1=zn1&var2=zn2"></a>
 
Ответить с цитированием

  #4  
Старый 05.12.2008, 19:03
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

Цитата:
strip_tags() - вырезает теги HTML и PHP из строки.

htmlspecialchars() — конвертирует только специальные символы (’&’, ‘”‘, ”’, ‘<’ и ‘>’) в HTML сущности (’&amp;’, ‘&quot;’…). Используется для фильтрации вводимых пользователем данных для защиты от XSS-атак.

htmlentities() - конвертирует все символы в строке (кроме букв) в мнемоники HTML. Используется для защиты от XSS, являясь более гибким аналогом htmlspecialchars.

stripslashes() - удаляет заэкранированные символы (после преобразования в сущности предыдущими функциями их незачем экранировать). Обычно используется в связке с проверочной функцией get_magic_quotes_gpc(), показывающей текущую установку конфигурации magic_quotes_gpc.

mysql_real_escape_string - мнемонизирует специальные символы в строке для использования в операторе SQL с учётом текущего набора символов в кодировке соединения. Иными словами, функция превращает любую строку в правильную и безопасную для MySQL-запроса. Используется для очистки всех данных, передающихся в MySQL-запрос для защиты от SQL-инъекций.
PHP код:
$id=strip_tags(htmlentities($_GET['id']));
......
' WHERE id_msg='.$id
 
Ответить с цитированием

  #5  
Старый 05.12.2008, 19:04
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

optimazer, твой запрос sql уязвим!
 
Ответить с цитированием

  #6  
Старый 05.12.2008, 19:27
Аватар для optimazer
optimazer
Познающий
Регистрация: 04.12.2008
Сообщений: 46
Провел на форуме:
148562

Репутация: 57
По умолчанию

2eLWAux
спс
_______
тогда исправляюсь
перед использованием переданного параметра отфильтровать всякую ересь

PHP код:
$_GET=array_map('htmlspecialchars',$_GET);
$_GET=array_map('strip_tags',$_GET);
$_GET=array_map('mysql_escape_string',$_GET); 
для удобства в случае если передается несколько параметров
можно работать с ними как с массивом $_GET
не проверяя каждый параметр по отдельности
 
Ответить с цитированием

  #7  
Старый 05.12.2008, 19:55
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

optimazer Эт типа, давайте просто так, ради смеха испортим весь массив $_GET
eLWAux Тож ниче так, забавно получится, что вы собираетесь убрать strip_tags после того, как преобразовали <> в сущности?

Так как ID у автора скорее всего число, то достаточно делать запрос:
PHP код:
mysql_query("SELECT * FROM table WHERE id='".intval($_GET['id'])."'"); 
Все, скули не будет, а вот для результата, лучше будет все же использовать array_map('htmlspecialchars',$output);

Всем читать - http://forum.antichat.ru/thread30641.html

Последний раз редактировалось Gifts; 05.12.2008 в 19:58..
 
Ответить с цитированием

  #8  
Старый 06.12.2008, 16:02
Аватар для optimazer
optimazer
Познающий
Регистрация: 04.12.2008
Сообщений: 46
Провел на форуме:
148562

Репутация: 57
По умолчанию

2Gifts а почему испортим то? =) ты часто спец.символы get-ом передаешь? =))
по хорошему нада все данные на валидность проверять
а если id не число, а генерированная символьная последовательность?
 
Ответить с цитированием

  #9  
Старый 06.12.2008, 16:08
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

optimazer ссылка дадена просто для красоты наверн. Если символьная - mysql_real_escape_string()

Не поверишь, гетом можно передать что угодно, а как часто - это уже дело десятое. Может я хочу md5 не в хекс строке передать?
 
Ответить с цитированием

  #10  
Старый 06.12.2008, 16:26
Аватар для optimazer
optimazer
Познающий
Регистрация: 04.12.2008
Сообщений: 46
Провел на форуме:
148562

Репутация: 57
По умолчанию

2Gifts
чтобы охватить весь спектр угроз безопасности нужно проверять на валидность данных весь массив get
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31
Защищаем MySql. Шаг за шагом k00p3r Чужие Статьи 0 13.06.2005 11:18



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ