導航:首頁 > 編程語言 > 前後端分離編程會存在漏洞么

前後端分離編程會存在漏洞么

發布時間:2022-09-04 10:20:42

❶ 互聯網項目為什麼要前後端分離,有什麼優缺點

前端承擔營運,後端承擔管理。功能不一樣沒有什麼優缺點。

❷ 如何處理好前後端分離的 API 問題

意義很大,但是你的問題本身認識有偏差。

對於前後端分離,認識上有個誤區,那就是很多人自稱:老早就分離了,全AJAX,使用Angular或者什麼什麼就可以了。

這個說法是不合適的,打個比方,別人問的是「如何解決家禽把蛋生在水草邊的問題?」,但實際上人家養的是鴨子,答題的卻是養雞的,所以回答「不讓去水邊就行了」,這顯然不在點子上。

這兩年業界說的前後端分離,是限於偏展示類的系統(用A代替),而不是應用、管控類Web項目(用B代替),在B類項目里,前後端是天然分離的,對此,除了少部分後端開發人員,基本所有人的認識都是一致的。上一段中這樣回答的人一般都是只做B類項目,在B類項目里,前後端分離是共識,不需要討論。

那麼,剩下的問題就是討論A類項目的前後端分離了。這個問題的核心在什麼地方呢,在於模板的與數據結合的位置,以及,模板的控制權在誰手裡。經過這兩年的討論,基本上我們可以達成的共識就是:模板應當由前端人員去控制,主要原因有兩方面:

- 性能優化(尤其是外部資源的管理與發布,請求合並等等)
- 協作的順暢性(已形成模板的界面片段的返工等問題)

那麼,模板到底應該在什麼地方跟數據結合?

這個問題就比較折騰了,有部分人嘗試像B類項目那樣,使用js模板,然後在瀏覽器端執行,這是存在一些問題的,比如說seo不友好,首屏性能不夠,尤其對於首頁DOM量很大的電商類網站,差距很明顯。

所以還是得把主要的模板放在服務端來執行。在這個過程中,阿里作了一些嘗試,那就是引入Node層,在這一層把模板與數據進行合成,然後瀏覽器拿到的就是生成好的HTML了,但也不是所有HTML都是這么生成好的,還是會有一些內容等到了瀏覽器之後,再用js去載入和生成。

❸ 網站開發中的前後端分離的問題

對於前後端分離,認識上有個誤區,那就是很多人自稱:我們老早就分離了,全AJAX,使用Angular或者什麼什麼就可以了。

這個說法是不合適的,打個比方,別人問的是「如何解決家禽把蛋生在水草邊的問題?」,但實際上人家養的是鴨子,答題的卻是養雞的,所以回答「不讓去水邊就行了」,這顯然不在點子上。


兩年業界說的前後端分離,是限於偏展示類的系統(用A代替),而不是應用、管控類Web項目(用B代替),在B類項目里,前後端是天然分離的,對此,除了
少部分後端開發人員,基本所有人的認識都是一致的。上一段中這樣回答的人一般都是只做B類項目,在B類項目里,前後端分離是共識,不需要討論。

那麼,剩下的問題就是討論A類項目的前後端分離了。這個問題的核心在什麼地方呢,在於模板的與數據結合的位置,以及,模板的控制權在誰手裡。經過這兩年的討論,基本上我們可以達成的共識就是:模板應當由前端人員去控制,主要原因有兩方面:

- 性能優化(尤其是外部資源的管理與發布,請求合並等等)
- 協作的順暢性(已形成模板的界面片段的返工等問題)

那麼,模板到底應該在什麼地方跟數據結合?

這個問題就比較折騰了,有部分人嘗試像B類項目那樣,使用js模板,然後在瀏覽器端執行,這是存在一些問題的,比如說seo不友好,首屏性能不夠,尤其對於首頁DOM量很大的電商類網站,差距很明顯。


以我們還是得把主要的模板放在服務端來執行。在這個過程中,阿里作了一些嘗試,那就是引入Node層,在這一層把模板與數據進行合成,然後瀏覽器拿到的就
是生成好的HTML了,但也不是所有HTML都是這么生成好的,還是會有一些內容等到了瀏覽器之後,再用js去載入和生成。

所以這一定會是一個混合方案,同一個系統中存在兩種模板,一種在服務端執行,一種在瀏覽器中執行,互為補充。


於說這個方案中,是否中間層一定要是node,我覺得無所謂,只要是能正常做web項目的東西都可以,這個還是要看所在企業的技術積累方向,當然node
做這塊是有一些優勢的,比如對前端人員的語言友好性,前後端模板的通用性等等,但這些都是細節,重點還是整體方案和流程。

這時候回頭看你問題中的這句:

> 前後端分離的意思是,前後端只通過 JSON 來交流,組件化、工程化不需要依賴後端去實現。

我相信你這里對前後端的限定是以瀏覽器為準的,但事實上,A類項目中,前後端的分界一定要延伸到伺服器端的模板層,也就是在這一層里,把各種來源的數據整合到模板中,這個數據未必是JSON格式的,會存在有JSON,XML,特定的二進制等等。


