Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokowanie skryptu
Forum PHP.pl > Forum > Gotowe rozwiązania
Nordavind
Witam serdecznie

Mam problemik z malutkim skryptem i liczę na pomoc osób doświadczonych w php,

otóż moim celem jest możliwość zablokowania wykonania skryptu gdy zostanie on wywołany z domeny która nie ma takiego pozwolenia od autora.
Próbowałem zrobić to sposobem gdzieś znalezionym w internecie:
  1. <?php
  2. $licencjadla = &#092;"jakasdomena.com\"; 
  3. if ($licencjadla!=$_SERVER['HTTP_HOST']) { 
  4. // skryp wyświetla info, że jest używany nielegalnie
  5. }
  6. else { 
  7. // skrypt jest wykonywany
  8. }         
  9. ?>


Niestety ten kod nie rozwiązuje problemu... Gdy na stronę która posiada licencję na skrypt użytkownik wejdzie używając adresu z przedrostkiem WWW skrypt uzna to za brak licencji...
Oczywiście posiadam już licencję na "ZEND'a" więc skrypt będzie zakodowany a co za tym idzie można w nim podawać dane dot. np. domeny na którą jest licencja itp. gdyż klient nie będzie miał możliwości zmiany tej części kodu...
Znacie jakieś inne sposoby ?

Mam nadzieję, że wyraziłem się jasno a żaden guru php nie wyśmieje mnie tylko pomoże... Z góry ogromne dzięki exclamation.gif

UPDATE: udało mi się odnaleźć coś takiego i działa więc podaję a może komuś też się przyda:
  1. <?
  2. $_allow_ip = array( 'nazwa.domeny,com', 'www.nazwa_domeny.com' );
  3. $_deny_ip = array( '*.*.*.*');
  4. $_error_message = 'UWAGA! Nastapila nieautoryzowana proba korzystania ze skryptu!';
  5. $_ip = $_SERVER['HTTP_HOST'];
  6. $_allowed = false;
  7. foreach($_allow_ip as $_a_ip){
  8.     $_a_ip = str_replace('.','.',$_a_ip);
  9.     $_a_ip = str_replace('*','[0-9]{1,3}',$_a_ip);
  10.     $_a_ip = str_replace('?','[0-9]{1}',$_a_ip);
  11.     if(ereg(&#092;"^{$_a_ip}$\", $_ip)) $_allowed = true;
  12. }
  13. if(!$_allowed) die($_error_message);
  14.  
  15. $_allowed = true;
  16. foreach($_deny_ip as $_d_ip){
  17.     $_d_ip = str_replace('.','.',$_d_ip);
  18.     $_d_ip = str_replace('*','[0-9]{1,3}',$_d_ip);
  19.     $_d_ip = str_replace('?','[0-9]{1}',$_d_ip);
  20.     if(ereg(&#092;"^{$_d_ip}$\", $_ip)) $_allowed = false;
  21. }
  22. if(!$_allowed) die($_error_message);
  23. ?>
scanner
  1. <?php
  2. $aAllowedDomains = array( &#092;"jakasdomena.com\", 'example.com', 'php.pl' );
  3. $sCheckDomain = ( substr( $_SERVER['HTTP_HOST'], 0, 4 ) = 'www.' ) ? substr( $_SERVER['HTTP_HOST'], 0, 4 ) : $_SERVER['HTTP_HOST'];
  4. if ( !in_array( $sCheckDomain, $aAllowedDomains ) )
  5. {
  6. // skryp wyświetla info, że jest używany nielegalnie
  7. }
  8. else
  9. {
  10. // skrypt jest wykonywany
  11. }  
  12. ?>
Nordavind
Dziękuje za tak szybką odpowiedź i serdecznie pozdrawiam :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.