2009-12-23 49 views
2

我甚至可能沒有提到這種正確的方式,所以我提前道歉。我們的服務器日誌不斷向我們顯示編碼式的攻擊。下面是一個例子....用Perl解碼URI相關實體

http://somecompany.com/script.pl?var=%20%D1%EB........ (etc etc) 

我熟悉使用Perl(使用HTML ::實體)的編碼和解碼HTML實體,但我甚至不知道如何來指代這種風格解碼。我希望能夠編寫腳本來解碼這些URI編碼(?)。是否有任何人都知道的模塊可以讓我指出正確的方向?

尼克

回答

6

使用URI::Escape模塊逃脫和UNESCAPE URI編碼字符串。

實施例:

use strict; 
use warnings; 

use URI::Escape; 

my $uri = "http://somecompany.com/script.pl?var=%20%D1%EB"; 
my $decoded = uri_unescape($uri); 
print $decoded, "\n"; 
6

有諸如http://www.albionresearch.com/misc/urlencode.php做一個字符串的快速編碼/解碼的在線資源。

編程,你可以這樣做:

use URI::Escape; 
my $str = uri_unescape("%20%D1%EB"); 
print $str . "\n"; 

或者乾脆:

perl -MURI::Escape -wle'print uri_unescape("%20%D1%EB");'