Легко, когда у тебя армия программистов и военный сундук, полный денег.
Это не ракетостроение.Они идентифицируют случай уязвимости и, вероятно, кодируют его с помощью Regex и Javascript на внешнем интерфейсе, а также тщательной внутренней проверки, чтобы гарантировать, что данные не будут скомпрометированы до вставки.Это то же самое, что мы все должны делать, за исключением того, что для Ebay он гораздо более зрелый, чем тот, над которым работает большинство из нас, и FAR больше.
Если это что-то вроде банка, в котором я работал, у них естькоманда PAS, которая занимается поиском мелких ошибок в продуктах, открытием билетов у инженеров и отслеживанием процесса в приоритетном порядке.Между разработчиками, тестировщиками, менеджментом качества и PAS нет никаких причин, по которым уязвимость должна выходить из строя, но если она случится, она должна быстро реагировать.на этот вызов, если вы планируете идти по этому пути.Начните с того, чтобы изначально заблокировать JavaScript.Затем улучшите, чтобы разрешить - some-- с помощью метода, который вы считаете безопасным, - и разрешите только то, что безопасно, по мере продолжения.Продолжайте этот процесс, позволяя все больше и больше, ловя крайние случаи, когда они появляются в тестировании или производстве.Постепенно вы перейдете от разрешения того, что разрешено, к блокированию того, что не разрешено.Хотя это должно быть понятно, даже самые передовые компании упускают из виду основную концепцию управления и улучшения жизненного цикла.
При этом при попытке санации входных данных лучше всего комбинировать методы проверки как на стороне, так и на стороне сервера.Интерфейс обеспечивает более интуитивную быструю обратную связь с клиентами, но, как и любой другой язык на стороне клиента, могут быть преодолены опытными пользователями.Проверка бэкэнда - это ваш брандмауэр, гарантирующий, что все, что ускользает от внешнего интерфейса, обрабатывается надлежащим образом.Ваша БД - это ваш спасательный круг, поэтому защищайте ее любой ценой!
Если у вас нет армии и огромного бюджета, вы пытаетесь кодировать для каждого крайнего случая что-то столь широкое, как CMS, которое позволяет вводить почти карт-бланш почтивсегда заканчивается проигрышным финансовым предприятием.