MS SQL 2008:我尝试搜索此内容,但并没有真正找到答案。我知道在保存到数据库之前应该对所有用户输入进行清理和验证,但我想知道对于数据库中受大小和类型限制的字段是否也需要这样做。
例如,我有几个 BIT 类型的字段,并且只允许 1 个字符,或者具有外键名称的 INT 字段,因此只能将外键保存到其中。
所以现在,在我让一个用户向另一个用户发送消息的表单上,我可以
- 单选按钮 BIT(联系我是/否)
- 隐藏字段(发送到#userid#),因此这会将用户的 ID 放入表中
- DateTime 字段(在此日期发送的消息)将由我自动填充,但我将其扔在这里,假设我让用户设置时间。
- VarChar(最大尺寸 2),我想知道这个,我猜即使仅限于 2,一个人也可以向其中注入恶意内容?
我需要在将这些字段发送到数据库之前对其进行清理,还是数据库会处理并拒绝输入?
我问所有这些的原因是为了找出普遍接受的内容以及出于性能原因。
谢谢。