0
我無法調試我的代碼出了什麼問題。 以下是我在做什麼:php base64_decode函數在服務器上運行不正確
對於Ajax查詢,我設置了一個會話變量:sessiontoken,並對其進行編碼和解碼以確保請求來自正確的會話/頁面,如下所示,代碼存在在每一頁上,然後在javascript我回應這個變量,並使用阿賈克斯調用:
我的問題是,雖然腳本工作完美罰款本地服務器(xampp)上的每個頁面上,在現場服務器上給出了問題。 當我登錄到現場,主頁上的解碼值正確顯示在javascript函數中,但是當我點擊鏈接到myprofile或轉到任何其他頁面時,解碼後的sessiontoken值顯示奇怪的字符。 您能否讓我知道可能是什麼問題,因爲在當地它工作得很好。 thanx。
<?php
session_start();
if(!(isset($_SESSION['id']) && isset($_SESSION['username']))) {
header("location: index.php");
exit();
}
if(!isset($_SESSION['sessiontoken'])) {
$thisRandNum = rand(999999,99999999);
$_SESSION['sessiontoken'] = base64_encode($thisRandNum);
} else {
$thisRandNum = base64_decode($_SESSION['sessiontoken']);
}
?>
<html>
<head>
<script type="text/javascript">
function refreshWall() {
$.post('scripts/refreshlist.php', {thistoken: <?php echo $thisRandNum ?>},
function(data) {
}, "json");
}
</script>
</head>
<body>
</body>
</html>
爲什麼你首先在Base 64中編號? – kmkaplan
我認爲OP可能會認爲它更安全= o \ –
@kmkaplan:這是一些教程中使用的一種做法,它表示它將使其更安全,因此我繼續使用它。 – vicked