2009-07-19 72 views

回答

3

Perl::Critic在很大程度上基於書籍Perl最佳實踐實施了多項安全檢查。鑑於Perl :: Critic是使用PPI解析器編寫的,它可能比RATS可以實現更多的內省。

也就是說,沒有代碼掃描器或實用程序會發現安全錯誤,這是由於編程實踐不佳所致。幾個簡單的最佳實踐可以走很長的路。 perlsec聯機幫助頁詳細介紹了許多Perl安全問題,並提供了一些很好的實用建議。

從糟糕的代碼我自己的經驗審計山:

  • 始終使用不潔模式(-T標誌)
  • 始終use strict
  • 始終use warnings
  • 始終在DBI代碼中使用placeholders
  • 在將其用作文件名,方法/函數名稱或系統參數之前,請始終仔細檢查並清理所有輸入致電
  • 儘可能避免使用字符串eval;無論如何,它效率低下。切勿將用戶輸入放入eval字符串中。

我確定還有更多我現在不記得的東西,但已經晚了。 :)

+2

它並沒有真正落實安全檢查,因爲它有不知道任何代碼實際上在做什麼。但是,它可以在本地告訴你有問題的代碼。但是,它不能告訴你任何有關運行代碼時會發生什麼情況。 – 2009-07-19 18:18:49

0

對於圖形引擎,我剛發現PPI


解析,分析和操作的Perl (無perl的)


關鍵特徵包括;


  1. (Perl代碼)文檔
  2. 結構和質量分析
  3. 重構
  4. 佈局
  5. 介紹