0
otpauth從字符串中獲取所需的數據[email protected]祕密= MYSECRETCODE &發行人= Dropbox的我怎麼能使用PHP
otpauth://totp/[email protected] ?祕密= MYSECRETCODE
otpauth://totp/github.com/MyUsername發行人= GitHub的&祕密= MySecret
我所需要的密碼,電子郵件,發行人,標籤中的變量。我用爆炸編碼,它不能第三個。有沒有簡單的方法來獲取使用正則表達式的信息?
$data = $request['code'];
$remove_rules = substr($data, 15);
$que_exp = explode('?',$remove_rules);
if(array_key_exists(1,$que_exp))
{
if (filter_var($que_exp[0], FILTER_VALIDATE_EMAIL)) {
$email = $que_exp[0];
}
}
$secret_exp = explode('&',$que_exp[1]);
$secret = substr($secret_exp[0], strpos($secret_exp[0], "=") + 1);
if(array_key_exists(1,$secret_exp))
{
$issuer = substr($secret_exp[1], strpos($secret_exp[1], "=") + 1);
}
$label_email = explode(':',$que_exp[0]);
if (!filter_var($label_email[0], FILTER_VALIDATE_EMAIL)) {
if (!filter_var($label_email[1], FILTER_VALIDATE_EMAIL)) {
return 'data error';
}
$email = $label_email[1];
$label = $label_email[0];
}
else
$email = $label_email[0];
if(empty($issuer)) {
if(empty($label))
$issuer = "Account";
else
$issuer = $label;
}
我不認爲我明白你在做什麼。 $ _REQUEST ['secret']應該有你的變量......也許你需要先看看parse_url函數?例如;的var_dump(parse_url($網址)); –
我正在使用Laravel。 $ _REQUEST ['secret']包含值如 otpauth:// totp/Dropbox:[email protected]?secret = MYSECRETCODE&issuer = Dropbox –