unsafeMethodCall()
以下場景:我在所有網頁中瀏覽。此方法僅在存在引用的情況下才是不安全的doSomeCrazyAjaxStuff()
我的網頁使用強模板(即它是用 JSF 建構的)
所以一個網頁是由這樣的內容組成的:
<ui:decorate template="/mypages/editing/someWebPagePart.xhtml">
unsafeMethodCall()
這只是將模板的內容複製到目前網頁中。
因此,如果我搜索unsafeMethodCall()
- 問題是我必須手動打開someWebPagePart.xhtml
才能搜索crazyAjaxStuff()
- 但someWebPagePart.xhtml
可能正在使用其他模板。因此,從一次 unsafeMethodCalls 命中開始,我最終可能會打開很多頁面。
所以我基本上想掃描名為“somefile.xhtml”的檔案以查找模板的任何出現。如果有一個模板,我也想在該模板中搜索,並且我也想在模板的模板等中搜索:-)
有沒有一個程式或工具可以解決這個問題?
[編輯]
所以基本上我有一個包含以下內容的文件:(這只是一個例子)
<div>
<input value="enterusername"/>
</div>
[...more random web page contents like above this line....]
<ui:decorate template="/mypages/editing/someWebPagePart.xhtml">
<my:tag> unsafeMethodCall()</my:tag> <!-- this is potentially dangerous with another function call -->
[...more random web page contents like below this line....]
<p></p>
<a href="#Other-Options" accesskey="n" rel="next">Other Options</a>
當我現在打開 d:/dev/workspace/WebContents/mypages/editing/someWebPagePart.xhtml 時,我將能夠看到頁面上最終實際顯示的內容 - 因為 someWebPagePart.xhtml 的內容將由 Web 伺服器自動複製到最終網頁。我在文件中尋找的內容someWebPagePart.xhtml
是這樣的:
<div>
<input value="enterusername"/>
</div>
[...more random web page contents like above this line....]
<ui:decorate template="/mypages/editing/someotherPage.xhtml"> <!-- it could be in there as well -->
<my:tag2> crazyAjaxStuff()</my:tag2> <!-- searching this -->
[...more random web page contents like below this line....]
<p></p>
<a href="#Other-Options" accesskey="n" rel="next">Other Options</a>
自從:
<my:tag2> crazyAjaxStuff()</my:tag2>
將被複製到所在的同一頁面unsafeMethodCall
,這可能會導致危險情況,我必須仔細查看該頁面。
注意:第三頁很可能someotherPage.xhtml
包含危險的內容crazyAjaxStuff()
答案1
我會用確認從命令列。它速度很快,它會顯示程式碼中的行號以及它們所在的檔案。它將遞歸地執行此操作,並且輸出的顏色會有點漂亮。您可以非常喜歡正規表示式,並且可以將其透過管道傳遞給自身,以搜尋使用 madAjaxStuff 的 unsafeMethodCall 找到的檔案。只是閱讀文件並發揮創意。如果你需要的話有關 Windows,請參閱此
安裝確認:
curl http://betterthangrep.com/ack-standalone > ~/bin/ack && chmod 0755 !#:3
運行它,搜尋所有文件類型,不區分大小寫,使用文字模式遞歸
ack -airQ "unsafeMethodCall"
或使用 -l 開關來取得檔案路徑,然後透過另一個 ack 指令或其他工具進行管道傳輸。
ack -larQ "unsafeMethodCall"