Блоки Expression_Host продолжают расти в числах

Это отбрасывает таблицу студентов.

исходный код в программе школы, вероятно, смотрит что-то как [1 119]

q = "INSERT INTO Students VALUES ('" + FNMName.Text + "', '" + LName.Text + "')";

, Это - наивный способ добавить ввод текста в запрос и очень плохо , как Вы будете видеть.

После значений от имени, текстовое поле второго имени FNMName. Текст (который является Robert'); DROP TABLE STUDENTS; --), и текстовое поле фамилии LName. Текст (позволяют нам назвать его Derper) связывается с остальной частью запроса, результат теперь на самом деле два запроса разделен разделитель оператора (точка с запятой). Второй запрос был , ввел в первое. Когда код выполнит этот запрос против базы данных, это будет похоже на это

INSERT INTO Students VALUES ('Robert'); DROP TABLE Students; --', 'Derper')

, который, без обиняков, примерно переводит в два запроса:

Добавляют, что новая запись на таблицу Students со значением Имени 'Robert'

и

Удаляет таблицу

Students, Все мимо второго запроса отмечено как комментарий : --', 'Derper')

' на имя студента не комментарий, это - закрытие строковый разделитель . Так как имя студента является строкой, необходимо синтаксически завершить гипотетический запрос. Инжекция набрасывается только на работу , когда SQL-запрос они вводят результаты в допустимом SQL.

, Отредактированный снова согласно dan04 проницательный комментарий глоток> глоток>

6
задан Huberto 20 July 2009 в 14:52
поделиться

1 ответ

Я уже нашел решение. В элементе управления reportviewer вы можете указать выполнение отчета в так называемой изолированной программной среде:

`rpv1.LocalReport.ExecuteReportInSandboxAppDomain();`

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

4
ответ дан 17 December 2019 в 07:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: