将表单字段命名为与mysql相同实际上会造成任何安全风险吗?

jwz*_*wzk 5 html php mysql

是否有任何理由说明您应该或不应该将表单字段命名为与HTML字段完全相同?

<input type="text" name="my_field_1" id="my_field_1" /> --> mysql row my_field_1
Run Code Online (Sandbox Code Playgroud)

要么

<input type="text" name="myField1" id="myField1" /> --> mysql row my_field_1
Run Code Online (Sandbox Code Playgroud)

我唯一能想到的可能是HTML与Mysql的命名约定(可能是个人偏好),以及轻微的注入预防(显然字段名称必须更多......但是所有值都应该首先验证+使用真正的逃脱字符串).

Pek*_*ica 2

我看到这可能会造成问题的唯一方法是,攻击者知道同一个表中不应通过表单更改的受保护列的名称,并使用该名称创建一个新的输入元素,目的是将值非法“滑入”表中。

这是您的程序必须在程序级别过滤掉的内容,因此在实际列名称之后命名表单字段没有问题。您只需要注意不要循环遍历每个可用的表列或表单字段,但要对更新的内容保持挑剔。

次要的、非常遥远的风险是您暴露了表中的列名称。因此,如果您对安全性非常偏执,则可能需要为表单字段指定与其列不同的名称。但我看不出有什么真正的必要。