【问题标题】:Teamspeak 3 Privilage Key GeneratorTeamspeak 3 特权密钥生成器
【发布时间】:2013-07-17 20:44:30
【问题描述】:

我正在寻找一种方法来为我的客户拥有的 Teamspeak 3 服务器创建特权密钥,以便在完成用户注册后,发送一封欢迎他们的电子邮件,但还包含一个供他们使用的密钥,如果他们想要轻松连接到 TS 服务器并获得所需的权限,而无需管理员在场。不幸的是,我不知道从哪里开始。我认为这将使用 JavaScript,但现在我认为使用 php 可能会更好。我认为这将使它更安全。请帮忙。

【问题讨论】:

    标签: php javascript key generator privileges


    【解决方案1】:

    我认为 3ventic 误解了大卫的问题。

    无论如何,大卫所说的方式更像是编写一个脚本,该脚本将为注册用户这样的组自动生成一个特权密钥,可以绕过服务器密码等。

    所以为了做他想做的事,你首先可以访问 serverquery 的服务器管理员(这就是 3ventic 所说的),一旦进入,请按照以下网址:https://freevps.us/thread-11350.html

    我很久没有用 PHP 接触过 TS3 的 serverquery,但这应该会让你在如何做的时候找到正确的方向。

    1. 通过 PHP 连接到 serverquery
    2. 使用 login serveradmin password 登录 serverquery 的管理员
    3. 使用命令 use sid=serverID 选择您要使用的虚拟服务器
    4. 后跟 tokenadd tokentype=0 tokenid1=groupID tokenid2=0 为该特定组生成特权密钥
    5. 将生成的权限密钥输出返回给用户

    【讨论】:

      【解决方案2】:

      当 Teamspeak 3 服务器首次运行时,它会生成一个权限密钥以获得管理员访问权限。此密钥存储在logs/ts3server_ 生成的日志文件中,后跟日志日期。

      为了获取密钥,您应该阅读该日志文件。这段代码 sn -p 打印出特权密钥,至少对我来说是这样。

      <?php
      // Script in ts3 server's root directory, using PHP 5.4.4
      
      error_reporting(0); // Prevent notices of nonexistent $matches[1], alternatively use array_key_exists before checking for matches[1]
      $logs = scandir('logs');
      foreach($logs as $log) // In case there are many log files
      {
          $content = file_get_contents('logs/'.$log);
          preg_match('/token=(.+)/', $content, $matches); // Find privilege token and get it to $matches[1]
          if($matches[1]) break;
      }
      echo $matches[1];
      

      现在您可以轻松地使用 mail() 中的 $matches[1] 向用户发送他们的权限密钥。

      【讨论】:

      • 我将如何确定密钥所需的权限?
      • 该密钥将用于在服务器首次运行时生成的完全权限。我不确定其他组的权限密钥,因为我没有使用过。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 2021-07-27
      • 2015-11-17
      • 2010-11-29
      • 1970-01-01
      • 2016-05-10
      相关资源
      最近更新 更多