Кросссайт Скриптинг выходит

Прямо сейчас я пытаюсь отфильтровать все свои переменные, чтобы обеспечить мой сайт от xss. Я прочитал несколько вещей тут и там, и мне это кажется лучшим способом сделать, который должен был бы добавить в белый список все знаки, в которых я нуждаюсь для чисел я использую

$adrnr = preg_replace("/[^0-9]/", "", $adrnr);

но если это приходит к словам, я - haveing проблема, так как я немец, я должен был бы добавить Б в белый список, ä, ö, и ß - там способ сделать так?

1
nl ja de
preg_replace (" / [^0-9] * / "," ", $adrnr);
добавлено автор user1646111, источник

2 ответы

В то время как вы можете (или даже должен) фильтровать/преобразовывать/утверждать ваш вход, предотвращение XSS должно быть сделано для вашей продукции, потому что то, что необходимо сделать, основано на контексте. htmlspecialchars() спасает вас в большом количестве местоположений в вашей продукции, но не всего. Посмотрите Шпаргалка предотвращения OWASP XSS.

Для вашего контроля ввода немецких имен можно просто использовать это:

preg_match('/^[a-zA-ZäöüßÄÖÜ ]+$/', $nachname)
1
добавлено
@Chaos: Я написал о проверке. Таким образом, я использовал метод белого списка с целью показать ошибку пользователю. preg_replace - метод черного списка и таким образом только подходящий для (автоматического) преобразования/канонизации. Это зависит от какой you' ре, пытающееся достигнуть.
добавлено автор Francois Bourgeois, источник
есть ли способ сделать это с preg_replace?
добавлено автор Chaos, источник
Вы взяли меня некоторое время, чтобы добраться, как это работает, но это, кажется, решает мое проблемное спасибо
добавлено автор Chaos, источник

Просто необходимо использовать htmlspecialchars избежать случайных работ HTML.

0
добавлено
Нет никакой угрозы нарушения безопасности с htmlspecialchars, попытайтесь вставить некоторый HTML, you' ll видят.
добавлено автор Intrepidd, источник
Я проверяю свой код с netsparker и если я фильтрую его как этот $vorname = htmlspecialchars ($vorname, ENT_QUOTES, ' UTF 8\U 0026\\U 0023\39;); это все еще говорит мне, что есть угроза
добавлено автор Chaos, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp