我已经阅读了很多内容,您需要在插入数据库或在SQL查询中使用之前检查和清理表单数据,我同意这一点。但是如果我的表单中只有一个数字字段,我找不到答案:
dic = {}
for col in df:
for col2 in df:
dic["{}_{}".format(col, col2)] = np.linalg.norm(df[col] - df[col2])
我需要消毒吗?用户只能根据我的知识输入数字。
<input type="number" class="form-control" name="max-persons" required>
我在这里主要关注SQL注入。
编辑:我不相信这是链接问题的完全重复。我不是问如何防止SQL注入。我问我应该采取措施防止数字字段的SQL注入。
答案 0 :(得分:0)
拥有type=number
字段并不会在插入之前更改您的表单是否需要清理;你绝对需要。
想象一下,如果有人只是检查元素并将其更改为文本。对于服务器,它是一个文本框,仍然会将其作为发布数据接受。如果你没有在服务器端正确处理它,它可能会导致SQL注入。正如戈登在评论中所说。使用参数。
type=number
只是客户端的外观。如果有人想要尝试侵入您的数据库,那么这不是一个限制。