Просто хочу понять мышление здесь и прийти к правильному и принятому подходу к этой проблеме. Для контекста это находится в веб-среде, и мы говорим об экранировании при вводе в базу данных.
Я понимаю, что многие причины не ускользают от ввода при вводе пользователя и хранении его в базе данных. Вы можете использовать этот ввод различными способами (как JSON, так и SMS и т.д.), И вы также можете показать этот ввод пользователю в его первоначальной форме.
Прежде чем вкладывать что-либо в базу данных, мы гарантируем, что для защиты базы данных не применяются атаки SQL-инъекций.
Однако следуя принципам, изложенным здесь и здесь, они предлагают подход сохранения пользовательского ввода как есть. Этот пользовательский ввод может быть не атакой SQL-инъекций, но может быть и другим вредоносным кодом. В этих случаях нормально хранить атаки XSS на основе Javascript в базе данных?
Я просто хочу знать, правильны ли мои предположения, все ли мы в порядке с хранением вредоносного кода в базе данных, пока этот вредоносный код напрямую не влияет на базу данных? Это случай, когда проблема не связана с базой данных, она может содержать этот вредоносный код и его выходное устройство, чтобы избежать ошибок вредоносного кода?
Или нужно ли нам больше избегать ввода, чем предлагалось этими принципами - возникают ли проблемы безопасности перед идеей выхода на выход? Должен ли мы использовать такой подход, чтобы вредоносный код не попадал в базу данных? Почему мы все равно хотим хранить вредоносный код?
Каков правильный подход для сохранения вредоносного кода в базу данных в контексте среды веб-клиента/сервера?
[Для целей этого я игнорирую любые сайты, которые специально позволяют использовать код для них, я думаю о "нормальных" входах, таких как поля "Имя", "Комментарий" и "Описание".]