你只能看到前端的html/js等內容,後端的代碼你是看不到的。

而很多網站重要的都是後端而非前端,前端只是給你個交互界面。給你看了也無妨,難不成你能看到支付寶的網頁前端代碼,就能複製出來一個全功能的支付寶出來?顯然不太現實。

當然這樣子確實會出現一些問題,但是搞好的話幾乎所有搞事情的都能被WAF之類的東西給防禦,並不會對其他人使用造成影響。之前我參與的一個項目,有人報告說可以XSS,但是我們項目組的人印象中都是加了防止XSS的插件的,但是安全起見就自己測試了一下,發現並不能影響到其他人,只會影響到自己,於是事情就成了一樁self-xss的樂子


只是你以為你看到的是源代碼而已

這一句話已經答完了其實。

你現在從錢包里掏出一張人民幣,現在這張人民幣的各種信息你都可以想辦法檢查出來。但是,你能造得出一張人民幣么?你不能。

除非你有專門的機器,專門的紙張油墨,專門的技術流程。這些才是源代碼,那一張人民幣本身並不是。


1、http是超文本傳輸協議,它最早的設計就是我放個文件在伺服器上大家自己看就好了,沒後端這一說法的,所以html一直都是文本文件。

2、前端上的那些技術其實出現過很多二進位的,從java applet到activex再到flash,其實html+js+css成為主流並沒有很長歷史。js一開始是做些簡單的dom操作的,比如做個文字變色之類的簡單的東西,不複雜所以也就是文本文件了。

3、所有二進位的方案基本都有安全性問題,後來也漸漸不用了。腳本文件曾經還有過vbs,不過這東西也已經emmmm

4、大概google還是誰(肯定不是ms)帶頭用js+css做web應用,大家才發現前端還能這樣啊,就開始了。


查看源代碼並不意味著開源。

題主所謂的查看源代碼是瀏覽器里的查看頁面源代碼的效果。這些代碼很多情況下都是被編譯後的代碼,並非原始代碼。並且還是前端頁面用到的代碼。而一個網站的工作前端展示和交互操作只是很小一部分。你的一個點擊,可能觸發的是按鈕按下後頁面向伺服器發送了一個包含請求的url,然後伺服器就開始工作,找到信息返回給頁面。而具體伺服器端怎麼做,你是看不到代碼的。

你看到的只是冰山一角,所以請跟我默念:

當你凝視深淵的時候,深淵也在凝視你。克蘇魯,發糖。


可以的,比如網頁中的 Flash 就可以讓別人看不到源碼。

可惜 Flash 已死,可以看源碼的 HTML 5 勝出。


推薦閱讀:
相关文章