唯一标识Wordpress安装

唯一标识Wordpress安装,wordpress,api,Wordpress,Api,我正在为wordpress开发一个API,我正在寻找一种方法来唯一标识请求API的wordpress安装。有人知道安装id或唯一的wordpress博客id吗?这甚至是一件事吗?我已经编写了两个API并使用了几个API,很久以前我偶然发现了这个问题 我喜欢保持简单的东西。。。所以我使用site\u url()作为博客的标识,因为我确信没有其他安装会在同一个站点url上运行,所以每当有问题需要调试时,我知道站点ID就是url。 在我的数据库中保存了一个额外的字段(如果我的ID不同,我需要另一个字段

我正在为wordpress开发一个API,我正在寻找一种方法来唯一标识请求API的wordpress安装。有人知道安装id或唯一的wordpress博客id吗?这甚至是一件事吗?

我已经编写了两个API并使用了几个API,很久以前我偶然发现了这个问题

我喜欢保持简单的东西。。。所以我使用
site\u url()
作为博客的标识,因为我确信没有其他安装会在同一个站点url上运行,所以每当有问题需要调试时,我知道站点ID就是url。
在我的数据库中保存了一个额外的字段(如果我的ID不同,我需要另一个字段作为站点url)

您还可以使用复杂的解决方案,比如使用site_url的md5以及一些随机生成的字符串


更新 这将在激活时生成一个ID,并将其保存在数据库中

function generate_password($length = 12) {
  $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

  $password = '';
  for ($i = 0; $i < $length; $i++) {
    $password. = substr($chars, rand(0, strlen($chars) - 1), 1);
  }

  return $password;
}

function my_plugin_activated() {
  $id = generate_password();
  add_option('my_plugin_installation_id', $id);
}
register_activation_hook( __FILE__, 'my_plugin_activated' );
函数生成密码($length=12){
$chars='ABCDEFGHIjklmnopqrstuvxyzabCDEFGHIjklmnopqrstuvxyzo123456789';
$password='';
对于($i=0;$i<$length;$i++){
$password.=substr($chars,rand(0,strlen($chars)-1),1);
}
返回$password;
}
函数my_plugin_activated(){
$id=生成密码();
添加_选项('my_plugin_installation_id',$id);
}
注册激活钩子(uuu文件,'我的插件已激活');

my\u plugin\u activated()中的代码在激活插件时仅执行一次(你也可以对主题Dup做同样的事情?我担心的问题是,网站URL很容易被欺骗,如果请求来自cdn后面的Wordpress安装,我无法验证它是否来自同一个地方。嗯……在这种情况下……你可以随机生成安装ID……为答案添加代码;)这是有道理的,我只是担心有人会将api密钥作为唯一密钥,并从其他安装中调用。嗨,我最近编写了一个用于更新WordPress插件的api,并使用了类似的代码…在我的代码中…
my_plugin_installation_id
是循环通过的数组中的一个值…这使得很难发现e选项名称…这对我来说已经足够了,但是如果你喜欢,你可以尝试一些东西,比如站点url的md5中的前7个字符,这样就很难找到…例如
md5http://example.com/
a6bf1757fff057f266b697df9cf176fd
您可以使用
a6bf175_site_id
作为选项名称,您可以发挥创意并使用任何前缀和/或后缀使查找更加困难;)