kaxigt.com

Jag skriver om webben för webben

Skydda din WordPress från elakartade URL requests

Postad: 23 december 2009 | Data & säkerhet · Wordpress | 1 Comment
Lästid: < 1 minut

Vi ska nu kika på ett litet behändigt script som du antingen kan spara som ett plugin, eller ännu bättre, kopiera hela scriptet och lägg det allra högst upp i din wp-config.php.

Denna post innehåller kod-snippar som du kan använda. Det är alltid bra att ta en backup av din stilmall och funktionsfil innan.

Det här scriptet kontrollerar överdrivet långa requestssträngar, om de har fler än 255 tecken, santidigt som det kontrollerar närvaron av både ”eval (” (eval() funktionen bedömer och/eller utför strängarna i javascriptkoder) och ”base64” (en metod som används för att koda binär 8-bitarsdata till 7-bitars ASCII-tecken).

Block Bad Queries

<!--?php /* Plugin Name: Block Bad Queries */ if (strlen($_SERVER['REQUEST_URI']) &gt; 255 || 
	strpos($_SERVER['REQUEST_URI'], "eval(") || 
	strpos($_SERVER['REQUEST_URI'], "base64")) {
		@header("HTTP/1.1 414 Request-URI Too Long");
		@header("Status: 414 Request-URI Too Long");
		@header("Connection: Close");
		@exit;
} ?-->

Som sagt kopiera in hela scriptet allra högst upp (överst) i din wp-config.php för att vara extra skyddad eftersom den filen laddas före dina plugin. Vill du mot förmodan hellre använda scriptet som en plugin lightversion kopierar du in det i ett tomt dokument som du sedan sparar som blockbadqueries.php. Skicka upp filen i din mapp plugin, aktivera pluginet. Klart!

Jag bör väl också tillägga att när scriptet väl är aktiverat, eller om du väljer wp-config.php, så ska du inte bli förskräckt om dina aktiva plugin plötsligt inte är listade som de var tidigare. Scriptet rensar nämligen listan ren från de plugin som är aktiva. Men de är inte borta, vill du se dem klickar du bara på länken active plugin på sidan
Plugins. [källa:perishablepress.com]