2012-05-30 49 views
2

B ::林特不喜歡while (<>) {do stuff},文檔顯示由於其內部使用邪惡2論點打開令人討厭的注入攻擊。有沒有簡單的方法來使這個用法更安全?我有很多使用這個的小腳本。Perl的魔法鑽石的安全使用

+0

面向服務器或NATed和防火牆開發盒的網頁上的腳本? – starbolin

+0

後者。但我喜歡假設一個危險的環境 –

+0

然後它取決於腳本的用法和哪個用戶有權訪問它。如果用戶有權訪問/ bin,那麼他擁有更強大的工具來根據您的包裝盒。 – starbolin

回答

5

您可以使用ARGV::readonly.這將允許更安全地使用鑽石操作員。

ARGV ::只讀 - 讓<>打開的文件,無論前/後的空白和/或控制字符,如|,>,AMD <。

+0

完美,正是我所期待的。謝謝! –

+0

@BillRuppert不客氣。 – TLP

1

魔術鑽石爲您提供方便。 Getc(),read(),readline()和sysread()都是可用的,每個都提供了安全性與便利性的不同折衷。