2011-08-04 29 views
0

我想將一些數據從PHP傳遞到沒有JSON的JavaScript。
原因是因爲我不希望數據被任何人讀取,如果點擊查看頁面源。將數據從PHP直接傳遞到DOM變量

所以,我有一個像

print(<script type="text/javascript">a = "aaa";</script>);

一個PHP在我的HTML代碼,這將是

<script type="text/javascript">a = "aaa";</script>

我可以在客戶端刪除此,裝載變量之後。例如通過使用jQuery

$('script[type="text/javascript"]').remove();

和DOM後不會再有腳本標記,但變量。

後來如果我輸入到控制檯window.a將是aaa

但我不想在我的HTML源代碼中顯示<script type="text/javascript">a = "aaa";</script>。這是可能的,將PHP變量直接傳遞給DOM?

感謝您的幫助。

+0

你爲什麼想隱藏腳本標籤?它有什麼問題? – Karolis

+1

我要說的是,如果你有一些你不想讓最終用戶看到的東西,比如用戶ID或者其他什麼,那麼你的解決方案可能不是最好的,而JavaScript可能是不可行的,因爲它對最終用戶是可見的並且容易被篡改。 –

+0

爲什麼需要這種安全性?應該在服務器端檢查密碼等,而不是通過Java腳本。 – giraff

回答

3

JavaScript是客戶端語言。無論您傳遞給它(通過任何方式),最終用戶都可以閱讀。

1

刪除腳本DOM不會有幫助,因爲「查看源代碼」顯示的HTML代碼與下載過程中一樣。如果這是您所關心的問題,那麼您可以在加載DOM後通過AJAX獲取變量。

(但它仍然是可讀的人誰可以讀取的JavaScript(一個重新運行AJAX調用),使用Firebug或者Wireshark的,它真的只有助於防止簡單的「查看源文件」)。

+0

ajax方法對我來說不是好的方法:( –

+2

@Répás然後你可以使用cookies將數據發送到文檔中,cookie數據通過「查看源代碼」不可見,但高級用戶仍然可以看到。使用cookie後,cookie數據不會被所有人輕易看到。 – Karolis

+0

@Karolis +1餅乾也是一個好主意... – giraff