『壹』 web前端開發面臨的挑戰主要是有哪些
平時工作,多數是開發Web項目,由於一般是開發內部使用的業務系統,所以對於安全性一般不是看的很重,基本上由於是內網系統,一般也很少會受到攻擊,但有時候一些系統平台,需要外網也要使用,這種情況下,各方面的安全性就要求比較高了。
1、測試的步驟及內容
這些安全性測試,據了解一般是先收集數據,然後進行相關的滲透測試工作,獲取到網站或者系統的一些敏感數據,從而可能達到控制或者破壞系統的目的。
2、sql注入漏洞的出現和修復
SQL注入定義:
SQL注入攻擊是黑客對資料庫進行攻擊的常用手段之一。隨著B/S模式應用開發的發展,使用這種模式編寫應用程序的程序員也越來越多。但是由於程序員的水平及經驗也參差不齊,相當大一部分程序員在編寫代碼的時候,沒有對用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患。用戶可以提交一段資料庫查詢代碼,根據程序返回的結果,獲得某些他想得知的數據,這就是所謂的SQL Injection,即SQL注入。
SQL注入有時候,在地址參數輸入,或者控制項輸入都有可能進行。如在鏈接後加入』號,頁面報錯,並暴露出網站的物理路徑在很多時候,很常見,當然如果關閉了Web.Config的CustomErrors的時候,可能就不會看到。
3、跨站腳本攻擊漏洞出現和修復
跨站腳本攻擊,又稱XSS代碼攻擊,也是一種常見的腳本注入攻擊。例如在界面上,很多輸入框是可以隨意輸入內容的,特別是一些文本編輯框裡面,可以輸入例如這樣的內容,如果在一些首頁出現很多這樣內容,而又不經過處理,那麼頁面就不斷的彈框,更有甚者,在裡面執行一個無限循環的腳本函數,直到頁面耗盡資源為止,類似這樣的攻擊都是很常見的,所以我們如果是在外網或者很有危險的網路上發布程序,一般都需要對這些問題進行修復。
『貳』 怎樣做才是互聯網運營思維
這個問題想了好久,關鍵在於「互聯網思維」這個詞。算起來這應該是2013年行業里最火的詞,尤其是幾個號稱用互聯網思維做實業,掉頭反攻互聯網的所謂成功者,四處講演,用力大忽悠,仔細聽聽無非是圈子裡早就已經爛熟的那些討論。從門戶到垂直到web2.0,再到微博微信,無非就是那幾個。什麼長尾理論啊,用戶體驗啊,定製服務啊……你多聽幾次,出去聊天的時候故作淡定深沉,時不時扔出幾個詞,然後抽一口煙微笑不解釋,立刻就是一副得道高人隱藏已久的樣子,要你多說幾句就立刻推辭說抱歉我還有個投資人的飯局要去,下回再聊,其實是為了趕末班地鐵回燕郊的出租房。總之從2001年開始進入中國互聯網,這種大忽悠我真是見得多了,說什麼用互聯網思維做實業,人家做實業的高人真進來玩,分分鍾甩人好幾條街。所有的這些概念都是人家玩過的。只是限於互聯網的技術門檻,很多傳統實業上的人被壁壘擋住了而已。史玉柱進互聯網的時候,大家都等著看他笑話,最後被人結結實實地上了一課。這還是史老闆肯說,不低調,低調的更多。
吐槽完畢,先說互聯網思維是什麼。作為傳媒出身,我對互聯網在信息科技服務上的一面更敏感,而且這也是互聯網對社會影響的最主要領域(當然還有商流物流等方面,不過互聯網主要是重整了信息流)。就我所經歷的中國互聯網行業變化來看,如今所說的互聯網思維,實際上核心在於以下幾個點。
1.去中心化。這是目前互聯網行業變化的最大特點,也是讓很多傳統業者,乃至老一輩互聯網行業人士無所適從的特點,無論噱頭如何花哨,這個根源上的變化是真實存在的,所以噱頭才能忽悠住那麼多人。從傳統媒體時代開始,信息的流傳是有關鍵節點的,電視廣播報紙雜志,信息的關鍵節點很明確,控制也很方便。監管部門一聲令下,不願意讓人看見的信息就消失了,除非手抄本,手抄本也很容易順藤摸瓜。即使到了互聯網時代,各種新聞門戶和垂直門戶對於傳統媒體的復制性依賴還是很明確,加上搜索引擎關鍵字的導入控制,互聯網信息傳播節點的壟斷依舊很強,依舊可以通過控制住傳統媒體端和重點網站來操控輿論。
不過互聯網帶來的變化很明顯,就是單純消除或者控制信息的難度顯著提升,要麼藉助於行政權力,要麼付出更大的成本(例如對網路關鍵字的買斷和消除,費用很高),因此互聯網時代對於信息的操控初現了變化,就是信息對抗戰,通過散布對立性信息或者虛假信息來模糊事實,讓用戶無從判斷,水軍、刷榜之類的出現證實了這一做法有效。所以當互聯網時代進入到twitter和facebook時代,中國的同類網站興起之後,水軍的瘋狂成為初期無法遏制的景象。在信息傳播節點完全被打碎的情況下,就連傳統的行政管制都失去了大半威力,更無須說花錢控制信息流通節點。因此面對新的信息流通模式,如何取信於用戶,獲得用戶的好評,過去那種集中火力轟大門戶,傳統強勢報刊媒體的做法基本失去了作用,適合去中心化特點的各類紅人、大V的出現適逢其時,所謂的「自媒體」說法就此流行。
對於依賴媒體傳播品牌信息的互聯網產品和服務來說,這一變化實際上有利有弊,傳統信息流通的節點被打碎,接近消亡,企業投向傳統媒體的廣告和信息量大大減少,互聯網傳播節點的控制難度增加,成本提升,無數難以適應這一變化的企業陷入彷徨,這是弊端的一面。我有不少認識了好多年的公關公司的朋友,這兩年都和我訴苦,說公關不如從前好做了。從前是盯住重點媒體,敢花錢,就能把控住輿論,現在這招根本不靈,控制不住。要控制輿論的成本直線提升,必須重新想辦法。我也給出過一些主意。但去中心化,有利的一面就是如果企業能適應互聯網的變化,建立起從屬於自己的信息流通節點和品牌,那麼信息的傳播效率會顯著提升,成本則大大下降,說白了,就是企業要學著做自媒體。這就是小米興起之後,行業內無數企業都開始學雷軍,學他演講,學小米對微博和社區的把控建設,學所謂的「飢渴營銷」,根源就在於小米比別人快一步,建立了一個有效的信息流通渠道,有足夠的把控力。中小企業未必能有雷軍的資源和思路,但學著建立自己的自媒體傳播渠道,學著通過各種誇大宣傳打造品牌,這點皮毛還是學得到,各種以打造高粉絲量的微博、微信、社區大號為表現的「互聯網思維」達人就此層次涌現。
2.快速精準
既然互聯網的碎片化信息傳播基本壓制住了傳統媒體的傳播路徑,那麼擔負起原有媒體的內容傳播責任也是順理成章,而且面臨新傳播節點對於時效和容量的限制,信息的快速更新迭代就成了唯一的解決辦法。這一點從社區和微博興起我們就看得很清楚。各種驟然興起、影響深遠的互聯網大事件,基本都遵循著一日幾次更新播報變化的規律,將其中所有事態發展欺負清晰展現,持續抓住用戶注意力,這原本是有實力的電視媒體如CNN或者央視才能做到的新聞滾動更新,卻由於沒有了派遣記者和後台視頻製作的流程,變得異常簡單,任何在場有微博的人都可以擔負起這個任務,簡單的文字加圖片就可以將用戶注意力牢牢抓住。
信息傳播渠道的變化,引發了用戶需求的變化,也導致了信息提供者的被動應變。媒體的應變不在這里贅述,對於希望提供產品和品牌信息的企業來說,信息內容的迭代壓力是扎實的考驗,遠比簡單的建立一個形式上的「自媒體」要困難得多,學雷軍搞演講、搞微博、搞社區、搞口碑傳播,形式很容易學,但說什麼,怎麼說,什麼時候說,大部分的企業都不得其法,而類似小米這樣的企業,則是不斷從媒體行業中吸收人才,強化自己的優勢,在信息的快速更新迭代上做的更好一些。與此同時,對應信息的快速更新,產品的快速更新也成為另一個支持信息傳播的焦點。只有產品不斷體現出變化,信息快速更新才不是無病呻吟,這對於企業的創新和研發能力提出了更高的要求。
如果產品更新跟不上,那就只有搞花邊,沒事和業內的對手打打口水仗,搞搞「西紅柿」這樣的花絮,在不涉及產品的情況下保持曝光度,雷軍、劉強東、周鴻禕等人都深諳此道。而如果創新迭代可以跟上,卻把握不住新媒體傳播的特點,例如極路由,不知道該說什麼,不知道什麼時候說,結果就是適得其反。互聯網追求的不僅僅是一個快字,精準(信息精準、投放精準、控制精準)更重要。
自媒體的內容運營這事學問很大,不在此多說,那是另一個話題了。
3.情感品牌
信息傳播的去中心化和快速化,帶來的副作用是公信力的缺失,既然人人都有發言權,大家都可以7×24模式的傳播自己的觀點,那誰說的更有道理,誰更具備說服力,對用戶來說就是個很麻煩的事情。微博時代的方韓大戰給了我們一個好的樣本,在這個事件中,雙方發言的對與錯,道理和邏輯都已經不再重要,重要的是在情感上用戶更相信誰,由此我們看到了一場沒有結果的信息對抗。
對於公眾來說,這是一場鬧劇,但對於企業來說,這是個很好的傳播典範。如果能建立起有效的情感品牌,有足夠的亮點,迎合用戶在情感上、價值觀上的需求,那麼即使身上背負的爭議再多,也依舊能有足夠強大的傳播效力,韓寒的文字再不咋樣,同樣有人為他站台,方舟子再胡說八道,依舊有人做死忠出來洗地。微博上的陸琪、天天開炮的周鴻禕、青年導師李開復,這些人雖然類型不同,但無不如此。當然這方面做得最好的,還是郭小四,《小時代》的票房成功,讓所有的抨擊看起來都是個笑話,因為他打造了自己足夠多的腦殘粉群體,影評人能奈他何呢。這些人看的不是小時代,看的不是郭敬明,看的是他心裡認同的東西。我們這個年代,真與假已經變得不那麼重要,大家並不在乎真相,在乎的是真相是不是自己想要的那個真相,如果不是,他寧可選擇不信。對於互聯網企業的產品和服務來說,也是如此,只要你做的不是差到令人發指,能有一些打動用戶情感的包裝特色存在,例如小米手機的「青春發燒」、極路由的「自由」、360的「挑戰強者」,就一定有一群認同這些價值觀,進而認同你產品的群體跟上來。這是互聯網產品運營的核心思維。其他諸如用戶體驗、免費運營等,都是表面的手段而已。
『叄』 網頁版的Web IM ,一個超難度挑戰!跪大蝦來助
業即時通訊「客戶通」(www.kehu.com.cn)的出現,徹底改變這樣的局面,http://webmessenger.msn.com/
http://www.koolim.com/
http://www.imunitive.com/
http://123e.org/digest_773.html
http://www99.imhaha.com/webmsg/
http://www.radiusim.com/
http://www.koolim.com/
http://www.mabber.com/
http://www.ebuddy.com/
http://itbbs-arch.pconline.com.cn/topic.jsp?tid=6536434
https://imo.im/
『肆』 現在國內互聯網是Web2.0還是Web3.0
不管你是否相信,社交網路和在線視頻流出現之前,互聯網就已經存在了。Web1.0甚至在20世紀90年代谷歌出現之前就已經存在了。當時的互聯網是由AltaVista和網景公司主導的。
AltaVista搜索引擎創立於1995年,2013年被雅虎關閉。網景公司成立於1994年,旗下的網景瀏覽器曾全球聞名,但在2003年被美國在線解散。當時,這些互聯網只為實體公司提供廣告服務。
網頁是「只讀的」,用戶只能搜索信息,瀏覽信息。正如下面第1張圖所展示的:
大多數電子商務網站從性質上講還是Web 1.0,因為其背後的理念非常簡單,面向消費者展示產品,從感興趣的消費者那裡收錢。這些網站往往反應迅速,體驗順暢,但用戶的互動程度被降到了最低。
Web 2.0
在Web 1.0之後,互聯網的第二次迭代被稱作Web 2.0,也就是「可讀寫」網路。到了2.0時代,用戶不僅僅局限於瀏覽,他們還可以自己創建內容並上傳到網頁上。
Web 2.0這個概念,最早是在2003年,由O』Reilly傳媒副總裁Dale Dougherty提出的。自此以後,Web 2.0浪潮席捲全球。僅僅過了10年,Web 2.0就已經徹底重新定義了市場營銷和商務運營。
現在,微博上的大V可以通過一張照片成就或毀掉一個品牌。大眾點評上的用戶可以通過一條差評就抹黑一家餐廳,甚至點評已經對用戶的購買決策起到至關重要的作用。
就像本篇文章第2張圖展示的那樣,形形色色的社交網站和點評網站,是Web 2.0的代表:
根據一項調研,90%的消費者在購買之前會在線閱讀點評,88%的用戶會像信任個人推薦一樣信任網路點評。
Web2.0的初衷就在於讓互聯網更加貼近民主,使用戶更好的互動。
Web 3.0
在了解什麼是Web 3.0之前,先來看下下面這張圖,是不是起來很熟悉?
上圖是本篇文章的第3張圖。每次在亞馬遜上購物,網站演算法就會看其他人購買了你的這件商品後會繼續買什麼,然後會把推薦結果展示給你。
這意味著什麼?這意味著網站在從其他用戶的購買習慣中學習,推斷你有可能傾向於哪些產品,並把你可能喜歡的商品推薦給你。簡而言之,網站自身有了自主學習能力,變得更加智能。
這就是Web 3.0背後的哲學了。
Web1.0是由內容驅動的,內容來自於商業機構,服務於消費者;
Web 2.0允許用戶自主上傳內容,分享內容;
Web 3.0使得在線應用和網站可以接收到已經在網路上的信息,並將新的信息和數據反饋給用戶。
正如相親網站eHarmony研發部門高級總監Gian Gonzaga博士所說,Web 3.0可以反饋給我們之前並不知曉的內容。Web 3.0在學習,在理解你是誰,並試圖給你一些反饋。
Web 3.0的四大屬性
為了更好地理解Web 3.0與Web 1.0和2.0的細微差別和微妙之處,讓我們看看Web 3.0的四個屬性。
屬性一:語義網路
Web3.0的一個關鍵元素是「語義網路」,「語義網路」由萬維網之父Tim Berners-Lee創造,用於表述可以由機器處理的數據網路。
Tim Berners-Lee最初是這樣表達他對語義網路的看法的:
「我有一個夢想,網路中的所有計算機能夠分析網路中的數據,包括內容、鏈接、人與計算機之間的往來。語義網路會讓這一切成為可能,一旦該網路出現,日常的交易機制、事務以及我們的日常生後都會由機器與機器之間的溝通來處理。人們吹噓多年的「智能代理」將最終實現。」那麼,簡單來說,這句話的意思是什麼?語義指的究竟是什麼?
「我愛比特幣」和「我<3比特幣」之間有什麼區別?
兩個句子之間的語法不同,但語義相同。語義處理數據所傳達的意義或情感,在我們的例子中,這兩個句子表達的是相同的情感。
所以,語義網路和人工智慧是Web 3.0的兩大基石。語義網路有助於計算機學習數據的含義,從而演變為人工智慧,分析處理信息和數據。其核心理念是創建一個知識蛛網,幫助互聯網理解單詞的含義,從而通過搜索和分析來創建、共享和連接內容。
由於語義元數據,Web 3.0有助於增強數據之間的連接。因此,用戶體驗會升級到更高層次,所有可用信息將更好地連接起來,最終更有效地被利用。
屬性二:人工智慧
接下來我們來看人工智慧。目前,隨著區塊鏈技術的發展,人工智慧已經成為最熱門和最具創新力的技術。
根據維基網路的說法,「在計算機科學領域,人工智慧,有時被稱為機器智能,是機器所表現出的智能,與人類和其他動物的自然智能不同。」因此,人工智慧將幫助機器變得更加智能,以滿足用戶的需求。
人工智慧允許網站過濾並向用戶提供盡可能最好的數據。目前在Web 2.0中,我們已經開始採納用戶意見,以理解特定產品/資產的質量。想想在豆瓣這樣的網站,用戶可以為電影投票評分,得分較高的電影一般會認為是「好電影」。這樣的信息可以幫助我們直接獲得「好數據」,避免「壞數據」。
如我們已經提到的,Peer Review(同級評級)是Web 2.0最大的貢獻之一。但是,人無完人,人類的建議也並非完全可靠。一部爛片子,也可能因為某種原因得到好評,得分也會上升。人工智慧則可以學習如何區分好壞,給我們提供可靠數據。
屬性三:三維世界
Web 3.0也會改變互聯網的未來,從簡單的二維網路發展為更真實的三維網路世界。三維設計在網路游戲、電子商務、區塊鏈、房地產等Web 3.0的網站和服務中得到了廣泛的應用。
三維網路的概念聽起來可能有點陌生,但很多人已經開始在三維空間中互動了。例如《第二人生》或《魔獸世界》等在線游戲,用戶對他們游戲中的人生比真實生活中的人生更加在意。
《第二人生》的創始人Philip Rosedale相信虛擬身份將像電子郵件地址和手機一樣普遍。雖然現在聽起來虛擬身份似乎還有些遙遠。但別忘了,20多年前的1997年,也僅僅只有少數人有電子郵件地址。這樣來看,擁有3D虛擬身份的人絕對還會增加。
屬性四:無處不在
無所不在是指網路跨越時間與空間,無所不在。Web 2.0時代我們已經獲得這項功能,例如在社交媒體網站例如Instagram,用戶可以拍照,在線上傳或分享,照片可以成為自己的知識產權。圖像隨處可見,無處不在。
移動設備和互聯網的發展將使Web 3.0體驗隨時隨地可用。互聯網將不再像Web 1.0那樣局限在桌面上,也不再像Web 2.0那樣僅僅在智能手機,而是會無所不在。
要實現這一目標,Web 3.0時代,身邊的一切事物都是連接在線的,也就是物聯網。我們正在緩慢但穩定地向物聯網邁進。
Web 3.0應用的挑戰
了解了什麼是Web 3.0,接下來讓我們來看看Web 3.0的應用過程中有哪些挑戰。
無邊際:互聯網是巨大的,它包含了數十億個頁面,僅Snomed CT醫學術語就包含了370,000個類目,而現有的技術還不能消除所有語義重復的術語。任何能夠讀取數據並理解其功能的推理系統必須要處理海量數據。
模糊:用戶查詢往往不是很具體,有時候可能非常模糊,只能用模糊邏輯處理模糊性。
不確定:互聯網處理大量不確定的價值。例如,有些患者可能會出現一組症狀,對應於許多不同的不同診斷,每個診斷的概率都不同。概率推理技術通常用於解決不確定性。
不一致:前後矛盾的數據可能會導致邏輯上的沖突以及不可預期的分析結果。
欺詐:雖然人工智慧可以過濾數據,但是如果所有提供的數據都是故意錯誤和誤導的呢?應用加密技術可以有效預防這個問題。
增加信息連接:語義網路將有助於在線數據的連接。
高效搜索
有效營銷
高效網路瀏覽
有效溝通
改變人類互動
對設備要求較高,落後的設備難以滿足Web 3.0的要求。
大浪淘沙,3.0時代, 1.0時期網站更過時了。
相對復雜,新手理解起來很困難。
盡管面臨許多挑戰,但營長相信Web 3.0的發展仍然是大勢所趨。
Web 3.0有很多優勢,例如:
同時,它也有一些不足,主要包括:
人類正處於真正的互聯網革命的邊緣,Web 3.0的實現確實存在一些挑戰,但它能給我們的生活帶來的純粹創新卻是難以置信的。
目前關於Web 3.0雖然有很多炒作,但我們仍然需要一些實際用例來真正理解它可以給我們的生活帶來哪些積極變化。
在這方面,區塊鏈也是一個很好的連接場景。讓我們拭目以待!
『伍』 白帽子講Web安全的前言
在2010年年中的時候,博文視點的張春雨先生找到我,希望我可以寫一本關於雲計算安全的書。當時雲計算的概念正如日中天,但市面上關於雲計算安全應該怎麼做卻缺乏足夠的資料。我由於工作的關系接觸這方面比較多,但考慮到雲計算的未來尚未清晰,以及其他的種種原因,婉拒了張春雨先生的要求,轉而決定寫一本關於Web安全的書。 我對安全的興趣起源於中學時期。當時在盜版市場買到了一本沒有書號的黑客手冊,其中coolfire 的黑客教程令我印象深刻。此後在有限的能接觸到互聯網的機會里,我總會想方設法地尋找一些黑客教程,並以實踐其中記載的方法為樂。
在2000年的時候,我進入了西安交通大學學習。在大學期間,最大的收獲,是學校的計算機實驗室平時會對學生開放。當時上網的資費仍然較貴,父母給我的生活費里,除了留下必要的生活所需費用之外,幾乎全部投入在這里。也是在學校的計算機實驗室里,讓我迅速在這個領域中成長起來。
大學期間,在父母的資助下,我擁有了自己的第一台個人電腦,這加快了我成長的步伐。與此同時,我和一些互聯網上志同道合的朋友,一起建立了一個技術型的安全組織,名字來源於我當時最喜愛的一部動漫:「幻影旅團」。歷經十餘載,「幻影」由於種種原因未能得以延續,但它卻曾以論壇的形式培養出了當今安全行業中非常多的頂尖人才。這也是我在這短短二十餘載人生中的最大成就與自豪。
得益於互聯網的開放性,以及我親手締造的良好技術交流氛圍,我幾乎見證了全部互聯網安全技術的發展過程。在前5年,我投入了大量精力研究滲透測試技術、緩沖區溢出技術、網路攻擊技術等;而在後5年,出於工作需要,我把主要精力放在了對Web安全的研究上。 發生這種專業方向的轉變,是因為在2005年,我在一位摯友的推薦下,加入了阿里巴巴。加入的過程頗具傳奇色彩,在面試的過程中主管要求我展示自己的能力,於是我遠程關閉了阿里巴巴內網上游運營商的一台路由設備,導致阿里巴巴內部網路中斷。事後主管立即要求與運營商重新簽訂可用性協議。
大學時期的興趣愛好,居然可以變成一份正經的職業(當時很多大學都尚未開設網路安全的課程與專業),這使得我的父母很震驚,同時也更堅定了我自己以此作為事業的想法。
在阿里巴巴我很快就嶄露頭角,曾經在內網中通過網路嗅探捕獲到了開發總監的郵箱密碼;也曾經在壓力測試中一瞬間癱瘓了公司的網路;還有好幾次,成功獲取到了域控伺服器的許可權,從而可以以管理員的身份進入任何一位員工的電腦。
但這些工作成果,都遠遠比不上那厚厚的一摞網站安全評估報告讓我更有成就感,因為我知道,網站上的每一個漏洞,都在影響著成千上萬的用戶。能夠為百萬、千萬的互聯網用戶服務,讓我倍感自豪。當時,Web正在逐漸成為互聯網的核心,Web安全技術也正在興起,於是我義無返顧地投入到對Web安全的研究中。
我於2007年以23歲之齡成為了阿里巴巴集團最年輕的技術專家。雖未有官方統計,但可能也是全集團里最年輕的高級技術專家,我於2010年獲此殊榮。在阿里巴巴,我有幸見證了安全部門從無到有的建設過程。同時由於淘寶、支付寶草創,尚未建立自己的安全團隊,因此我有幸參與了淘寶、支付寶的安全建設,為他們奠定了安全開發框架、安全開發流程的基礎。 當時,我隱隱地感覺到了互聯網公司安全,與傳統的網路安全、信息安全技術的區別。就如同開發者會遇到的挑戰一樣,有很多問題,不放到一個海量用戶的環境下,是難以暴露出來的。由於量變引起質變,所以管理10台伺服器,和管理1萬台伺服器的方法肯定會有所區別;同樣的,評估10名工程師的代碼安全,和評估1000名工程師的代碼安全,方法肯定也要有所不同。
互聯網公司安全還有一些鮮明的特色,比如注重用戶體驗、注重性能、注重產品發布時間,因此傳統的安全方案在這樣的環境下可能完全行不通。這對安全工作提出了更高的要求和更大的挑戰。
這些問題,使我感覺到,互聯網公司安全可能會成為一門新的學科,或者說應該把安全技術變得更加工業化。可是我在書店中,卻發現安全類目的書,要麼是極為學術化的(一般人看不懂)教科書,要麼就是極為娛樂化的(比如一些「黑客工具說明書」類型的書)說明書。極少數能夠深入剖析安全技術原理的書,以我的經驗看來,在工業化的環境中也會存在各種各樣的問題。
這些問題,也就促使我萌發了一種寫一本自己的書,分享多年來工作心得的想法。它將是一本闡述安全技術在企業級應用中實踐的書,是一本大型互聯網公司的工程師能夠真正用得上的安全參考書。因此張春雨先生一提到邀請我寫書的想法時,我沒有做過多的思考,就答應了。
Web是互聯網的核心,是未來雲計算和移動互聯網的最佳載體,因此Web安全也是互聯網公司安全業務中最重要的組成部分。我近年來的研究重心也在於此,因此將選題范圍定在了Web安全。但其實本書的很多思路並不局限於Web安全,而是可以放寬到整個互聯網安全的方方面面之中。
掌握了以正確的思路去看待安全問題,在解決它們時,都將無往而不利。我在2007年的時候,意識到了掌握這種正確思維方式的重要性,因此我告知好友:安全工程師的核心競爭力不在於他能擁有多少個0day,掌握多少種安全技術,而是在於他對安全理解的深度,以及由此引申的看待安全問題的角度和高度。我是如此想的,也是如此做的。
因此在本書中,我認為最可貴的不是那一個個工業化的解決方案,而是在解決這些問題時,背後的思考過程。我們不是要做一個能夠解決問題的方案,而是要做一個能夠「漂亮地」解決問題的方案。這是每一名優秀的安全工程師所應有的追求。 然而在當今的互聯網行業中,對安全的重視程度普遍不高。有統計顯示,互聯網公司對安全的投入不足收入的百分之一。
在2011年歲末之際,中國互聯網突然捲入了一場有史以來最大的安全危機。12月21日,國內最大的開發者社區CSDN被黑客在互聯網上公布了600萬注冊用戶的數據。更糟糕的是,CSDN在資料庫中明文保存了用戶的密碼。接下來如同一場盛大的交響樂,黑客隨後陸續公布了網易、人人、天涯、貓撲、多玩等多家大型網站的資料庫,一時間風聲鶴唳,草木皆兵。
這些數據其實在黑客的地下世界中已經輾轉流傳了多年,牽扯到了一條巨大的黑色產業鏈。這次的偶然事件使之浮出水面,公之於眾,也讓用戶清醒地認識到中國互聯網的安全現狀有多麼糟糕。
以往類似的事件我都會在博客上說點什麼,但這次我保持了沉默。因為一來知道此種狀況已經多年,網站只是在為以前的不作為而買單;二來要解決「拖庫」的問題,其實是要解決整個互聯網公司的安全問題,遠非保證一個資料庫的安全這么簡單。這不是通過一段文字、一篇文章就能夠講清楚的。但我想最好的答案,可以在本書中找到。
經歷這場危機之後,希望整個中國互聯網,在安全問題的認識上,能夠有一個新的高度。那這場危機也就物有所值,或許還能藉此契機成就中國互聯網的一場安全啟蒙運動。
這是我的第一本書,也是我堅持自己一個人寫完的書,因此可以在書中盡情地闡述自己的安全世界觀,且對書中的任何錯漏之處以及不成熟的觀點都沒有可以推卸責任的借口。
由於工作繁忙,寫此書只能利用業余時間,交稿時間多次推遲,深感寫書的不易。但最終能成書,則有賴於各位親朋的支持,以及編輯的鼓勵,在此深表感謝。本書中很多地方未能寫得更為深入細致,實乃精力有限所致,尚請多多包涵。 在安全圈子裡,素有「白帽」、「黑帽」一說。
黑帽子是指那些造成破壞的黑客,而白帽子則是研究安全,但不造成破壞的黑客。白帽子均以建設更安全的互聯網為己任。
我於2008年開始在國內互聯網行業中倡導白帽子的理念,並聯合了一些主要互聯網公司的安全工程師,建立了白帽子社區,旨在交流工作中遇到的各種問題,以及經驗心得。
本書名為《白帽子講Web安全》,即是站在白帽子的視角,講述Web安全的方方面面。雖然也剖析攻擊原理,但更重要的是如何防範這些問題。同時也希望「白帽子」這一理念,能夠更加的廣為人知,為中國互聯網所接受。 全書分為4大篇共18章,讀者可以通過瀏覽目錄以進一步了解各篇章的內容。在有的章節末尾,還附上了筆者曾經寫過的一些博客文章,可以作為延伸閱讀以及本書正文的補充。
第一篇 我的安全世界觀是全書的綱領。在此篇中先回顧了安全的歷史,然後闡述了筆者對安全的看法與態度,並提出了一些思考問題的方式以及做事的方法。理解了本篇,就能明白全書中所涉及的解決方案在抉擇時的取捨。
第二篇 客戶端腳本安全就當前比較流行的客戶端腳本攻擊進行了深入闡述。當網站的安全做到一定程度後,黑客可能難以再找到類似注入攻擊、腳本執行等高風險的漏洞,從而可能將注意力轉移到客戶端腳本攻擊上。
客戶端腳本安全與瀏覽器的特性息息相關,因此對瀏覽器的深入理解將有助於做好客戶端腳本安全的解決方案。
如果讀者所要解決的問題比較嚴峻,比如網站的安全是從零開始,則建議跳過此篇,先閱讀下一篇「伺服器端應用安全」,解決優先順序更高的安全問題。
第三篇 伺服器端應用安全就常見的伺服器端應用安全問題進行了闡述。這些問題往往能引起非常嚴重的後果,在網站的安全建設之初需要優先解決這些問題,避免留下任何隱患。
第四篇 互聯網公司安全運營提出了一個大安全運營的思想。安全是一個持續的過程,最終仍然要由安全工程師來保證結果。
在本篇中,首先就互聯網業務安全問題進行了一些討論,這些問題對於互聯網公司來說有時候會比漏洞更為重要。
在接下來的兩章中,首先闡述了安全開發流程的實施過程,以及筆者積累的一些經驗。然後談到了公司安全團隊的職責,以及如何建立一個健康完善的安全體系。
本書也可以當做一本安全參考書,讀者在遇到問題時,可以挑選任何所需要的章節進行閱讀。 感謝我的妻子,她的支持是對我最大的鼓勵。本書最後的成書時日,是陪伴在她的病床邊完成的,我將銘記一生。
感謝我的父母,是他們養育了我,並一直在背後默默地支持我的事業,使我最終能有機會在這里寫下這些話。
感謝我的公司阿里巴巴集團,它營造了良好的技術與實踐氛圍,使我能夠有今天的積累。同時也感謝在工作中一直給予我幫助和鼓勵的同事、上司,他們包括但不限於:魏興國、湯城、劉志生、侯欣傑、林松英、聶萬全、謝雄欽、徐敏、劉坤、李澤洋、肖力、葉怡愷。
感謝季昕華先生為本書作序,他一直是所有安全工作者的楷模與學習的對象。
也感謝博文視點的張春雨先生以及他的團隊,是他們的努力使本書最終能與廣大讀者見面。他們的專業意見給了我很多的幫助。
最後特別感謝我的同事周拓,他對本書提出了很多有建設性的意見。
吳翰清
2012年1月於杭州
『陸』 web開發都要具備哪些必備能力
一,html,css能力
1,了解階段,知道html標簽是干什麼用的,通過網路和手冊能自主的寫一些html,知道css是怎麼回事,能在html中寫一些簡單的style等
2,熟悉階段,能利用css來能設計一些簡單的布局,可以將css單獨的寫成文件,熟悉css的語法規則,以及繼承性等
3,很熟悉階段,能夠設計出很好的CSS,並且管理好這些CSS文件,盡量減少冗餘代碼。知道如何寫出有利於搜索引擎搜索的代碼,例如:title,h1,h2權重比較高的。等
二,js能力
如果提高用戶體驗,是一個網站能留住人的重要標志。這個就要用到JS了
1,了解階段,了解JS的基本語法,知道如何去調試這些程序,能寫一些簡單function等
2,熟悉階段,對JS的語法,函數,正則等已經熟悉了,能利用js來寫一些特效,並且發 現用JS寫特效,是比較累人的一件事,開始嘗試jquery,prototype,並對jquery,prototype基本語法有所解,個人反對不學 JS,直接入手jquery,prototype這樣的JS框架。
3,很熟悉階段,在框架的幫助下,能熟練的用OOP的思想的來寫代碼,而不是一個個 function累加,熟練運用jquery,prototype的ajax,或者是網上一些ajax框架,如(ajaxrequest),不在直接寫 active控制項了。能夠利用網路資源,來完成各種特效。
三,最關鍵的php能力
1,了解階段,您能寫一些代碼,因為那是在手冊和google的幫助下,您才完成的。變數亂定義,N多函數不知道,做起事來很慢,想到什麼寫什麼,代碼寫的比較亂,後期維護很麻煩。
2,熟悉階段,經常查函數,手冊估計也看過一,二遍了,常用的函數基本上您都了解了。後 期維護給您帶來了不少痛苦,您開始發現自己的代碼有很多不足,開始思考如果改進自己的代碼,如何站在項目的角度來規劃自己的代碼,而不是想到什麼寫什麼, 知道如何來減少冗餘代碼,使您的代碼清晰,知道什麼樣的代碼寫出來讓人看著舒服,基本的代碼規范,已經形成。為了提高自己,會特意的去一些技術性的論壇, 學習研究。
3,很熟悉階段,這個階段,我想您已經從面向過程進入了面向對象。個人覺得面向對象的最大好處就是,能使整個項目功能化,模塊化, 後期維護,改版,升級就很方便了。沒有面向對象的時候,不也一樣開發嗎.這個時期,您已經研究過了一種或者幾種框架,結合自己的實際項目經驗,在腦子里已 經能形成自己的一個框架,這個框架是最適合你的。並且能夠將這個框架運用到實際的開發中去,以提高自己的開發效率,並且能夠優化性能!
四,資料庫能力
用php來做項目的話,用mysql是最多的了,其次是pgsql。因為他們二個是免費的。哈哈,以mysql為例
1,了解階段,知道mysql是什麼,能寫一些簡單的sql語句,能設計簡單的表,知道如何使用資料庫管理工具(如:phpmyadmin)
2,熟悉階段,知道如何才能寫出高效率的sql語句,了解索引原理,知道如何創建索引, 會寫一些儲存過程,觸發器等,能通過各種手段來分析,測試資料庫,例如:利用mysqlslap來進行壓力測試,通來explain來分析sql語句,通 過開啟慢查詢來分析哪些sql語句真正影響mysql的運行,能利用dbdesigner4,mysql workbench為設計資料庫,能在命令狀態下,查詢,分析mysql環境變數,來分析mysql的運行狀態等等
3,很熟悉階段,對於各有種存儲引擎的原理非常熟悉,知道通過修改配置文件來,使存儲引 擎達到最優化,知道如何來優化資料庫的最大連接數,知道怎麼樣來優化mysql的I/o瓶頸,為了項目的需要,向mysql資料庫增加存儲引擎或者插件, 知道如何搭建資料庫集群,並監控資料庫的運行狀態等等
五,apache等能力
個人覺得,到目錄為止,跑php的話用apache的人還是最多,前段時間好多網站在吵NGINX有多麼多麼的好,能比apache好10倍,我覺得還是親自嘗試一下比較好。以apache為例
1,了解階段,不管是linux下,還是windows下,能夠安裝配置apache,知道如何添加php添模,如果面試官問你,apache為什麼能解釋php代碼,你怎麼回答呢。對apache的基本配置有所了解,對於啟動中遇到的問題能夠解決等
2,熟悉階段,知道如何向apache中添加新的模塊,如果如何進行url重寫,防盜鏈,進行IP限制等
3,很熟悉階段,知道如何利用apache來緩存圖片,能利用apache來做負載均衡,並且知道利用ab命令來進行壓力,通過工具對日誌分析,經過分析來對apache進行優化,知道如何搭建多個虛擬主機;對apahce的常用模塊都有實際操作經驗等
對apache進行監控和維護,一般是運維人員或者是項目經理來做的,個人覺得最好還是了解一點,因為這樣您才不會那麼容易被忽悠,對於自己將來的轉型也是非常有必要的。
六,linux系統
為什麼要掌握linux系統呢?用php寫的網站大多數運行在linux或者 freebsd下的,掌握linux系統對自己將來的發展還是比較有好處的。,在linux下,不用擔心中毒的問題,linux下的病毒很少,也不用擔 心,XX和XXX掃描你的硬碟了。哈哈
1,熟悉階段,會裝linux系統,對系統的常用命令能夠熟練運用等
2,運用階段,在linux系統下,能夠安裝配置apache,php,mysql,svn,memcache,squid,lvs等一些web項目必要的工具,能夠通過日誌分析其狀態等。對shell要有所了解,並能夠寫一些簡單的shell腳本等
七,溝通能力
這一點非常重要,並且被越來越多的人所忽視,其實做程序員挺杯具的,根電腦打交道的時間 是最多,也許是因為這樣吧,溝通的時候,是比較費勁的,也有可能是被程序的嚴謹性束縛了大腦,說出來的話,太專業,可能其他人聽不懂得。所以平時多和他人 交流,特別是根非技術人員多溝通,多站在對方的角度來思想問題,這樣的話,我想溝通起來會容易很多。
『柒』 學web前端有前途嗎
第一,必須掌握基本的Web前端開發技術,其中包括:CSS、HTML、DOM、BOM、Ajax、JavaScript等,在掌握這些技術的同時,還要清楚地了解它們在不同瀏覽器上的兼容情況、渲染原理和存在的Bug。
第二,在一名合格的前端工程師的知識結構中,網站性能優化、SEO和伺服器端的基礎知識也是必須掌握的。
第三,必須學會運用各種工具進行輔助開發。
第四,除了要掌握技術層面的知識,還要掌握理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持,等等。
可見,看似簡單的網頁製作,如果要做得更好、更專業,真的是不簡單。這就是前端開發的特點,也是讓很多人困惑的原因。如此繁雜的知識體系讓新手學習起來無從下手,對於老手來說,也時常不知道下一步該學什麼。
代碼質量是前端開發中應該重點考慮的問題之一。例如,實現一個網站界面可能會有無數種方案,但有些方案的維護成本會比較高,有些方案會存在性能問題,而有些方案則更易於維護,而且性能也比較好。這里的關鍵影響因素就是代碼質量。CSS、HTML、JavaScript這三種前端開發語言的特點是不同的,對代碼質量的要求也不同,但它們之間又有著千絲萬縷的聯系。
『捌』 web開發的發展前景怎麼樣呢
1、行業發展好
就說我們目前中國所有行業,可以說任何一個行業都離不開互聯網,現在的人們對於互聯網的依賴很大,互聯網行業在中國無疑是現在發展前景最好的沒有之一。web前端現在雖然競爭大,剛開始工作並不是那麼好找,但是它未來所需要的人才是可觀的,只有你擁有這個技術,作為web互聯網+時代,用戶體驗現在成為了企業的第一標准,web前端當然待遇是水漲船高的。
2、人才需求大
現在的人們離不開手機,我們現在手機的各種應用都是用代碼寫成的,互聯網對人們的影響越來越大,根據新聞報道未來中國20年,需要軟體開發,美工設計,web前端開發人才2000W人才,各類職業也需求更多,前端的人才需求比以前也有了質的飛躍。
3、薪資待遇高
web前端開發工程師的薪資待遇平均工資已經突破一萬,因為其他行業確實工資漲幅不大,所以必然會吸引了大批想要月薪過萬的人來轉行學習。我想引用喬布斯的一句話:WEB就是人類的未來,我們身為前端開發工作者也是未來,相信WEB前端開發的明天會更好。