2016-11-07 47 views
3

我有一個包含編輯鏈接的表。在鏈接的href中,我傳遞了一個參數來編輯記錄,但通過$ _GET傳遞的參數在url中可見,我不希望該變量位於url中。有沒有什麼辦法可以傳遞這個值,而不會在URL中發送?在鏈接中傳遞參數而不使其在URL中可見

<td> 
    <a class="edit btn btn-default btn-sm" href="newsEdi.php?id=<?php echo $fila['id'];?> "> 
    <span class="glyphicon glyphicon-edit"></span> Edit 
    </a> 
</td> 
<td> 
    <a class="edit btn btn-default btn-sm" href="newsEli.php?id=<?php echo $fila['id'];?> "> 
    <span class="glyphicon glyphicon-edit"></span> Edit 
    </a> 
</td> 

+1

我會爭辯說,除非該參數具有不應公開的私人信息,否則使用GET參數就像*正確*的方式。另一種方法是將隱藏表單作爲POST提交,並將操作設置爲PHP腳本和ID的隱藏字段。 – Dymos

+0

我的朋友有兩種方法打到服務器 1. GET 2. POST 如果你想與服務器祕密交互,你可以使用POST,否則get是使用URL發送服務器上的數據作爲你的問題suggsted的選項。如果你願意隱藏url數據,我強烈建議通過你的url發送加密數據 –

+0

Dymos,如何創建一個隱藏表單?例如在我的情況下,一個按鈕進入一個名爲newsEdi.php的頁面,那裏的用戶要編輯他的信息,請給出一個解決方案的例子,謝謝 – elizabeth

回答

0

如果你想不把它們作爲URL的一部分數據,他們需要在POST體。即使這樣,它也不能保證用戶(或中間的某個人)無法讀取數據。

另一種選擇是使用對稱加密(如AES-256)來混淆id,因此即使用戶可以看到它,它們也無法理解它。

+0

不完全正確,當使用HTTPS時,除了URL地址部分被加密之外, – zaph

1

使用HTTPS,除URL地址部分以外的所有內容都被加密。但請注意,整個URL可能會在服務器日誌中結束。如果您還想避免服務器日誌記錄發送敏感數據作爲POST,而不是GET。