❶ 程序員,在開發的過程中應該注意哪些安全方面的問題
可忽視的誤區 企業的軟體開發能力取決於該企業的軟體過程能力。如果一個企業軟體過程能力越成熟,那麼該企業的軟體開發能力就越有保證。大量的實踐經驗表明,在體現企業軟體開發能力的因素中,技術或工具並不是第一位的。其實,許多問題不是出在不懂怎麼做,而是沒有安排做,做的次序不對,或不知道怎樣做得更好。 目前,比照軟體過程管理模型(如圖一),中國的軟體企業中還存在各種影響過程改進的因素和誤區,主要表現在個體和組織兩個方面。 在組織方面,首先,中國軟體企業實施CMM往往缺乏高級管理者的支持。其次,沒有足夠的SEPG資源。從很多情況考慮,SEPG成員要比其他CMM相關組綜合素質高一個層次,CMM相關組的管理素質需要比技術類組高一個層次,才能順利開展工作。第三,沒有合適的先行者或者沒有適當全局觀的項目經理配合。被組織選為先行者的人員經常說自己沒有時間,由於這些人都是從各個項目中抽出來的,一般人很難有足夠的權力讓他們為配合CMM做工作。最後,軟體組織缺乏足夠詳細的項目計劃和監督調整機制。 在個體方面,首先,手工作坊式的個人英雄主義情結成為實施CMM的制約。其次,某些軟體開發人員錯誤地認為過程管理會影響或壓抑專業人員的創造性,其實這是不清楚過程的定義造成的。第三,由於軟體項目的成功更多地依賴於少數人員的傑出技術能力和項目管理能力,成功項目的經驗不能得到最大限度的繼承,軟體生產的可重復性相對比較差。最後,軟體企業人員變更相對頻繁也增加了實施CMM的難度。 「三七」法則 在過程改進總體建議方面,應該從三個方面做准備,分七步走。 首先,在組織方面的准備上,除了要求高層經理出資支持CMM改善軟體過程,委託具有管理職責的人員負責CMM實施之外,須成立軟體工程過程組(SEPG),研究CMM、編寫/修改必要的文檔並推廣文檔;成立軟體質量保證組(SQAG),研究軟體質量保證技術及過程,編寫/修改必要的SQA文檔並推廣已編寫的文檔,測量和分析項目進展情況,反饋項目過程狀態,准備和評審過程、計劃和標准,審計指定的軟體工作產品以檢驗其遵從性,審計軟體工作過程的符合性;成立軟體配置管理組(SCMG),研究軟體配置管理技術及過程,編寫/修改必要的SCM文檔並推廣已編寫的文檔,建立必要的工具支持。 在知識准備方面,要加強培訓工作,建立內部過程評估隊伍和龐大的過程改善隊伍。對各角色人員進行專項培訓,普遍開展軟體工程基礎及CMM的培訓,使每個崗位的人員都具備過程改進的意識,並掌握所必需的過程改進知識和技能。此外,要重視對軟體工程的研究,包括方法、工具和過程,加速培養過程改進的骨幹隊伍。 在能力准備方面,建立有效的軟體項目管理,文檔化且遵循軟體項目管理過程,在建立管理過程中,使用組織的方針來指導項目,建立基本軟體工作產品完成准則和檢查單,並迅速實施,然後根據反饋意見及時修改。堅持適當的監控機制,例如對項目進度進行跟蹤而建立的例會制度,制度化的日報和周報活動。做好實際數據收集、測量與分析工作等。重復成功的以前項目的開發經驗。 改進過程總體可以分為以下七個步驟。 確定目標:確定在一段時間內達到的改進等級。 狀態診斷:把過程改進要達到的狀態與目前的狀態作比較,找出存在的差距。 制定計劃:「凡事有計劃,按計劃辦」不僅是CMM強調的,也是軟體開發過程中應該注意的。 規程制定:過程改進的一個重要的地方就是「事事有規程,時時有記錄」,這樣,即使關鍵人走了,原來的事也能繼續而不致產生過多的停頓。 過程試點:制定了規程後,要對行動計劃按執行過程的情況進行適當調整。其中,尤其要注重評審和驗證,實現定期監控,注意採集度量數據。 反饋修正:總結過程試點的經驗,修訂規程。 過程推廣:擴大應用范圍。 軟體過程改進實施步驟 公司的過程改進活動也是一個項目,並且是很大的項目,涉及的人員、技術和資源都很多,還要平衡現有產品或項目的進度等。同時,它也是一個不斷往復,螺旋上升的一個過程。 第一個步驟為高級經理下定決心,提供足夠的資源來主持並完成前期的准備工作,這個階段核心是評價SEPG組長的資格和資質,還包括評估培訓、購買工具的預算及相應資金能否及時到位。 無論是軟體商業化的過程或CMM實施的過程之中,建立規范化的易於操作的軟體開發行為規范都是首先要做的工作。但是,切記,編制規范的時間一定不能長,以10到12個工作日為宜,文檔不宜過多,以5~6個規程為好(對應5個或6個關鍵過程域),這是第二個關鍵階段。評價標准可以是SEPG組長能夠順利、流暢地講解其制定的規程。在規程編制階段必須有老闆或常務副總直接領導CMM工作。但是一定要記住,制定的過程要遵從「從實踐中來,到實踐中去」,同項目經理、有經驗的開發人員研究、討論,從而使SEPG組長能夠及時反映工作中的問題,並且問題能夠得到及時解決。 第三個步驟是制定並發布公司的評估方針和方案,包括開發體系重組過程中的激勵措施,中層在此階段必須介入,這關系著過程改進的結果。SEPG和CMM實施的周例會,必須有高級經理參加,要有記錄或錄音作為證據,是考核的一個指標。 除此之外,對於還沒有進行基於CMM改進的企業,還要重視設計復查、代碼復查以及測試工作 。很多程序員習慣於「只做不想」這樣一種工作方式,他們更關心每天可以寫多少行代碼,完成幾個模塊,在這種態度下,他們都很不願意復查自己的工作,而習慣於在軟體測試階段把隱藏的錯誤改正過來。CMM實施過程,就是要通過各種復查,溝通信息,及早發現並更改問題。 在實施了初始的過程或技術部署後,培訓成了主要問題。但人員變動時,附加培訓的必要可能沒被認識到,管理技能的培訓尤為重要。而對於那些由於過硬的技術而被提升到管理職位的人員,需要接受一整套新技能的培訓,包括人際關系技能。 項目經理在整個過程改進中(尤其是CMM二級)的工作量大約要佔到整個總量的一半到四分之三,在評估訪談時也佔有了舉足輕重的地位。有些項目經理認為自己心裡有一套計劃,只要按計劃進行就可以按時保質完成項目,但事實並非如此,在項目組之間的協調問題上,高層經理的作用是非常明顯的。 試點或模擬項目可以很小,哪怕只有兩個人,或者聯合SEPG進行指導全部公司的模擬項目,這是縮短試驗的最好途徑。先組織配置管理活動的培訓或學習,配置管理活動和質量保證活動在此期間可以得到很好的練習。 CMM為軟體企業的過程能力提供了一個階梯式的改進框架,它基於過去所有軟體工程過程改進的成果,吸取了以往軟體工程的經驗教訓,提供了一個基於過程改進的框架; 它指明了一個軟體組織在軟體開發方面需要管理哪些主要工作、這些工作之間的關系、以及以怎樣的先後次序,一步一步地做好這些工作而使軟體組織走向成熟。 但是由於CMM中不研究所有軟體過程和質量改進問題,也未提供有關實現子過程域所需要的具體知識和技能,因此要進行個體軟體過程PSP的實踐活動,以填補這一空白,並優化過程改進途徑。
❷ 如何避免網站被攻擊
如何做好網站安全防禦:
(一)網站數據定期備份:定期備份網站數據可以用來恢復被攻擊的網站,即便網站被攻擊或誤操作刪除一些網站信息,可隨時恢復。為此網站運維,網站備份才是硬道理。
(二)網站程序系統更新:網站程序和伺服器系統定期更新使用的版本、補丁,可消除一些存在的安全漏洞,以防給黑客帶來可趁之機。
(三)定期查殺網站病毒:定期查殺網站病毒可以防止黑客的進一步破話或竊取網站數據,也可以及時刪除入侵的網站後門漏洞文件。
(四)網站文件許可權設置:對網站伺服器文件合理的設定許可權,比如部分執行程序的重要文件應當取消寫入或執行許可權,可避免黑客篡改網站數據。
(五)網站域名開啟https數據安全傳輸協議和CDN速,開啟https和CDN,可以更快的、安全的運行網站,可以隱藏自己的網站真實ip,一定程度上預防DDoS攻擊、CC攻擊、域名劫持等安全隱患。
(六)網站如何防禦DDos攻擊和CC攻擊?可使用高仿伺服器:高防伺服器具有高性能、高帶寬、高防禦的特點,在安全上、運行上自身具備一定維護的基礎後盾,給後期維護帶來了不少的方便,但是造價高昂,這里主機吧推薦用網路雲加速,網路雲加速是網路旗下為網站提供一站式加速、安全防護和搜索引擎優化的產品。網路雲加速正為數十萬用戶的近百萬網站提供CDN、網路安全和SEO服務。每天處理十億級的PV流量及數百億TB的數據流量,並提供市場頂尖水平的穩定性和抗攻擊能力。相關鏈接
(七)定期更新管理密碼:網站密碼可被離職程序員記錄或黑客入侵暴力破解獲取,定期更新網站後台密碼和遠程伺服器登陸密碼可有效預防數據損失。
(八)定期查看網站日誌:網站運行數據的記錄都在網站日誌里記載,開啟並定期查看網站日誌,清晰地了網站運行的軌跡,是網站維護的重要方式之一。
❸ 遭遇黑客,程序員,前端人員獲取個人信息泄密問題你看該怎麼解決
這是一個安全問題,大致需要解決的是前端可能導致的許可權被拉取(cookie跨域訪問等),傳輸過程中的信息抓包(中間人攻擊等),以及後端資料庫被拖庫(伺服器被黑)
首先前端不要用cookie進行許可權的管理,使用token的方式,有條件設計單獨的token伺服器。非分布式的可以使用session。
其次數據的交互應該走https或一定的加密規則,保證數據傳輸過程的安全性。
前端開發者發送數據的時候,重要的數據一定得post不能使用get,還可以進行一定的數據加密和校驗規則。
最後後端接收並保存到資料庫,重要數據和隱私數據是必然需要加密存儲的,這里涉及到許可權問題,加密的隱私數據與規則應該盡量保證只有用戶才能查看,保證拖庫後也無法直接獲取用戶信息。加密規則加鹽規則保密。