我所知道的一家公司正在讨论如何在其所有Web应用程序产品中确定其密码安全策略.
现在,他们通过HTTP在POST表单中发送用户名/密码身份验证,因此,他们正在发送纯文本.
解决这个问题最简单的方法就是要求HTTPS在所有应用程序中登录,对吧?
好吧,有一些内部讨论,而不是做一些自己的客户端密码加密(密码+盐等).
是否有可接受的仅HTTP解决方案?
意见就像......好吧,每个人都有意见,所以我正在寻找可以支持你的建议的可靠安全文献.不要只是google并将我发送到博客文章......我已经做到了这一点.
我找到了OWASP的建议:http: //www.owasp.org/index.php/Top_10_2007-A7#Protection
以及微软的:http: //msdn.microsoft.com/en-us/library/aa302420.aspx
编辑:提供使用SSL的建议是不够的.我需要某种支持文档.我知道滚动我们自己的客户端加密是不好的.我需要能够可靠地将其出售给同事和管理层.
此外,还提到了HTTP Digest.看起来不错,但Digest仅用于HTTP身份验证,而不适用于通过POST发送的数据.
我需要类似于这两个SO问题,但使用Informix SQL语法.
我的数据如下:
id codes
63592 PELL
58640 SUBL
58640 USBL
73571 PELL
73571 USBL
73571 SUBL
Run Code Online (Sandbox Code Playgroud)
我希望看到它像这样回来:
id codes
63592 PELL
58640 SUBL, USBL
73571 PELL, USBL, SUBL
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何在Python中从字符串转换为布尔值?我找到了这个链接.但它看起来不是一个正确的方法.即使用内置功能等.
我问这个的原因是因为我int("string")从这里学到了.我试过bool("string")但总是得到True.
>>> bool("False")
True
Run Code Online (Sandbox Code Playgroud) 想象一下,我有方法:
public static void funcA() {...}
public static void funcB()
{
byteBuffer.wrap(someByteArray, 0, someByteArra.length);
}
Run Code Online (Sandbox Code Playgroud)
IN JAVA API:
public static ByteBuffer wrap(byte[]array, int offset, int length)
{
try {
return new HeapByteBuffer(array, offset, length);
} catch (IllegalArgumentException x) {
throw new IndexOutOfBoundsException();
}
}
Run Code Online (Sandbox Code Playgroud)
函数链:funcB() - > ByteBuffer.wrap()
我的问题是为什么funcB不需要围绕抛出异常的java api方法执行try-catch块.没有try-catch块,funcB编译得很好.我相信答案与java api方法抛出异常这一事实有关但是因为"抛出IndexOutOfBoundsException"而不是DECLARED
函数链:funcA() - > funcB() - > ByteBuffer.wrap(...)
我的下一个问题是,当我不要改变funcB为"funcB()抛出IndexOutOfBoundsException异常"怎么FuncA的并不需要赶上funcB的抛出的异常?编译器是否深入挖掘并意识到ByteBuffer.wrap(...)未被声明为"wrap()抛出IndexOutOfBoundsException"因此所有调用者实际上不需要捕获任何内容甚至是子调用者(在本例中为funcB)被声明为"funcB抛出IndexOutOfBoundsException"?
对不起,如果那令人困惑或难以理解.
请帮忙.
JBU
我有一个像这样结构的表:
CREATE TABLE [TESTTABLE]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[DateField] [datetime] NULL,
[StringField] [varchar](50),
[IntField] [int] NULL,
[BitField] [bit] NULL
)
Run Code Online (Sandbox Code Playgroud)
我执行以下代码:
BEGIN
INSERT INTO TESTTABLE (IntField, BitField, StringField, DateField)
VALUES ('1', 1, 'hello', {ts '2009-04-03 15:41:27.378'});
SELECT SCOPE_IDENTITY()
END
Run Code Online (Sandbox Code Playgroud)
然后
select * from testtable with (NOLOCK)
Run Code Online (Sandbox Code Playgroud)
我的结果显示:
2009-04-03 15:41:27.*377*
Run Code Online (Sandbox Code Playgroud)
为DateField列.
任何想法为什么我似乎失去了一毫秒?
我尝试在构建应用程序时尽可能地保持RESTful,但我不确定的一件事是如何创建向导类型的工作流程,RESTful和简洁.
例如,采用多页注册流程.
选项1:我可以为每个步骤创建一个控制器,并在用户进入该步骤(或返回到该步骤)时调用new或edit.我以step1_controller,step2_controller等结束...
选项2:我可以使用参数,会话变量,状态机 - 无论如何创建一个控制器并跟踪它们在注册过程中的位置.所以我有signup_controller/step?id = 1
第一个选项是严格的REST,但不是很简洁,最后是一些额外的控制器.第二个选项更简洁,但打破了REST,我愿意这样做,但我不会掉以轻心.
有更好的选择吗?
我在rails上使用ruby,但是这个问题适用于其他MVC实现,比如ASP.NET MVC
我怎么能在where语句中使用别名.
示例:
SELECT SUBSTRING(Column1, 1, 4) + SUBSTRING(Column1, 4, 3) AS Col1
FROM MyTable
WHERE Col1 = 'MySearch'
Run Code Online (Sandbox Code Playgroud)
我使用MSSQL 2005
我正在尝试建立一个系统,要求用户指定他们提交的内容类型,使用PNG图标来表示每种类型.理想情况下,我想要的是一组三个按钮(上面有图像),其行为类似于单选按钮 - 用户可以使用箭头键在它们之间切换,它们被视为一组,等等.然而,这似乎是不可能的,而我能得到的最接近的是将图像与预先存在的单选按钮放在一起.有没有一种"伪造"这种功能的好方法?
在StackOverflow和其他网站上花了几个小时阅读有关单元测试和测试驱动开发的文章后,我知道两件事:
这里有很多关于细节,最佳实践等的好帖子,但我要找的是初学者教程/介绍 - 甚至可能是一本书.
我从哪里开始?假设我什么都不知道.:)
method_missing的
*obj.method_missing(符号h,args i)→other_obj
当obj被发送一个它无法处理的消息时,由Ruby调用.symbol是被调用方法的符号,args是传递给它的任何参数.下面的示例创建一个类Roman,它响应名称由罗马数字组成的方法,返回相应的整数值.method_missing的更典型用法是实现代理,委托和转发器.
class Roman
def roman_to_int(str)
# ...
end
def method_missing(method_id)
str = method_id.id2name
roman_to_int(str)
end
end
r = Roman.new
r.iv ! 4
r.xxiii ! 23
r.mm ! 2000
Run Code Online (Sandbox Code Playgroud)
我刚刚听说方法缺失,并在Ruby编程中找到了更多信息,但本书引用的上述解释是我的头脑.有没有人有更简单的解释?更具体地说,方法缺失仅由解释器使用,或者是否需要直接在程序中调用它(假设我只是编写Web应用程序,而不是为NASA编写代码)?
sql ×3
.net ×1
asp.net-mvc ×1
boolean ×1
chaining ×1
css ×1
exception ×1
group-concat ×1
html ×1
http ×1
https ×1
informix ×1
java ×1
one-to-many ×1
owasp ×1
python ×1
rest ×1
ruby ×1
security ×1
sql-server ×1
string ×1
tdd ×1
unit-testing ×1