我有一個安全標記,當頁面加載並將該標記寫入文件時創建。然後我確認在表單中傳遞的令牌與文件中的一個令牌相匹配。PHP in_array()不起作用
這第一部分位於FORM.PHP文件中,我可以確認該令牌正在寫入該文件。
//Create Token
$token = md5(time());
//Save token to file
$fp = fopen('/PATH/tokens.txt', 'a') or die ("Unable to open to Token file");
fwrite($fp, "$token\n") or die ("Unable to write to Token file");
fclose($fp);
這部分代碼位於PROCESS.PHP文件中。我已經打印出$ tokens數組的內容,並且可以手動確認相同的標記在那裏。
$tokens = file('/PATH/tokens.txt') or die("Unable to read file");
$token = $_POST['token'];
if (in_array($token, $tokens)){
error_log("Found Token");
} else {
error_log("Token Not Found");
}
我想不通爲什麼in_array($token, $tokens)
函數沒有返回TRUE。
該訣竅謝謝! –