Я разработал пользовательскую веб-часть для SharePoint и обеспокоен ее безопасностью. Веб-часть, по сути, представляет собой структуру викторины, которая начинается с того, что пользователь регистрируется; они просто вводят свое имя и адрес электронной почты. Для успешных тестов результат записывается в список, и эти регистрационные переменные помещаются непосредственно в список.
Должен ли я быть обеспокоен атаками SQL-инъекций? Экранируются ли данные SharePoint до их добавления в список? Или SharePoint использует именованные параметры с подготовленным оператором? Или же это просто дословно?
Спасибо за понимание.
UPDATE
Возможно, мне следует перефразировать, что я вставляю код в список SharePoint, чтобы он не попадал «напрямую» в базу данных. Я не уверен относительно процесса, который происходит (особенно в отношении безопасности), когда элемент вставляется в список и (я предполагаю) где-нибудь в таблицу базы данных. Вот часть кода, который я использую:
Получить пользовательский ввод через стандартный ввод HTML
output.Write("<div>Please enter your e-mail address</div><div><input type=\"text\" value=\"\" size=\"30\" name=\"takerEmail\"></div>");
Вот как вставляются данные
using (SPSite siteSuccessWrite = new SPSite("http://www.mycompany.com"))
{
using (SPWeb webSuccessWrite = siteSuccessWrite.OpenWeb())
{
SPList insertResults = webSuccessWrite.Lists[resultsList];
SPListItem quizEntry = insertResults.Items.Add();
quizEntry["firstName"] = firstName;
quizEntry["lastName"] = lastName;
quizEntry["email"] = email;
quizEntry["phone"] = phone;
quizEntry["department"] = dept;
quizEntry["score"] = score;
quizEntry.Update();
}
}