Poslední dobou se rozmáhá šifrování nejrůznějších částí WordPress šablon. V některých případech jde o primitivní ochranu před mazáním copyrightu, v jiných je tento způsob využíván ke vkládání škodlivého kódu do stránky.
Zašifrovat lze totiž jak pouhé html tagy, tak také php funkce, které se ovšem vykonají. A pakliže tato funkce dělá něco nekalého a nemá žádný výstup, nikdy se to nemusíme dozvědět. Dbejte tedy zvýšené opatrnosti u takovýchto šablon. Spouštění cizího kódu na vašem serveru může být velmi nebezpečné.
Šifrovaný kód může vypadat třeba takto:
eval(base64_decode('Pz4gICAgICAgICAgICAgDQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQoJPGRpdiBpZD0iYm9keV9yaWdodCI+PGEgaHJlZj0iaHR0cDovL2VtYWlsbWFya2V0aW5ncHJvLm9yZy8iIHRpdGxlPSJFbWFpbCBtYXJrZXRpbmcgc29mdHdhcmUiPkVtYWlsIG1hcmtldGluZyBzb2Z0d2FyZTwvYT48P3BocCBlbmRpZjsgPz4NCjwvYj4NCgkJPC9wPg0KICAgIDwvZGl2Pg0KICAgICAgIA0KPC9kaXY+DQogPD8='));
Pokud si tedy šifrovanou část šablony chcete prohlédnout v plné její kráse, a případně poté nakopírovat do souboru footer.php nešifrovaně, existuje velmi snadná úprava šifrovaného kódu, která vám to umožní.
- V libovolném editoru (klidně i v tom zabudovaném ve WordPressu) si otevřete soubor, jehož obsah je šifrovaný (může to být footer.php, případně sidebar.php, ale i jiné).
- Vyhledejte řádek, kde je šifrovaný obsah.
- Doplňte před a za tento řádek html komentáře označující začátek a konec šifrovaného výpisu pro lepší pozdější orientaci.
- Nahraďte php funkci eval funkcí echo
Úpravy ilustruje následující kód:
<!-- začátek šifrovaného výpisu --> <?php echo(base64_decode('Pz4gICAgICAgICAgICAgDQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQoJPGRpdiBpZD0iYm9keV9yaWdodCI+PGEgaHJlZj0iaHR0cDovL2VtYWlsbWFya2V0aW5ncHJvLm9yZy8iIHRpdGxlPSJFbWFpbCBtYXJrZXRpbmcgc29mdHdhcmUiPkVtYWlsIG1hcmtldGluZyBzb2Z0d2FyZTwvYT48P3BocCBlbmRpZjsgPz4NCjwvYj4NCgkJPC9wPg0KICAgIDwvZGl2Pg0KICAgICAgIA0KPC9kaXY+DQogPD8=')); ?> <!-- konec šifrovaného výpisu -->
Pakliže si takto soubor upravíte a znovu načtete v prohlížeči vaší stránku, můžete si nyní prohlédnout zdrojový kód, kde budete mít mezi výše uvedenými komentáři dekódovaný výpis toho, co se odehrávalo šifrovaně. PHP funkce se po této úpravě již nevykonávají, proto nemusíte mít o své bezpečí strach.
Obsah si můžete, jak jsem již zmínil, nakopírovat zpět do svého souboru s tím, že funkci echo (bývalou eval) smažete, nebo aspoň zakomentujete.
Obecně je ale lepší se poohlédnout po šabloně, která před vámi nic neskrývá. Jestliže jste dokázali odhalit jedno šifrované místo (protože jste chtěli něco upravit a ono to nešlo), může se někde jinde ukrývat další. A je dobré tedy, pokud se této šablony nehodláte vzdát, pečlivě prohlédnout všechny soubory šablony a případná šifrovaná místa odstranit a analyzovat spouštěný kód, jestli neskrývá něco nekalého.
Vůbec nejlepší je nestahovat WordPress šablony z nějakých pochybných diskusních fór. A to ani za předpokladu, že vám zdarma nabízejí šablonu, kterou jiný server prodává. Slušnou sbírku šablon zdarma pro vás má i oficiální server wordpress.org.