我正在为 PHP 中的 Web 服务创建一个授权通道。在前两行中,我创建了一个随机的 18 字节十六进制数字,我在我的数据库中针对用户设置了该数字,并将相同的 auth_token 发送给另一端的用户。但是当用户发送相同的 auth_token 来获取一些数据时,脚本无法搜索数据库。在数据库中查询的十六进制代码存在一些问题。请帮忙。
$hex = bin2hex(openssl_random_pseudo_bytes('18'));
$database->executeObject('UPDATE tbluser SET user_auth_token="'.$hex.'" WHERE user_name="'.$_POST['uid'].'"');
...
...
...
}elseif ( $_POST['query'] = "fetch" && !empty($_POST['auth_token']) ){
$token = $_POST['auth_token'];
$uid = $database->executeObject('SELECT user_id AS id FROM tbluser WHERE user_auth_token="'.$token.'"');
if (!empty($uid)){
$fname = $database->executeObject('SELECT writer_first_name as fname FROM tblwriter WHERE user_id="'.$uid.'"')->fname;
echo $fname;
exit;
}else{ echo "Not Authorized"; exit; }