Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: подскажите strip_tags удаляет HTML и PHP тэги?

Сообщения:  [1-10]   [11-15] 

 
 автор: ~AquaZ~   (16.04.2010 в 14:55)   письмо автору
 
   для: хер_веревкин   (16.04.2010 в 11:28)
 

strip_tags() действительно бред и служит для крайне узкого круга задач. Нармальные люди обрабатывают данные HtmlSpecialChars() и MySQL_real_escape_string().
Legenda, лишние \ сами из задницы не вырастают, а появляются в результате работы чудо-програмеров, т.н. двойной обработки.

  Ответить  
 
 автор: tvv123456   (16.04.2010 в 14:43)   письмо автору
 
   для: Legenda   (16.04.2010 в 14:07)
 

>И убрать экранирующие \ если они есть, про это вы запамятовали.
Вы внимательней прочитайте. Это первым пунктом идет.
А если вы берете из базы то что планируете вывести в браузер, то никаких экранирующих слешей в базе быть не должно

  Ответить  
 
 автор: Legenda   (16.04.2010 в 14:07)   письмо автору
 
   для: tvv123456   (16.04.2010 в 11:42)
 

> А что вы понимаете под фильтра для строк
Любая функция (или набор функций), для обработки полученных данных.

> Перед выводом в браузер нужно использовать htmlspecialchars()
И убрать экранирующие \ если они есть, про это вы запамятовали.

  Ответить  
 
 автор: tvv123456   (16.04.2010 в 11:42)   письмо автору
 
   для: Legenda   (16.04.2010 в 11:27)
 

>Слышали, как вариант фильтра для строк.
А что вы понимаете под фильтра для строк

Дак вот: для формы регистрации(да и не только) нужно:
-убрать магические кавычки,
- все строковые значения которые используються в запросе обработать mysql_real_escape_string(непосредствено перед запросом).
Надеюсь понятно что если шифруете пароль в md5допустим, то обрабатывать его не имеет смысла.

Перед выводом в браузер нужно использовать htmlspecialchars()

И не нужно мудрствовать и говорить людям что они ничего не понимают в написании безопасных скриптов. Вы пришли за советом, а когда вам их дают начинаете отстаивать совершенно левые утверждения

  Ответить  
 
 автор: хер_веревкин   (16.04.2010 в 11:28)   письмо автору
 
   для: Trianon   (15.04.2010 в 10:47)
 

[поправлено модератором]

  Ответить  
 
 автор: Legenda   (16.04.2010 в 11:27)   письмо автору
 
   для: tvv123456   (16.04.2010 в 11:24)
 

Слышали, как вариант фильтра для строк.
Только лучше mysql_real_escape_string()

  Ответить  
 
 автор: tvv123456   (16.04.2010 в 11:24)   письмо автору
 
   для: Legenda   (16.04.2010 в 10:41)
 

Слышали что-ниблудь про mysql_escape_string или htmlspecialchars?

  Ответить  
 
 автор: Legenda   (16.04.2010 в 11:23)   письмо автору
 
   для: DJ Paltus   (16.04.2010 в 11:20)
 

Так извиняюсь за банальность, фильтры и настраиваются под конкретные задачи. Если нужно к примеру проверить является ли переменная числом, один фильтр. Если нужно проверить является ли переменная строкой, другой фильтр, а не пороть полную чушь утверждая что фильтры не нужны... Другой вопрос что за фильтры и под какие задачи заточены.

  Ответить  
 
 автор: DJ Paltus   (16.04.2010 в 11:20)   письмо автору
 
   для: Legenda   (16.04.2010 в 10:41)
 

Не ссорьтесь, горячие финские программисты.
Трианон имел в виду, что данные надо не фильтровать, вырезая теги и портя не только инъекции, но и смысл вводимого юзером поста, а ОБРАБАТЫВАТЬ таким образом, чтобы он мог и код послать в пост, и sql-запрос показать другим, и сделал это легко и ненапряжно, и на выходе получил такую же безобидную строчку
<?php mysql_query("drop table `users`"); ?>

которая влезла в БД и вылезла из нее, не став за это время ни инъекцией, ни обрубком "отфильтрованного" текста.

  Ответить  
 
 автор: Legenda   (16.04.2010 в 10:41)   письмо автору
 
   для: Trianon   (15.04.2010 в 10:47)
 

> Вот здесь, в этом форуме, Вы можете написать любой код. Вообще любой!
И этот любой код, вместо того, чтобы пройти SQL-инъекцией, будет заботливо положен в базу и оттуда из нее изъят при просмотре.

И это типо без фильтров - бред!
Просто взяли все введенные данные $_POST['xxx'] и без всякой обработки кинули в БД ???
Примерно так:


mysql_query("INSERT INTO table (text) VALUES ('".$_POST['xxx']."')");



И кто после вышесказанного, тут бред написал... Любые данные пред тем как передать их на заливку в БД нужно обязательно проверять. А если вы этого не делаете, то вам самим нужно картошку грузить и асфальт укладывать!

  Ответить  

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования