如何在不泄露数据库表结构的情况下在网页中命名您的字段名称?
答案 0 :(得分:3)
只需在HTML中为其他名称命名,然后在PHP代码中手动映射数据库字段名称和HTML字段名称。
但实际上,如果您正在使用prepared statements并执行适当的授权和错误检查,那么人们是否知道表字段名称也无关紧要。
答案 1 :(得分:2)
我认为如果您认为这是一个问题,您可以重命名输入字段名称。无论如何,您需要在某些时候将它们链接到正确的SQL列。
这将是通过默默无闻的安全。
在应用程序中小心处理输入(以避免SQL注入)听起来像是一种更明智的方法。
答案 2 :(得分:2)
我通常会为清理/处理方便添加前缀和后缀。
例如,如果字段必须只包含字母,而不包含任何其他内容,我将其命名为tx_field_name
,否则如果可以包含已过滤的html,hf_field_name
或完整的html hx_field_name
。 ..将获得表单的脚本知道如何清理和检查前缀基础上的值。
但是如果你的意思是明确的,那就隐藏数据库的列名,好吧,给它你想要的名字,foo
,bar
,或者添加随机后缀,甚至替换{{1使用_
(在html字段名称中允许,但在数据库列名称中不允许)
p.s:我希望你不使用像
这样的代码-
处理表单,但用php映射它(..和一些准备好的staements不会坏)
答案 3 :(得分:1)
如果您真的关心这一点,那么只需使用field1,field2(或f1,f2)并将它们映射到实验手册中的数据库字段。但是,除非你是从HTML代码中进行数据库调用,否则只需通过查看带有字段名称的表单就可以收集到关于数据库结构本身的信息很少。