2009-04-13 81 views

回答

4

#kohana論壇上的一個聰明的傢伙建議它在那裏,因爲Expression Engine使用eval()模板。如果有人將PHP嵌入到字符串中,那麼可能是eval()並執行。由於Kohana不使用eval()作爲模板,因此它可能僅僅是從Codeigniter日子中遺留下來的。

-2

爲什麼他們將此列爲與安全相關的功能,我無法告訴您,但這幾乎只是用它們的編碼形式替換了PHP標記中的<和>,因此不允許要分析的標籤。純粹是視覺的東西,但你有它...

+0

你認爲htmlspecialchars()或mysqli_real_escape_string()是純粹的視覺事物嗎? – Calvin 2009-04-13 01:28:48

1

如果您的應用程序允許用戶輸入寫入某種文件。您應該防止用戶輸入可以在服務器上執行的PHP代碼。

encode_php_tags()防止這種情況。

3

這可以確保在用戶輸入中的任何PHP代碼都不會被執行,例如,如果應用程序將輸入寫入文件或將其傳遞到eval()。或者如果你只是想寫出一些PHP代碼來顯示瀏覽器。

1

使用要點清楚,您的網站用戶不必在您的表單中編寫php代碼。如果您使用爲CI或kohana提供的其他XSS阻止方法,則無需使用此方法。