預防XSS攻擊需要注意的地方。

2021-07-27 16:58:31 字數 840 閱讀 8723

(1)無論是客戶端,還是伺服器端,都需要對輸入輸出的內容做過濾,或用轉碼的方式,或者用其他方式,不過,轉碼方式按道理說更好,因為無論什麼xss攻擊命令,到你這裡一律變成編碼,命令功能失效。輸入部分,比如說你文字框、輸入框、url跳轉等等。伺服器輸出也需要做過濾,因為很多伺服器裡資料的輸入並不都經過了輸入過濾,如一些拷貝、資料批量匯入匯出等等,這些未經過濾的輸入,都有可能導致那些壞東西混入伺服器資料裡。這叫啥攻擊我忘了,反正是二次攻擊,先存進你的資料庫,然後利用它再攻擊!

很多mvc框架都已經處理了這些內容,如angularjs

(2)js檔案中某些函式竟然含有執行自由命令的函式,這讓人大吃一驚,留這樣的口是非常危險的。我感覺,對於一些不算複雜的業務系統來說,還是盡量不要寫這樣的框架。

一些輸入命令就能執行很多操作的軟體,我們用的太多了,dos命令、一些特殊的http請求,這些都含有類似後門一樣的命令,首先把他們關掉。

(3)密碼不能明文編輯

當你的介面上寫有password屬性,儘管這是必須的字段,但是盡量不要用這樣的名字,只需要將請求的標頭檔案加密傳輸即可,混用。

(4)js漏洞:密碼作為get請求的一部分進行提交。

某html檔案中的表單將密碼作為http get 請求的一部分進行提交,這可能會造成密碼被顯示、記錄或儲存在瀏覽器快取中。不要這樣寫,至少需要加密用post方法傳輸。再安全的就是https請求。

(5)js漏洞:密碼框啟用瀏覽器自動完成功能。

密碼框禁用瀏覽器自動完成功能,autocomplete="off"。

(6)頁面跳轉時,這樣寫,window.location.href= window.location.href + 「....」

這樣寫太容易新增攻擊**,慎用啊!

java需要注意的地方2

1.abstract class name 大俠們,這有何錯誤?答案 錯。abstract method必須以分號結尾,且不帶花括號。2.public class something 有錯嗎?答案 錯。區域性變數前不能放置任何訪問修飾符 private,public,和protected final...

unique約束需要注意的地方

sql 建立作者表 create table author 主鍵 id int primary key,姓名不能為空 name nvarchar 8 not null,年齡必須大於0小於120 age tinyint constraint ck age check age 0 and age 120...

使用strncpy需要注意的地方

功能 c c 複製src中的內容 字元,數字 漢字.到dest,複製多少由num的值決定,返回指向dest的指標。如果遇到null字元 0 且還沒有到num個字元時,就用 num n n是遇到null字元前已經有的非null字元個數 個null字元附加到destination。注意 並不是新增到de...