-
使用httpOnly標識避免XSS攻擊,參見:說說HttpOnly Cookie的作用。解決XSS攻擊,有兩種解決方法:1)服務端對提交上來的留言內容做過濾,把惡意程式碼過濾掉;2)讓惡意javascript程式碼讀取不到我們種的cookie。httpOnly的角色是第二種。
-
lombok使用,參考:Lombok:讓Java程式碼更優雅
//下麵是類級別註解 @NoArgsConstructor //相當於定義1個無參建構式 @Data //相當於定義了類裡所有屬性的get set eqauls hashCode toString @RequiredArgsConstructor //一般和@NonNull註解配合使用,表示定義1個包含類裡所有宣告@NonNull註解的建構式 @Accessors(fluent = true) //表示物體類可以用fluent風格去呼叫,例如:new Result().success(true).data(123); 這句話裡success函式data 函式都是宣告註解以後自動生成的,並且都傳回當前類自身。 @FieldDefaults(level = AccessLevel.PRIVATE) //所有屬性預設訪問級別都是private ,省的挨個屬性去寫了,如果有10個屬性,9個都是private ,1個是public ,可以單獨改寫.如果單獨那個是包級別訪問許可權的,可以透過加上@PackagePrivate註解去改寫 @UtilityClass //宣告這個註解,會自動為該類生成1個私有無參建構式,建構式內部會直接拋異常,表示這個類是1個工具類,無法實體化 @Log4j2 //宣告log4j2註解,會自動為該類建立1個 log屬性,避免手動建立,lombok還支援slf4j,log4j1.x commons log ,jdk原生的log,都會有相應的註解支援 .
-
Java Web安全編碼,參見:Web 安全問題總結
-
安全引數:HttpOnly、Secure Cookie
-
防止頁面被嵌入iframe放到其他頁面,在Header中新增如下程式碼
/* X-Frame-Options: DENY prevent any site from framing the page. SAMEORIGIN allows only sites from the same domain to frame the page. */ response.setHeader("X-Frame-Options","SAMEORIGIN");
-
CSRF:跨站請求偽造,利用一次請求令牌,在服務端進行驗證
-
會話迷戀:在登入成功後一定要重新生成新的Session Id
使用awk調換檔案中某兩列的位置awk -F ',' '{print $3"," $2"," $1}' source_file.txt > source_file_revert.txt
如何控制一個外部呼叫的執行時間,自己做超時重試?
-
透過Future.get(delay, unit)方法;
-
透過Guava-retrying元件,參見:guava-retrying
-
分享一篇好文章:業務程式碼中的重試
fastjson中提供了一個TypeReference類,用於處理反序列化時候的泛型定義。參考資料:TypeReference;例子程式碼見:TypeReferenceExample 7.使用Java8的並行流,需要註意執行緒安全問題,參考:https://my.oschina.net/7001/blog/1475500