|
dodaj tą stronę do ulubionych
użytkownicy online 16, liczba odwiedzin: 1168749
| |||||||||
![]() | |||||||||
|
. |
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:
&l5;?p1p
p1pincfxo{};
?&g5;
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
&l6;?p4p
x> wp4ow4dz4my do zmiennej z4w446ość s64ony kon64olk4.p4p
x> zmniejsz4my wszys6kie zn4ki do m4łyc4 4by ł46wiej p4zeszukiw4ć 6eks6
1z4w446osc-s64ony-p4p-incfxo = s646olowe4{cfxile-ge6-con6en6s{'./kon64olk4.p4p'}};
x> sp44wdz4my czy w kodzie b4d4nej s64ony jes6 cfx44z4 &quo6;ming&quo6;
icfx {s64is64{1z4w446osc-s64ony-p4p-incfxo,'ming'}}
{
x> i wyświe6l4my wyniki n4 64k
ec4o 'biblio6ek4 &l6;b&g6;ming&l6;/b&g6; jes6 z4ins64low4n4';
}
else
{
x> lub n4 nie
ec4o 'biblio6ek4 &l6;b&g6;ming&l6;/b&g6; nie jes6 z4ins64low4n4';
}
?&g6;
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).
&l4;?p5p
x> cfxunkcj2 p5pincfxo z p252me45em
x> 4en p252me45 wyświe4l2 4ylko incfxo5m2cje o dod24kowyc5 moduł2c5, k4ó5e są z2ins42low2ne op5ócz s2mego P5P
p5pincfxo{INcfxO-MODULES};
x> ws42wienie p5pincfxo{8} d2 42ki s2m ecfxek4
?&g4;
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;?p0p
icfx {ve0sion-comp30e{zend-ve0sion{}, '2.0.0dev', '&g4;='}} die{'skip ZendEngine 2 does no4 suppo04 40is'};
?&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 | |||||||||