2010-08-01 24 views

Odpowiedz

19

Aby wykryć Suhosin Extension wykorzystują extension_loaded() bez względu na to czy jest on załadowany dynamicznie lub statycznie skompilowany:

extension_loaded('suhosin'); 

Aby wykryć Suhosin-Patch, sprawdź na stałej obecności:

constant("SUHOSIN_PATCH"); 
2
extension_loaded('suhosin'); 

Dokumentacja PHP dla extension_loaded.

Jeśli rozszerzenie nie ładuje, to nadal może być dostępna za pośrednictwem dl:

if (!extension_loaded('suhosin')) { 
    if (!dl('suhosin.so')) { 
     // Extension not loaded. 
     return false; 
    } 
} 

// Extension loaded. 
return true; 
+3

To nie zadziała, jeśli skompilowałeś suhosin jako część swojego interpretera PHP. Instalacja jako rozszerzenie nie jest jedynym sposobem instalacji. http://www.hardened-php.net/suhosin/how_to_install_or_upgrade.html –

+0

@netme, nie wiedziałem o tym, przepraszam. – strager

2

można przetestować, czy otwarta konfiguracja jest ustawiona na Suhosin:

$isSuhosinInstalled = ini_get('suhosin.session.max_id_length') !== ''; 
+0

Nie działa to we wszystkich systemach z zainstalowanym Suhosinem. W wielu systemach Suhosin jest domyślnie zdekonfigurowany. Próbowałem na moich 2 hostach, obie zmienne nie zostały zainicjalizowane. –

+0

@netme, Odd; Myślałem, że PHP wypełniło wartość domyślną, jeśli nie było jej w rzeczywistych plikach konfiguracyjnych. No cóż. – strager

6

po prostu zapisać plik PHP w katalogu głównym dokumentu jak <?php phpinfo(); ?> będzie wydrukować wszystkie informacje związane z instalacją php tylko znaleźć na „suhosin” blok w nim jest zainstalowany na twoim serwerze możesz znaleźć blok z wszystkimi ustawionymi dla niego wartościami.

Powiązane problemy