TimThumb to skrypt skalujący obrazki „w locie”. Na temat jego wad i zalet, a także znalezionych w nim luk bezpieczeństwa pisałem półtorej roku temu. Co ma on wspólnego z WordPressem? Korzysta (lub korzystało) z niego wielu twórców motywów (głównie płatnych). Problem w tym, że jego autor ogłosił właśnie, że zaprzestaje rozwijania i wspierania tego skryptu. Oznacza to, że jeśli ktoś odkryje w nim kolejną lukę, to nie zostanie ona usunięta.
Jeśli Twoja strona korzysta z TimThumba, to należy jak najszybciej się tym zająć i pozbyć się tykającej bomby.
Mimo że większość autorów motywów dawno temu zrezygnowała (lub została zmuszona do rezygnacji) z tego skryptu, to nadal w Sieci można znaleźć wiele stron, które zostały zbudowane na starszych wersjach szablonów i wciąż korzystają z tej metody skalowania obrazków. Nietrudno również trafić na szablony, które nie są od dawna aktualizowane, a mimo to wciąż dostępne do pobrania. Wyszukiwanie w serwisie NerdyData zwraca ponad 250 tysięcy serwisów korzystających z TimThumba, ale tak naprawdę jest ich o wiele więcej – nie wszystkie strony są uwzględnione w indeksie, a autorzy motywów często zmieniali nazwę skryptu w celu „poprawy bezpieczeństwa”.
Jak sprawdzić czy moja strona korzysta z TimThumba?
Najprościej po prostu zajrzeć do kodu strony (opcja Pokaż źródło w przeglądarce) i poszukać ciągów timthumb.php
(domyślna nazwa skryptu), tt.php
lub thumb.php
.
Jakie są alternatywy dla TimThumba?
Najlepszym rozwiązaniem jest korzystanie z wbudowanego w WordPressa mechanizmu skalowania obrazków. Jego wadą jest to, że każdy rozmiar musi być zdefiniowany przez wtyczkę lub motyw – nie ma możliwości dynamicznego generowania obrazków w zależności od potrzeb. I tutaj pojawiają się alternatywne rozwiązania, takie jak BFI Thumb czy Aqua Resizer, które wykorzystują WordPressowy mechanizm skalowania, ale pozwalają jednocześnie na używanie go „na żądanie” i generowanie tylko tych rozmiarów, które są potrzebne (czyli łączą zalety obu rozwiązań). Na dodatek stosunkowo łatwo jest zamienić TimThumba na jeden z wymienionych skryptów.
Więcej na temat alternatyw dla TimThumba i sposobu ich używania napisałem w tym wpisie.