2013-07-03 73 views
0

如何隱藏此html行,該行不會顯示在用戶的inspect元素或視圖源中。防止顯示一行源代碼

<input type="hidden" name="kda" value="<?php echo $code;?>"> 

我該怎麼做?

回答

9

你不能這麼做 - 你發送給瀏覽器的所有內容最終都可以被讀取和存儲。

但是,您可以使用會話來存儲此信息。然後,只有會話標識符會發送到瀏覽器(並返回到服務器),同時您的敏感信息可以保留在服務器上。

+0

請注意,這需要服務器端解釋器! – DaGardner

+1

OP是使用php,因爲他是如何填充變種,不是? – dmayo

+0

OK如何使用$ _SESSION存儲多個 –

2

從視圖源中隱藏HTML是不可能的。任何HTML都會發送到客戶端,並可以在視圖源中查看。嘗試將其存儲在$_SESSION,一個PHP超全球。它向用戶提供一個cookie,告訴PHP在$_SESSION的哪裏查找該用戶的信息。

$_SESSION是一個數組。這意味着您可以存儲$_SESSION['pies_bought'] = 7$_SESSION['cakes_bought'] = 3

http://www.php.net/manual/en/session.examples.basic.php

0

如果 「隱藏」 它,它不會工作。 你可以圍繞在PHP註釋中,所以當服務器呈現頁面時它會被剝離,但我認爲你要求隱藏這個隱藏的表單域的值,而且你不能按照你的建議去做。 您可以將「可查看」表單字段發佈到另一個php腳本,然後添加此「機密」鍵,然後將表單提交到任何地方。 您可以在提交表單時調用ajax請求以獲取值並一次提交全部內容。

許多方法去皮膚貓。

0

將此標誌設置爲PHP變量,而不是實際在表單中包含hidden輸入字段。

+0

如何做到這一點? –

+0

只需按照@travis-gd的建議設置'$ _SESSION ['kda'] =(code()的結果)'?我認爲這應該工作。 – icedwater

0

如果你仍然想在表單中使用它作爲查詢參數,那麼你可以使用加密,否則會話是你最好的選擇。

<input type="hidden" name="kda" value="<?php echo some_php_crypt_function($code);?>"> 

當您在服務器上接收kda,只是對其進行解密,並獲得價值。

此鏈接http://www.php.net/manual/en/mcrypt.examples.php有如何在php中使用加密/解密的例子。