|
|
1
5
一个词:服务器端验证(好的,可能是三个词)。 |
|
|
2
3
在其他答案中有很多合理的建议,但我将添加一个较少的“编程”答案:
做好准备,以防恶意用户从你身边偷偷溜走。制定计划以减轻损害,恢复干净完整的数据,并与用户(以及潜在的其他相关方,如您持有的任何信用卡详细信息的发行人)沟通,告诉他们发生了什么。知道如何发现漏洞并关闭它。要知道关键的运营和开发人员是可以联系到的,因此,一个坏人在公共假日前的周五下午5:01发动袭击,在你下线之前不会有72个小时以上的空闲时间,更不用说开始解决问题了。
|
|
|
3
2
如果您需要解决与“安全性”相关的问题,那么安全性和漏洞利用是软件生命中的一个事实,它们需要作为开发过程的一部分迎面解决。 以下是一些建议:
|
|
4
1
用粗体字写起来很容易,但在实践中要做到这一点要难一些。 |
|
|
5
1
我经常做的事情是将所有用户字符串包装到一个对象中,比如
因此,当您使用“echo userString”时,会出现一个类型错误,然后会提醒您通过公共方法对字符串进行编码/转义。 其他一些一般事项:
|
|
|
6
1
首先,我想通过指出偏执狂是好的来安慰你。就像开车时有点害怕是好的一样,害怕用户输入也是好的。尽可能多地假设最坏的情况,你就不会失望。 第二,防御性编程。假设你与外部世界的任何交流都被完全破坏了。只接受用户应该能够控制的参数。仅公开用户应该能够看到的数据。 清理输入。消毒消毒。如果是将在网站上显示的输入(排行榜的昵称、论坛上的消息等),请对其进行适当的清理。如果它是可能发送到SQL的输入,也要对其进行清理。事实上,甚至不要直接编写SQL,而是使用某种中介。
但别担心。无论你在什么系统上构建,很多安全细节都会得到处理(你是在什么东西上构建的,不是吗?春季MVC?轨道?Struts?)。其实没那么难。如果牵涉到大笔资金,你可以付钱给一家安全审计公司,试图打破它。如果没有,那就试着想想一切合理的办法,一旦发现漏洞就修补。
还有一个提示。如果您有如下javascript:
|
|
|
7
0
“引用”所有内容,使其在“目标”语言中没有任何意义:SQL、HTML、JavaScript等。 当然,这会造成阻碍,因此您必须小心地确定何时需要特殊处理,例如通过管理权限来处理某些if数据。 |
|
|
8
0
有多种类型的注入和跨站点脚本(请参阅 this earlier answer ),但它们都有防御措施。首先,您显然需要查看存储过程、白名单(例如,对于HTML输入)和验证。 除此之外,很难给出一般性的建议。其他人给出了一些很好的建议,比如总是进行服务器端验证和研究过去的攻击。 保持警惕,但不要害怕。 |
|
|
9
0
|
|
|
10
0
应该有一些您正在使用的语言/系统的已知漏洞的文档。我知道Zend PHP认证涵盖了这一问题,您可以阅读学习指南。 为什么不雇佣一位专家来不时审核你的申请呢?考虑到你的关注程度,这是一项值得的投资。 |
|
|
11
0
我们的客户总是说:“与我的用户打交道,因为他们不区分日期和文本字段!!”
我用Java编写代码,代码中充满了
|
|
|
12
0
#对我来说,第一件事就是始终构造静态SQL查询,并将数据作为参数传递。这极大地限制了您必须处理的报价问题。另见 http://xkcd.com/327/ 这还具有性能优势,因为您可以重用准备好的查询。 |
|
|
13
0
实际上,您只需要注意两件事:
这就是全部。您不必担心数据的格式。就跟你处理这件事的方式差不多。 |
|
|
Nifas · Python:将用户输入用作dict键时出现键错误 8 年前 |
|
|
LalaJava · Java方法字符模式-初学者 8 年前 |
|
|
Richard Yudkiss · 重置之前,基本计算器需要多个输入 8 年前 |
|
|
f.lechleitner · R-多行上的readline提示 8 年前 |
|
|
JoshingYou · 我无法运行此程序[已关闭] 8 年前 |
|
|
Nic · 用于记录用户选择的响应图像 8 年前 |