关于$TABLE_PREFIX的模式有哪些约定

时间:2015-08-28 作者:David

我想知道是否有任何关于WordPress设置的表前缀的约定或最佳实践。wordpress上的官方文档。org不会对该主题发表任何声明。

此外,如果前缀混淆了潜在入侵者的表名,我是否应该将其简化为安全因素?

1 个回复
最合适的回答,由SO网友:David 整理而成

首先,前缀只是一个配置选项not a security feature. 原因是,一旦攻击者访问了您的数据库,他就可以在几秒钟内找到任何现有的表前缀。这种默默无闻不可能保护你免受任何攻击。

对于前缀本身,WordPress要求您仅使用数字、字母(此处仅使用基本拉丁字母a-z 是指)和下划线。(这可以在wp-config-sample.php 文件权限above the prefix declaration. 理论上,使用MySQL,只要在任何情况下引用对象名称,就可以使用对象名称中的几乎每个字符:

SELECT `über_col` from `über_table` …
然而,这是可能的。出于兼容性原因(意味着:与不在反勾号中引用其对象名称的查询的兼容性),您应该遵循下面的建议wp-config-sample.php 基本上遵循MySQLspecification 对于无引号的对象名称。

此外,规范指出,表名的长度不得超过64个字符。因此,基本上保持前缀简短是个好主意。

为了与SQLite兼容,您应该avoid a digit 作为前缀的第一个字符。

结论表前缀:

只能包含拉丁字母(a-z), 数字(0-9) 和下划线(_).

  • 不应以数字开头(0-9)
  • 不应仅由数字组成
  • 应尽可能短