какой код может повредить мой сайт

#html #tags

#HTML #Теги

Вопрос:

Я хочу убедиться, что мошеннические пользователи не смогут повредить мой сайт или базу данных, вставив код в мои поля ввода. Какой код я должен использовать для его тестирования? Я знаю, что есть html-теги, такие как iframe, но я не знаю, что поместить внутрь, чтобы проверить это.

Спасибо.

Комментарии:

1. 1 — не уверен, почему кто-то проголосовал за вас, так как я бы подумал, что это законный вопрос нового пользователя. Хотя можно было бы лучше сформулировать как поиск указателей на рекомендации по безопасности веб-страниц.

2. Какую базу данных вы используете? На какой веб-технологии основан сайт?

3. Спасибо за 1. Я использую MS SQL server с asp. На самом деле, я больше отношусь к окну чата, чем к полю ввода.

Ответ №1:

HTML

Я думаю, что использование htmlspecialchars (doc) (это функция в PHP, но другой язык может иметь аналогичную функцию) или использование других систем разметки (?), Таких как phpBB и MediaWiki, будет работать. Использование тегов HTML с помощью тегов черного / белого списка может работать, но это довольно опасно — взломщик может нанести вред вашему сайту путем XSSing.

Например, вы можете подумать, что разрешено разрешать только p , br , img , font , a (кстати, это нехорошо использовать font , когда можно использовать CSS), но XSS можно выполнить с помощью ввода <img src="asdf" onerror="alert('hi')"/> или <a href="javascript:alert('hi')"> .

SQL

Вы должны знать о SQL-командах с внедрением SQL-кода.

Примером SQLi является :

введите описание изображения здесь

Способ избежать SQLI’d в PHP — это использовать mysql_real_escape_string (doc).

Комментарии:

1. Альтернативный способ избежать SQL-инъекций — использовать подготовленные инструкции .

Ответ №2:

Вы могли бы прочитать о SQL-инъекциях

Комментарии:

1. Спасибо. Как насчет тегов html?

Ответ №3:

Вставьте специальные символы, особенно ' , ? , " , $ , ; , , и . Если ваш сайт не выходит из строя на них, вы на правильном пути.

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

Ответ №4:

Это действительно зависит от архитектуры и взаимодействия пользователя с вашим сайтом. Внедрение SQL в поля, введенные пользователем, является типичной атакой на системы, которые используют базы данных для входа пользователей и т. Д. Отсюда ограничения на символы, вводимые в пользовательские поля, и их проверку перед использованием.

«О твоем сыне …» «О, маленький Билли!удалить таблицы ?»