2013-03-01 110 views
0

我希望能夠在頁面上顯示一些值,但將它們隱藏在頁面源中。林相當肯定這是不可能的,但我想我會問。從頁面源中隱藏值,但在頁面上顯示

編輯

我寫我自己的驗證系統,以防止黑客/垃圾郵件發送者。我在傳遞數據時使用加密,但當前可以在頁面源中查看原始值(因此有人可以在源代碼上編寫循環並提取數據)。

回答

1

正式按你的標籤不包括JavaScript:不......

然而,這是可能的負載之後,但可能不會達到你到底想要什麼寫入DOM。

你可以做這樣的事情:

<div id="something"> 

</div> 

然後在頁面加載使用JavaScript在您的頁腳註入該div的價值:

<script type="text/javascript"> 
    document.getElementById("something").innerHTML = "This is a previously hidden value"; 
</script> 

這將其寫入到DOM後加載並不寫入頁面源。真正的問題是你究竟在做什麼?如果你想完全隱藏某些東西,那麼這幾乎是一個不便之處。任何想要鑽取出來的人都可以跟蹤。

如果您用您的真實意圖更新您的問題,那麼也許我們可以提供更好的解決方案。

編輯

按照您想要不顯示原始值的驗證系統,您的編輯。 一種選擇是將值存儲在數據庫中,並且只將該行的引用ID傳遞給表單,假設這就是您的意思。您可以在服務器端執行所有處理,並將傳遞到客戶端的敏感數據量減至最少。

+0

在任何現代的瀏覽器稱職的,所有動態DOM更新將「添加到源」,所有的實際目的。 – 2013-03-01 23:35:54

+0

我更新了我的問題以更好地反映即時消息的內容。 這個解決方案聽起來像是要走的路,但是源代碼將在現代瀏覽器中更新?我很確定歌劇不更新來源。 – hijinxbassist 2013-03-01 23:44:01

+0

@grant - 我可以接受,但參考可能會很好。我所有的ajax網站在這一點上都不會更新查看的源代碼。希望他們仍然值得他們的鹽。 – 2013-03-01 23:59:48

0

由於頁面源代碼是瀏覽器需要生成頁面上所有內容的所有數據,因此不可能。

當然,您可以顯示圖像而不是值,不能直接從源代碼讀取。或者使用html5畫布或其他東西。

+0

+1提HTML5的Canvas標籤(可惜我沒有足夠的代表處實際+1你)。感謝您將在。 – hijinxbassist 2013-03-02 06:41:50

0

不幸的是,這個問題的簡短答案是,你不能。已經有各種方法提出,但所有這些都很容易規避。最後,確保沒有人能夠竊取你的源代碼的唯一可靠方法就是永遠不要將它放到互聯網上。

1

要做到這一點的方法是在您的頁面上有一個<div id='fillme'>(或其他容器),然後使用AJAX在頁面加載後使用信息填充它。這樣,當有人點擊「查看源代碼」時,他們會看到加載的html(或php或其他)文件的內容,而不是JavaScript運行後的最終結果。 jQuery有精彩的AJAX功能,你會使用如下代碼結束:

$.ajax({ 
    type: 'POST', 
    url: '/server/side/script.php', 
    dataType: 'json', 
    data: { thing: value, thing2: value }, 
    async: false, 
    success: function(data) { 
     $('#fillme').html(data); 
    }, 
    error: function() { 
     alert('oops'); 
    } 
}); 
+0

由於將Ajax添加到答案列表中,Ajax已經完全融入到我的系統中。最終,這確實是解決方案的大部分答案的組合。謝謝 – hijinxbassist 2013-03-02 06:55:51

1

最直接的答案是否定的,這是不可能的 - 因爲瀏覽器必須接收任何它打算顯示。

隨着中說,這取決於你的意圖有辦法來顯示內容的頁面,但隱藏在源。

這是一個問題的一個常見的地方是你想從垃圾郵件中隱藏的電子郵件,但需要顯示給你的用戶 - 如果這個(或類似的)是這種情況,我提出了幾個解決方案:

  1. 使用HTML字符實體遮掩的話:here

  2. 使用JavaScript來動態地生成它

  3. 使用HTML編碼:Here是一個很好的工具。

  4. 使用諸如SilverLight插件和DRM:See Here

  5. 即成圖像(注意,一些垃圾郵件機器人懂得使用OCR)

  6. 使用類似reCaptcha mailhide

在這一天結束時,用戶將幾乎可以肯定能夠複製不管它是你正在試圖隱藏 - 但如果你只是想抵禦垃圾郵件機器人或者自動化工具,這些選項之一可能爲你工作。

+0

我想感謝您抽出寶貴的時間來編譯這個好的解決方案。儘管沒有任何方法可以在網上獲得充分的證據,但其中的一些是包中的一些不錯的小技巧。如果我可以+1。再次感謝 – hijinxbassist 2013-03-02 06:49:43

相關問題