Sharepoint数据库安全 - SQL注入

Eri*_*ari 4 c# sql asp.net sharepoint

我为SharePoint开发了一个自定义Web部件,我担心它的安全性.Web部分本质上是一个测验框架,首先是用户'注册'; 他们只需输入他们的姓名和电子邮件地址 对于成功的测验,结果将记录在列表中,并且这些注册变量将直接放入列表中.

我应该关注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>");
Run Code Online (Sandbox Code Playgroud)

以下是数据的插入方式

            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();
                }
            }
Run Code Online (Sandbox Code Playgroud)

Mic*_*tum 5

使用对象模型时,您不必担心SQL注入,因为Sharepoint会为您处理(它在内部使用参数化存储过程).

虽然在向用户/评判者展示测验结果时,你不得不担心XSS等,因为未转义的HTML可以轻松地调用SharePoint Web服务/客户端对象模型并在当前用户的上下文中执行操作.