我需要检查我所有的asp代码,以防止SQL注入。
我应该也检查会话对象吗?
会话是如何被劫持的?
谢谢你!!
发布于 2008-12-09 09:14:09
会话可以被劫持。如果我没记错的话,经典ASP只支持基于cookie的会话标识符。如果有人能够窃取cookie (网络窃听),那么他们就可以获得与合法用户相同会话。
你也应该检查会话对象吗?这要看情况了。如果您可以确保session中存储的所有对象都是“安全的”(输入已被清理),那么您可以跳过session对象。如果您在应用程序中的某个地方从不安全的来源获取数据,并将其放入Session对象中,那么您也必须对其进行检查。
发布于 2008-12-09 09:10:50
若要避免SQL注入,请使用参数化查询,而不是通过连接字符串来构建SQL查询。会话劫持是一个完全不同的主题。通过在每次请求时更改会话cookie可以使其变得更加困难,并通过使用HTTPS来完全避免。一个相关的(也是更大的)问题是跨站点请求伪造(查找它)。
发布于 2008-12-09 09:37:15
好吧,你只需要保护用户输入。因此,您必须问自己的问题是:“这些数据来自用户输入吗?”如果是这样,则必须使用sql参数。
在更大的范围内,考虑到您有单独的方法和类来执行数据访问,您应该为您提供给sql的每个文本参数指定sql参数。在这个场景中,sql参数实际上并不是必需的,因为如果您接收一个数字作为方法参数,那么它就不可能有sql注入。
但是,如果有疑问,请使用sql参数。
https://stackoverflow.com/questions/352172
复制相似问题