Обсуждение:PHP

Материал из Абсурдопедии
Перейти к навигацииПерейти к поиску

Учиться программировать надо на смешных примерах, а не злых примерах[править]

Код echo $_GET['money'] (и его вариации) — это не пример кода, а пример известнейшей уязвимости в мире (HTML injection). Данные из непроверенного источника выводятся без какого-либо escaping (в параметр ?money=что-то можно впихнуть любой HTML, включая вредоносные скрипты, и он отобразится на сайте). Не надо так. Edward Chernenko? 13:49, 28 июня 2020 (UTC)

Это не я. Я вообще не знаю ничего такого!--К. П.1. 14:23, 28 июня 2020 (UTC)
Это участнику 0 :) Edward Chernenko? 14:30, 28 июня 2020 (UTC)
У нас метод GET применяется довольно активно, насколько я знаю. Например, при редактировании. (/w/index.php?title=&action=edit&section= и т.д.) Но деньги им действительно переводить не надо. Можно, перезагружая, перевести ещё. Это понятно. Спасибо. Но здесь это шутка, может, не очень смешная, но шутка. 0 и голуби (°|¡\🌑|_|В|^|🐦)(|ð|xièxie) 14:40, 28 июня 2020 (UTC)
1) По программированию. GET тут ни при чём. С POST совершенно то же самое. Ты выводишь при помощи echo неизвестные данные, полученные от пользователя, и не пропускаешь их через вещи типа htmlspecialchars() — это называется «баг». Любое использование GET, POST или иных "непроверенных данных" должно сопровождаться проверкой "действительно ли это то, что мы ожидаем" или вызовом метода "сделать это значение безопасным для [...например, вывода в HTML-страницу...]". 2) По статье. Вид кода с HTML-инъекцией вызывает у программиста уныние и грусть, а не улыбку. Edward Chernenko? 15:05, 28 июня 2020 (UTC)
При помощи JS на стороне пользователя нетрудно контролировать вводимые данные. Если форма создаётся js, то это нельзя обойти, отключив js. 0 и голуби (°|¡\🌑|_|В|^|🐦)(|ð|xièxie) 18:18, 28 июня 2020 (UTC)
Погугли "HTML injection", "XSS" и "CSRF" и не заставляй меня пересказывать тебе учебник. Edward Chernenko? 19:53, 28 июня 2020 (UTC)