Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Blokowanie skryptu
Nordavind
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.09.2004
Skąd: Mogilno

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował Nordavind 20.09.2004, 11:09:36


--------------------
"Lecz będąc biedakiem, jedyne co posiadam to marzenia. Rozsypałem me marzenia u twych stóp. Stąpaj miękko, gdyż stąpasz po moich marzeniach"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




  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. ?>


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Nordavind
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.09.2004
Skąd: Mogilno

Ostrzeżenie: (0%)
-----


Dziękuje za tak szybką odpowiedź i serdecznie pozdrawiam :-)


--------------------
"Lecz będąc biedakiem, jedyne co posiadam to marzenia. Rozsypałem me marzenia u twych stóp. Stąpaj miękko, gdyż stąpasz po moich marzeniach"
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 11:16