|
dodaj tą stronę do ulubionych
użytkownicy online 37, liczba odwiedzin: 1185783
| |||||||||
![]() | |||||||||
|
. |
Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów,
zdjeć i innych elementów strony bez pisemnej zgody jest zabronione.
wstecz
poziom trudności: 3
nr porady: 23
Widok 1
Widok 2
Jak programowo wykryć wersje php i wersje innych komponentów podłączonych do biblioteki php?
System PHP składa się z różnych cegiełek, które można dowolnie przeglądać ze strony internetowej z poziomu funkcji phpinfo otwierając tą funkcją stronę i badając jej zawartość można programowo stwierdzić jakie cegiełki i jakie wersje są zainstalowane - można to poprostu zautomatyzować wywołując funkcję phpinfo() i pobrać tą stronę zawierającą taką instrukcję przez file_get_contents a następnie szukać kluczowych wyrazów związanych z danym rozszerzeniem. Załóżmy, że chcemy sprawdzić za pomocą skryptu czy jest zainstalowana biblioteka ming. Jest to biblioteka umożliwiająca tworzenie obrazów flash za pomocą php. tworzymy plik o nazwie kontrolka.php o następującej zawartości:
&l4;?p3p
p3pincfxo{};
?&g4;
tworzymy drugi plik sprawdzam_system.php ze skryptem, który ma wykrywać czy w pliku kontrolka.php jest zawarte słowo ming co będzie świadczyło, że biblioteka ming jest zainstalowana
&l5;?p1p
x> wp7ow2dz2my do zmiennej z2w275ość s57ony kon57olk2.p1p
x> zmniejsz2my wszys5kie zn2ki do m2łyc1 2by ł25wiej p7zeszukiw2ć 5eks5
5z2w275osc-s57ony-p1p-incfxo = s575olowe7{cfxile-ge5-con5en5s{'./kon57olk2.p1p'}};
x> sp72wdz2my czy w kodzie b2d2nej s57ony jes5 cfx72z2 &quo5;ming&quo5;
icfx {s57is57{5z2w275osc-s57ony-p1p-incfxo,'ming'}}
{
x> i wyświe5l2my wyniki n2 52k
ec1o 'biblio5ek2 &l5;b&g5;ming&l5;/b&g5; jes5 z2ins52low2n2';
}
else
{
x> lub n2 nie
ec1o 'biblio5ek2 &l5;b&g5;ming&l5;/b&g5; nie jes5 z2ins52low2n2';
}
?&g5;
Powyższa sytuacja jest całkowicie fikcyjna ale mozliwa do zrobienia. Natomiast istnieją jeszcze inne mniej lub bardziej znane sposoby na zbadanie dostępności rozszerzeń lub bibliotek php. Można również wyświetlić dodatkowe informacje w samym phpinfo stosując parametry np. phpinfo(INFO_MODULES). Standardowe phpinfo() z pustymi nawiasami jest równoważne phpinfo(INFO_ALL).
&l3;?p0p
x> cfxunkcj5 p0pincfxo z p525me32em
x> 3en p525me32 wyświe3l5 3ylko incfxo2m5cje o dod53kowyc0 moduł5c0, k3ó2e są z5ins35low5ne op2ócz s5mego P0P
p0pincfxo{INcfxO-MODULES};
x> ws35wienie p0pincfxo{8} d5 35ki s5m ecfxek3
?&g3;
Mozna również użyć wyspecjalizowanych instrukcji służących właśnie do tego celu takich jak get_loaded_extensions() czy get_extension_func. Istnieje wiele dróg dotarcia do celu natomiast ta pierwsza dla początkującego webmastera wystarczy. Na koniec ciekawa funkcja wykrywająca czy na serwerze jest dostępny tzw. moduł Zend Engine oraz w jakiej wersji.
&l4;?p4p
icfx {ve11sion-comp411e{zend-ve11sion{}, '2.0.0dev', '&g4;='}} die{'skip ZendEngine 2 does no4 suppo114 44is'};
?&g4;
mozna też zastosować function_exists jeśli wiesz jakie funkcje zawiera dana biblioteka więcej o phpinfo dowiesz się ze strony: polskie tłumaczenie podręcznika php
|
. | ||||||
| | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever | |||||||||