當前位置:名人名言大全網 - 端午節短信 - 使用JavaAPI的五個技巧

使用JavaAPI的五個技巧

使用JavaAPI的5個技巧不要自己實現安全框架。

大家都知道要避免實現加密等算法。出於同樣的原因,您的應用程序的安全堆棧的其余部分是相同的,這可能是高成本和高風險的。妳可能會犯壹些錯誤。自1999以來,已發布89373個CVE(公共漏洞和暴露)。而且大部分被披露的發現者都是非常聰明的人。

您可能認為處理壹個簡單的用例(比如驗證用戶的密碼)非常簡單——您所做的只是比較壹對字符串。這樣想是不對的。您需要驗證密碼的哈希值,檢查登錄嘗試的次數,並減少對字典的攻擊。這只是冰山壹角。妳最好的選擇是使用現有的成熟庫或者框架,比如Apache的Shiro或者SpringSecurity,讓這些框架去處理各種復雜的安全問題。

2.始終使用TLS!壹定要用TLS!

只需要簡單的壹行代碼就可以讓妳的應用需要TLS(HTTPS/SSL),每個人都應該這麽做!如果使用阿帕奇·希羅框架,只需要設置屬性:[urls]/**=ssl。如果使用Spring Security,在設置HttpSecurity時只需要簡單地調用壹個方法。Http。requirechannel () anyrequest()。在Spring Boot,妳只需要設置壹些屬性。如下:server . port = 8443 server . SSL . key-store = class path:keystore . jks server . SSL . key-store-password = secretserver . SSL . key-password = another-secret。

3.使用Spring Booti創建壹個Web服務。

Spring Boot:它是Spring平臺的簡化版,可以讓編寫Spring應用變得非常簡單。比如《12 app應用中考慮的因素》壹文中提到的思路,用很少的代碼就可以寫出來。如果妳還在通過構建戰爭包來編碼,那麽Spring Boot是值得學習的。使用Spring Booti可以用於復雜和不同類型的應用程序,例如,可以使用簡單的註釋。

(@EnableResourceServer))只需構建壹個OAuth資源服務器,或者通過簡單的屬性更改其端口:server.port 8090如果不喜歡使用SpringBoot,可以使用Dropwizard構建壹個JAX-RS技術棧。

4.監控應用程序和性能指標

如果沒有數據,很難發現程序的錯誤。通過使用Actuator,Spring Booti可以很容易地收集指標數據,並且只需要在應用程序中添加壹個依賴項,如下所示:

& ltartifactld & gt彈簧靴起動器致動器& lt/artifact LD & gt;。

& lt/dependency & gt;。

然後可以在訪問應用地址後,通過瀏覽器輸入/health或/metrics來檢查應用的健康狀況或指標。Dropwizard框架通過healthcheck和/metrics實現了相同的功能。

5.保護敏感信息

人們認為API密鑰不安全是事實。密鑰通過電子郵件發送或由源代碼管理系統控制。也許這就是為什麽它們看起來比密碼更不安全,但它們壹樣敏感。如果您需要將AP密鑰存儲在文件中,請確保授予該文件有限的訪問權限。

例如,我們建議將Okta的YAML文件存儲在壹個私有目錄中,並給予文件所有者只讀權限。Chmod u = r,go-rwx ~/。okta/okta.yaml如果妳正在為使用妳的應用的用戶創建API,記得提醒他們SSH文件放在妳的~/裏。ssh目錄,而不設置權限。GitHub將它們放在“危險區域”中,提醒用戶這非常有用。