件化這個話題就更復雜了,在剛才組織形式中,很難說出究竟什麼才是組件。是某個商品的模板嗎?是數據嗎?是數據和模板的結合體嗎?沒法回答。在此,我說一
句自己的看法:像電商這種項目的前端部分,基本不存在組件的概念,甚至不存在組件化的價值,因為這裡面可復用的東西太少了,也不易提取,大多數東西都是不
帶邏輯的界面模板。

最近因為ReactJS的流行,帶來了一個Isomorphic的概念,這是一種很有意義的探索,但是否能解決這類問
題,尚不得而知,根據我的理解,它對B類項目是較好的補充方案,但對A類項目暫時還缺乏可用性,因為A類項目中,運行期的DOM變更並不多,多是整片的改
變,用這個方案去解決的話,有些牛刀殺雞的感覺。

關於B類項目的組件化,我之前那個沒寫完的系列是關於它的,但經過最近一年多的思考,我又覺得需要再重新寫一篇東西了。感謝你的問題提醒了我,這就寫。

❹ 前後端分離 csrf需要防範csrf攻擊嗎

CSRF是一種讓人難以防範的漏洞,據歪歪了解,目前沒有很好的監測CSRF的方法。歪歪想到的一些比較可行的防範方法: 不使用。所謂的無招勝有招,我既然不用,黑客也就自然巧媳婦難為無米之炊了。(just a joke:)) 定期修改密碼

❺ 關於API的前後端分離的糾結

意義很大,但是你的問題本身認識有偏差。

對於前後端分離,認識上有個誤區,那就是很多人自稱:老早就分離了,全AJAX,使用Angular或者什麼什麼就可以了。

這個說法是不合適的,打個比方,別人問的是「如何解決家禽把蛋生在水草邊的問題?」,但實際上人家養的是鴨子,答題的卻是養雞的,所以回答「不讓去水邊就行了」,這顯然不在點子上。

這兩年業界說的前後端分離,是限於偏展示類的系統(用A代替),而不是應用、管控類Web項目(用B代替),在B類項目里,前後端是天然分離的,對此,除了少部分後端開發人員,基本所有人的認識都是一致的。上一段中這樣回答的人一般都是只做B類項目,在B類項目里,前後端分離是共識,不需要討論。

那麼,剩下的問題就是討論A類項目的前後端分離了。這個問題的核心在什麼地方呢,在於模板的與數據結合的位置,以及,模板的控制權在誰手裡。經過這兩年的討論,基本上我們可以達成的共識就是:模板應當由前端人員去控制,主要原因有兩方面:

- 性能優化(尤其是外部資源的管理與發布,請求合並等等)
- 協作的順暢性(已形成模板的界面片段的返工等問題)

那麼,模板到底應該在什麼地方跟數據結合?

這個問題就比較折騰了,有部分人嘗試像B類項目那樣,使用js模板,然後在瀏覽器端執行,這是存在一些問題的,比如說seo不友好,首屏性能不夠,尤其對於首頁DOM量很大的電商類網站,差距很明顯。

所以還是得把主要的模板放在服務端來執行。在這個過程中,阿里作了一些嘗試,那就是引入Node層,在這一層把模板與數據進行合成,然後瀏覽器拿到的就是生成好的HTML了,但也不是所有HTML都是這么生成好的,還是會有一些內容等到了瀏覽器之後,再用js去載入和生成。

所以這一定會是一個混合方案,同一個系統中存在兩種模板,一種在服務端執行,一種在瀏覽器中執行,互為補充。

至於說這個方案中,是否中間層一定要是node,無所謂,只要是能正常做web項目的東西都可以,這個還是要看所在企業的技術積累方向,當然node做這塊是有一些優勢的,比如對前端人員的語言友好性,前後端模板的通用性等等,但這些都是細節,重點還是整體方案和流程。

這時候回頭看問題中的這句:

> 前後端分離的意思是,前後端只通過 JSON 來交流,組件化、工程化不需要依賴後端去實現。

相信這里對前後端的限定是以瀏覽器為準的,但事實上,A類項目中,前後端的分界一定要延伸到伺服器端的模板層,也就是在這一層里,把各種來源的數據整合到模板中,這個數據未必是JSON格式的,會存在有JSON,XML,特定的二進制等等。

組件化這個話題就更復雜了,在剛才組織形式中,很難說出究竟什麼才是組件。是某個商品的模板嗎?是數據嗎?是數據和模板的結合體嗎?沒法回答。在此,說一句自己的看法:像電商這種項目的前端部分,基本不存在組件的概念,甚至不存在組件化的價值,因為這裡面可復用的東西太少了,也不易提取,大多數東西都是不帶邏輯的界面模板。

最近因為ReactJS的流行,帶來了一個Isomorphic的概念,這是一種很有意義的探索,但是否能解決這類問題,尚不得而知,根據我的理解,它對B類項目是較好的補充方案,但對A類項目暫時還缺乏可用性,因為A類項目中,運行期的DOM變更並不多,多是整片的改變,用這個方案去解決的話,有些牛刀殺雞的感覺。

