数字字段是否可以安全地插入数据库?

时间:2017-11-21 11:49:21

标签: php html mysql

我已经阅读了很多内容,您需要在插入数据库或在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注入。

1 个答案:

答案 0 :(得分:0)

拥有type=number字段并不会在插入之前更改您的表单是否需要清理;你绝对需要。

想象一下,如果有人只是检查元素并将其更改为文本。对于服务器,它是一个文本框,仍然会将其作为发布数据接受。如果你没有在服务器端正确处理它,它可能会导致SQL注入。正如戈登在评论中所说。使用参数。

type=number只是客户端的外观。如果有人想要尝试侵入您的数据库,那么这不是一个限制。