为了确保不受信任的数据不会被错误地用于计算,交易或解释为代码,人们会将污点视为安全预防措施.
通过内置语言功能跟踪污点比通过编码约定或依赖代码审查进行跟踪更清晰,更可靠.
例如,来自用户的输入通常可以被认为是"不可信的",直到它被正确地消毒以便插入数据库.通过将输入标记为污染,Ruby确保实现令人满意的卫生并防止潜在的SQL注入攻击.
对于一个"古代"(2005)编码实践的例子,该实践演示了如何在没有Perl和Ruby模块的情况下跟踪污点,请阅读一些古老的Joel:
http://www.joelonsoftware.com/articles/Wrong.html
在Perl中编写CGI时,它曾经是一种非常标准的做法. 甚至有一个常见问题解答. 基本思想是运行时间可以保证您不会隐含地信任受污染的值.
| 归档时间: |
|
| 查看次数: |
2194 次 |
| 最近记录: |