要對用戶輸入的信息進行簡單的過濾。例如點擊登錄按鈕時先判斷用戶輸入用戶名和密碼了嗎西壮?密碼超過指定數(shù)量的字符了嗎铡俐?(密碼要有個最低長度)。如果有問題脯倚,就直接用alert之類的提示用戶,沒必要把數(shù)據(jù)傳到后臺了。當然推正,服務器收到用戶名和密碼時候也要再做這些判斷恍涂,再去數(shù)據(jù)庫里判斷有沒有這個用戶
若用戶名,密碼都輸入了,但有錯誤植榕,通過Ajax及時通知再沧。頁面加載速度?怎么優(yōu)化尊残?
要不要把靜態(tài)文件放入cdn炒瘸?
要不要壓縮js代碼?怎么壓縮寝衫?
緩存登錄頁面還有一些值得考慮:
用http還是https?驗證碼:
什么是驗證碼:
驗證碼就是將一串隨機產(chǎn)生的數(shù)字或符號什燕,生成一幅圖片,圖片里加上一些干擾元素竞端,由用戶肉眼識別其中的驗證碼信息屎即,然后輸入表單提交網(wǎng)站驗證,驗證成功后才能使用某項功能事富。
實現(xiàn)
驗證碼的實現(xiàn)方法有很多種技俐,但大致模式是一樣的。目前有的網(wǎng)站使用驗證碼的方式有session方式和cookie方式统台,區(qū)分主要根據(jù)驗證碼初始值保存在哪里雕擂,雖然對于一般用戶而言這兩種都是不可見的,但安全性差別很大贱勃。一般而言井赌,session方式比較安全,用戶除非識別圖片贵扰,別無選擇仇穗,只是增加了服務器的一丁點額外的內(nèi)存消耗。cookie方式不使用額外的服務器內(nèi)存戚绕,但cookie方式用戶可對驗證交互過程數(shù)據(jù)進行分析纹坐,可輕松破解驗證碼,所以出于更高的安全性考慮舞丛,還是建議使用session方式
目的
現(xiàn)在很多網(wǎng)站使用驗證碼技術耘子,主要為了安全性考慮,防止用戶使用程序自動機進行自動提交注入球切,避免服務器交互處理遭受不必要的攻擊谷誓。其主要思想是必須通過人為參與完成信息提交過程,并且對驗證碼字體做了相關處理吨凑,因為對于目前的技術發(fā)展來說捍歪,驗證碼的計算機自動識別還不太容易(不是沒有可能)。雖然現(xiàn)在有些技術可以繞過驗證碼輸入這一關,但使用驗證碼技術费封,也還是對其有一定的制約作用,并且主要的對網(wǎng)站的信息安全還是起到了顯著的保護屏障的作用蒋伦。
使用方式
驗證碼的使用很簡單弓摘,只是在原有表單提交代碼內(nèi)加入兩個新要素:驗證碼輸入框,驗證碼圖片痕届。驗證碼圖片韧献,圖片源指向服務器端動態(tài)處理,輸出二進制圖片格式研叫,用戶看不清時可單獨重載圖片锤窑,產(chǎn)生新的驗證碼。驗證碼輸入嚷炉,主要用于用戶獲取用戶識別驗證碼圖片的結果渊啰。提交數(shù)據(jù)后服務器根據(jù)已保存的初始值和用戶識別值進行比對,如不符申屹,立即停止信息提交處理绘证,反饋驗證碼輸入錯誤
- 如何預防攻擊:
sql注入:
服務器端用預處理語句
xss:
跨站腳本攻擊,是注入攻擊的一種其原理是攻擊者向有XSS漏洞的網(wǎng)站中輸入(傳入)惡意的HTML代碼或者用戶端腳本語言哗讥。嚷那,當其它用戶瀏覽該網(wǎng)站時,這段HTML代碼會自動執(zhí)行杆煞,從而達到攻擊的目的魏宽。如,盜取用戶Cookie决乎、破壞頁面結構队询、重定向到其它網(wǎng)站等。其特點是不對服務器端造成任何傷害构诚。
XSS防御:
完善的過濾體系 永遠不相信用戶的輸入娘摔。需要對用戶的輸入進行處理,只允許輸入合法的值唤反,其它值一概過濾掉凳寺。
csrf:
跨站請求偽造,攻擊者盜用了你的身份,以你的名義發(fā)送惡意請求彤侍。
對于服務器要能夠判斷請求是否是從自家網(wǎng)站發(fā)出的肠缨。