我在想,如果他們是一種方法來更改網址,所以它不會在最後顯示產品id
。因爲這樣,有人可以更改pid,並且如果該pid位於數據庫中,它可能會指示它們到不同的頁面。更改瀏覽器URL
<a href="<?php fetchdir($apages) ?>item.php?pid=<?php echo $row['pid']; ?>">View</a>
http://WWW.testexample.x10.mx/item/item.php?pid=2
我在想,如果他們是一種方法來更改網址,所以它不會在最後顯示產品id
。因爲這樣,有人可以更改pid,並且如果該pid位於數據庫中,它可能會指示它們到不同的頁面。更改瀏覽器URL
<a href="<?php fetchdir($apages) ?>item.php?pid=<?php echo $row['pid']; ?>">View</a>
http://WWW.testexample.x10.mx/item/item.php?pid=2
你可以做任何的這一點:
1)不張貼HREF點擊,然後從$ _ POST在服務器端
2)做一個base64或自定義訪問PID加密的pid值(可以加1))
3)在商業方面處理手動pid更改 所以它不是一個概率爲你而戰,只要讓他們這樣做,如果他們想要的話。
我會去選擇2),但這裏的選項1的例子)
<html><body id="body"><script> function postData(val) {
var frm = document.createElement("form")
frm.action="/data.php";
frm.method="post";
var input=document.createElement("input")
input.name="pid";
input.value = val;
input.type = "hidden";
frm.appendChild(input);
var body= document.getElementById("body");
body.appendChild(frm);
frm.submit();
} </script><a href="javascript:void(0)" onclick="postData(<?php echo $pid; ?>)">View</a></body></html>
這個例子選項2使用base64編碼:
<a href="<?php fetchdir($apages) ?>item.php?pid=<?php echo base64_encode($row['pid']); ?>">View</a>
,然後在item.php:
$pid=base64_decode($_GET['pid']);
友好/漂亮的URL是我認爲你指的是什麼,以及許多CMS和ecom平臺提供的。你是從頭建立這個鏈接和產品頁面?或者你是否在像oscommerce或oscmax這樣的開放源代碼平臺上工作,或者甚至是使用簡單的cms工具? – blackhawk
關於您的問題,如果您不希望用戶到達那裏,您應該考慮特定頁面的訪問權限。告訴我們爲什麼你確實想要掩蓋這個ID。 – quidage
混淆通常是安全性較差的替代品。如果不應該訪問對象,則必須防止該對象,而不是試圖隱藏它們。 – arkascha