Dziś zademonstruje kolejną, trzecią, metodę usuwania fragmentu: „<meta name=”generator” content=”Joomla! 1.5…” z naszego szablonu. Przy okazji odpowiem na kilka pytań z tym związanych.
PYT: Czy licencja Joomla! zezwala na usunięcie tego znacznika meta z kodu?
ODP: Oczywiście, to ty decydujesz czy chcesz ten fragment pozostawić.
PYT: Dlaczego wiele osób zaleca usunięcie tego fragmentu?
ODP: Dotyczy to wymogów bezpieczeństwa, a dokładniej prewencji. Ponieważ roboty na usługach pewnej grupy osób, przeszukują net, aby odnaleźć strony wykonane za pomocą tego CMS. Potem osoba mająca taką listę stron może już szukać w nich dziur i się do nich włamać i hackować! Dlatego lepiej zapobiegać i albo usunąć, albo wpisać tam zupełnie coś innego.
PYT: Skoro można to dlaczego nie ma wbudowanej opcji do wyłączania?
OPD: Faktycznie, nie ma. A więc z poziomu panelu administracyjnego nie można tego generatora usunąć. Jednakże wystarczy otworzyć do edycji plik index.php bieżącego szablonu. Następnie w jego górnej części odnaleźć fragment nad kodem <head> i otwierający kod php tj. <?php
…… ?>
i przed tym ostatnim np. linijkę wyżej dopisać:
$this->setGenerator('');
lub
$this->setGenerator(null);
Ten prosty zabieg spowoduje usunięcie zbędnego kodu.
PYT: Czy jest inna metoda?
ODP: Oczywiście, można np. usunąć ten fragment z kodu php pliku /libraries/joomla/document/html/renderer/head.php. Można również zastosować plugin ByeByeGenerator o którym już raz pisałem.
PYT: Jak można wpisać tam dowolny ciąg znaków np. „CMS Cioci Jadzi” ?
ODP: Wystarczy we wspomnianym powyżej kodzie wpisać własną frazę np. $this->setGenerator('CMS Cioci Jadzi');
Dzięki, przyda się!!
Nie wiem, czy to wiele pomoże „specom” od hekierki. Np. taka stronka http://guess.scritch.org/ – pokazuje CMS nawet z usuniętymi danymi generatora.
@Jacek, mi ów metoda pomogła. Strona bez metatagu nawet w w/w generatorze została wykryta jako „Yet another PHP framework? Or perhaps just a static site? ” możne dlatego że panel admina mam dodatkowo ukryty.
A w jaki sposób można ukryć panel admina?
było na blogu (nawet w czerwcu), Radek poszukaj.
Hmm nie precyzyjnie się wyraziłem, chodziło mi o ukrycie panelu jak w tym wpisie- za pomocą edycji plików, bez instalowania dodatkowego oprogramowania? Tak aby link panelu był inny np „/tajny_link” zamiast „/administrator”. Czy może udało by się to osiągnąć za pomocą mod_rewrite? Pozdrawiam
Osobiście nie próbowałem, ale na niektórych serwerach może zadziałać.
Wiem jedno, na pewno zmiana w plikach źródłowych i ew. w bazie danych nie jest zalecana, gdyż wtedy zwiększa się szansa, iż aktualizacja cms lub wgranie dowolnego dodatku spowoduje błąd.
Niestety nie orientuję się za bardzo w wyrażeniach regularnych aby samemu stworzyć reguły dla mod_rewrite ale spróbuję w ciągu kilku dni to zmienić, jeśli mi się uda – pochwale się rozwiązaniem. Wydaje się być najprostrze i najlepsze – zero ingerencji w joomle :)
A wracając do tematu ukrywania Joomli – to działa np jeśli chodzi Wappalyzera ale np taki Backend Software Information nadal rozpoznaje CMS, także gdy używam „Bye bye generator”
U mnie niestety nie usunęło generatora, tylko ustawiło go na pusty ciąg znaków (). Użyłem $this->setGenerator(null);
Czy autor pisząc 'usunięcie’ miał na myśli 'wyzerowanie’?
Nie czepiam się, chciałbym tylko to doprecyzować ;)
Czy usunąć generator nie jest najprościej zmieniając w
/libraries/joomla/document/document.php w linii 85
wpis:
var $_generator = 'Joomla! 1.5 – Open Source Content Management’;
?
@Podróżnik – odp. brzmi nie, bowiem przy kolejnej aktualizacji CMS, ów plik może ulec zmianie i … nawet nie będziesz wiedział, że znów „Power by…” będzie widoczne.
Panowie, mam serwis ogloszeń oparty na Joomla pres. Sobi2, jak usunąc z metatagu: Destription (kropkę) do wglądu prawym myszy pokaż zrodło. Przez ten defekt spadam z pozycji bo jest za duzo slow. Pomózcie, gdzie trzeba to wyciąc z zródła itp.
If you want to Remove the Joomla Generator tag from your website, just find the file includes/frontend.php and delete the line: $mainframe->addMetaTag( 'Generator’, $_VERSION->PRODUCT . ” – ” . $_VERSION->COPYRIGHT);
Thats it, now all kind of components writers wont sneak into your Joomla code by using this tag.
In Joomla 1.5 it’s in here:
/libraries/joomla/document/html/renderer/head.php
Usuń linie: $strHtml .= $tab.’getGenerator().'” />’.$lnEnd;