我为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) 您如何查询WMI名称空间?
所以我知道WMI命名空间,因为我读到它们退出了,我知道我可以连接说:
root\cimv2
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我不知道那里有什么命名空间,我将如何查询可用的命名空间?
我只是想探索WMI而不必查找每个命名空间.
我正在使用WBEMtest,但我会接受任何东西,.NET,winapi.h,你有什么.
在我的Fancybox完全关闭并且页面恢复正常后,我试图触发第二个jquery函数.我尝试使用onClosed fancybox属性,但不是在关闭框之后发生,而是在框打开之前发生(在页面加载时,因为我将fancybox设置为在页面加载时打开).我错过了什么?
$(document).ready(function () {
$("a#splash").trigger('click');
$("a#splash").fancybox({
'autoScale': false,
'transitionIn': 'none',
'transitionOut': 'none',
'type': 'inline',
'hideOnContentClick': true,
'overlayOpacity': 1,
'onClosed': alert('testing')
});
});
Run Code Online (Sandbox Code Playgroud) 我试图使用trim修剪数据,但仍然没有修剪:它在每一行后显示新的行和空格.
我做错了还是不可能,还是我必须使用其他任何功能?任何帮助非常感谢.
sqlite> select distinct trim(date_start) from test;
2011-03-22 08:00:00.0
2011-03-22 09:00:00.0
Run Code Online (Sandbox Code Playgroud) 我正在做一个C家庭作业项目而且我非常迷失.本质上,我必须使函数称为多数,它接受3个短整数,并根据输入吐出另一个数字.我将从项目中给出一个例子:
基本上,我创建函数majority(101010101010101, 101010101010101, 101010101010101),如果该位有2个或更多1,则返回1,否则返回0.
到目前为止,我有
short majority(short a, short b, short c)
{
return (a | b | c);
}
Run Code Online (Sandbox Code Playgroud)
现在,我知道这是不对的,在所有的,所以我在这里问:我怎么会去这样做呢?感谢您的帮助,如果有点难以理解,我深表歉意.我可以根据需要进行编辑.
有没有什么好的方法可以将属性绑定到代码隐藏中的const值?
当我使用ComboBox时,我通常在xaml和代码后面这样做:
XAML:
<ComboBox Name="cbBuz">
<ComboBoxItem Content="foo" Uid="foo" IsSelected="true" />
<ComboBoxItem Content="bar" Uid="bar" />
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
ComboBoxItem item = cbBuz.GetSelectedItem();
switch (item.Uid)
{
case "foo": ... break;
case "bar": ... break;
}
Run Code Online (Sandbox Code Playgroud)
我选择这种方式的原因如下:
但是,在维护方面,内部标识符应该在一个地方定义,如下所示:
//IDs
public const string ID_foo = "foo";
public const string ID_bar = "bar";
...
//
switch (item.Uid)
{
case ID_foo: ... break;
case ID_bar: ... break;
}
Run Code Online (Sandbox Code Playgroud)
问题是看似属性不能是const值,所以没有办法将ID_foo和ID_bar绑定到ComboBoxItem的Uid,如下所示:
//If ID_foo and ID_bar are properties, this will work.
<ComboBox Name="cbBuz">
<ComboBoxItem Content="foo" Uid="{Binding ID_foo}" IsSelected="true" …Run Code Online (Sandbox Code Playgroud) 我试图检查添加以下约束,但Oracle返回如下所示的错误.
ALTER TABLE Table1
ADD (CONSTRAINT GT_Table1_CloseDate
CHECK (CloseDate > SYSDATE),
CONSTRAINT LT_Table1_CloseDate
CHECK (CloseDate <= SYSDATE + 365)),
CONSTRAINT GT_Table1_StartDate
CHECK (StartDate > (CloseDate + (SYSDATE + 730))));
Run Code Online (Sandbox Code Playgroud)
错误:
Error report:
SQL Error: ORA-02436: date or system variable wrongly specified in CHECK constraint
02436. 00000 - "date or system variable wrongly specified in CHECK constraint"
*Cause: An attempt was made to use a date constant or system variable,
such as USER, in a check constraint that was not completely …Run Code Online (Sandbox Code Playgroud) 我在计算生物物理实验室工作.我不是程序员,虽然我得到报酬就像一个人.这是我的问题:该实验室的主要产品是一个巨大的(50多个源文件)C程序.我需要让我们的实验室程序与另一个实验室的工具包一起工作,这恰好是一系列C++库(.a文件)的形式.我可以使用以下makefile为我们的程序编译主库:
CC = gcc
#CC = icc
CFLAGS = -g -Wall
#CFLAGS = -xT -openmp -I/opt/local/include -I/usr/local/include -I/opt/GDBM/include
#CFLAGS = -O3 -g -Wall -I/opt/GDBM/include -fopenmp
LIB = mcce.a
AR = ar
ARFLAGS = rvs
SRC = all.c ddvv.c geom_3v_onto_3v.c ins_res.c strip.c\
app.c del_conf.c geom_apply.c line_2v.c vdotv.c\
avv.c del_prot.c geom_inverse.c load_all_param.c vector_normalize.c\
avvvv.c del_res.c geom_move.c load_param.c vector_vminusv.c\
cpy_conf.c det3.c geom_reset.c mxm4.c vector_vplusv.c\
cpy_prot.c det4.c geom_roll.c new_prot.c vector_vxv.c\
cpy_res.c dll.c get_files.c param_get.c param_exist.c\
db_close.c dvv.c iatom.c param_sav.c\
db_open.c free_strings.c ins_conf.c plane_3v.c pdbline2atom.c\ …Run Code Online (Sandbox Code Playgroud) 我的应用程序创建了每个需要唯一条形码编号的优惠券.此数字必须是正整数,且必须介于6到12位之间.此号码代表唯一的优惠券,因此该号码必须是唯一的.我不能简单地将条形码数量增加1,因为这样可以让黑客轻松猜出其他优惠券条形码.
如果我有优惠券数据库表,我该如何生成这个随机条形码编号并保证唯一性?
我正在计算百分比.一个例子是38589/38400
所以百分比是100*(38589/38400),等于100.4921875,但结果显示为100.
如何让它以x个小数显示?
同样,如果我希望2显示为2.000000,那么同样的工作会是什么?
谢谢!