❻ web編程里的前後端分離缺點是什麼

簡單來說,前後端分離的缺點是會讓開發復雜化。對於大項目,這種方式是沒有問題的。而對於小項目,這種其實是不合適的。
因為小項目可能一共就1-2個人開發維護,還要分前後端,這就增大了工作量。

❼ oa系統開發前後端分離前端用什麼技術比較好

目前java語言是最穩定的,高端OA如用友泛微等,都是用java開發的,所有的語言見下面 OA軟體的開發語言很多,目前較為常見的有ASP/PHP/的技術工程師,從這個市場熱度不難看出--JAVA和在擴展、升級、模塊化方面的均衡優勢。第三:還有一個最為簡單的驗證方法,就是可以問問你身邊搞過研發或者懂點計算機語言技術的朋友,他們都會給你一個明確的答案。 .NET語言開發的軟體產品穩定性較高,產品可以模塊化是一個存在的事實優勢,但.NET具有很強的優勢的同時,也存在一定的劣勢,如跨平台、大數據並發。同時.Net與ASP對接時,就會導致產品的安全性變低,.NET平台的安全性會隨著ASP的安全漏洞安全為黑客或者不法分子利用進而破壞,這個也就一直困擾軟體技術工程師的一個最大的問題--.NET語言沒有辦法和ASP對接的最大一個因素之一。當然.NET如果不需要與ASP語言對接,那麼也不存在這樣的風險。 目前國內基於.Net 的OA產品有:金和C6(高端版本) 5. JAVA JAVA是1995年由SUN公司引進到我們這個世界的革命性變成語言,今天我們記住SUN這一全球性大公司的原因就是因為SUN在網路安全系統方面是最為優秀的提供商,JAVA的優秀在於與傳統的軟體比較就是:傳統的軟體往往與具體的視線環境有關,一旦環境有所變化就需要對軟體做一番改動,耗時費力,而JAVA編寫的軟體能在執行碼上兼容,只要伺服器提供JAVA解釋器,JAVA編寫的軟體就能在其上運行(更多解釋可以見清華大學出版社出版JAVA2實用教程(第二版),在這免費做做廣告o(∩_∩)o…)。 JAVA比.Net相比,可以跨平台,具有非常強的擴展性;可以在LINUX,UNIX上部署。對於超大型的OA系統,這是至關重要的。Windwos平台想實現上千並發不太現實,這是一個絕對的事實。JAVA在擴展性和穩定性上(SUN在網路安全方面的持續支持)的優越表現導致銀行、稅務、公安、政府這樣基於有很高安全要求的公司或者單位在選擇軟體才產品的時候會首先選擇JAVA語言開發的軟體產品。 目前國內基於JAVA的OA軟體:泛微的Ecology;用友致遠;35互聯老闆簽批系統。 由於JAVA和.NET語言開發的產品穩定性和安全性比較高的眾所周之的原因,所以在OA軟體的應用中使用JAVA和.NET語言開發的OA軟體銷售的價格會比ASP和PHP開發的軟體價格通常要高,但是隨著JAVA和.NET的語言技術的大規模使用,一旦JAVA和.NET開發的OA軟體進入中低端市場,PHP和ASP結構的OA軟體也將會面臨全面被取代的局面。 目前國內OA行業中還有一種「功能為王」的聲音,這部分主要是依靠ASP、PHP語言技術為主導的商家,這部分商家通常會強調「功能為王」,主觀上來看這其實並不錯,但是如果站在長期的目標來看,功能為王並不貼切,現有的功能滿足並不等於未來的功能滿足,JAVA和.Net之所以成為主流,這一點是任何技術流派不能阻止的,越老越多的軟體工程師在學習使用這兩種計算機語言,他們當然知道選擇的原因。OA選型人員應該從更加長遠的角度選擇OA產品。找到最適合自己的OA軟體產品最為重要。

閱讀全文

與前後端分離編程會存在漏洞么相關的資料

熱點內容
unix網路編程卷4 瀏覽:805
找靚機app下單什麼時候發貨 瀏覽:411
android一個應用兩個進程 瀏覽:801
linux硬碟復制 瀏覽:806
php圖片伺服器搭建 瀏覽:798
下載壓縮文件怎麼打開 瀏覽:192
新建文件夾叫什麼名字 瀏覽:565
windows20的開機命令 瀏覽:332
微信一般在電腦的那個文件夾 瀏覽:509
go在win7下編譯特別慢 瀏覽:256
光遇ios耳機安卓為什麼沒有 瀏覽:904
小米手機桌面文件夾經常自動散開 瀏覽:607
小米電話手錶用什麼app進行設置 瀏覽:265
虛擬列印機pdf下載 瀏覽:671
jdk編譯運行方法 瀏覽:459
android執行shell命令 瀏覽:349
程序員頭像女 瀏覽:57
有什麼可以變頭發顏色的app 瀏覽:935
玩具解壓屋游戲下載 瀏覽:849
我的世界拔刀劍伺服器地址id 瀏覽:891