Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Blokada $_GET poza kilkoma wyjątkami...
poison.Pluto
post 19.01.2006, 17:50:30
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 26.11.2005

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


Witam, chciałbym zablokować wszystkie zmienne GET oprócz tych, które podałem w tablicy. Napisałem już jakiś kodzik tylko, że nie chce działać.

  1. <?php
  2.  
  3. $dozwolone = array (1, 2, 3, 'bla');
  4.  
  5. foreach ( $dozwolone as $dozw ) 
  6. {
  7. if ( ! isset ( $_GET[$dozw] ) && ereg ( '?', $_SERVER['REQUEST_URI'] ) )
  8. {
  9. die ("Usuń niedozwolone zmienne GET");
  10. }
  11. }
  12.  
  13. ?>


Problem w tym, że foreach wykonuje ten kod tyle razy ile jest elementów w tablicy. I teraz jeżeli już nawet jest zdefiniowane np. $_GET[1] to i tak przy $dozw = 2 zablokuje mi dostęp mimo, że jedyna zdefiniowana zmienna GET jest prawidłowa. I teraz moje pytanie - jak zrobić, żeby działało? smile.gif

Ten post edytował poison.Pluto 19.01.2006, 17:54:24
Go to the top of the page
+Quote Post
Wave
post 19.01.2006, 18:07:45
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

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


  1. <?php
  2. $dozwolone = array (1, 2, 3, 'bla');
  3. foreach ( $_GET as $key => $value )  
  4. {
  5. if ( !in_array($key, $dozwolone ) )
  6. {
  7. die('Usuń niedozwolone ...');
  8. }
  9. }
  10. ?>

...ale po co to?
Go to the top of the page
+Quote Post
poison.Pluto
post 19.01.2006, 18:21:11
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 26.11.2005

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


Dzięki, o to właśnie chodziło smile.gif

Można powiedzieć, że to jeden z moich "antyhacków"...
Go to the top of the page
+Quote Post
ave
post 19.01.2006, 18:54:32
Post #4





Grupa: Zarejestrowani
Postów: 117
Pomógł: 2
Dołączył: 29.01.2004
Skąd: Rz-ów

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


Cytat(poison.Pluto @ 2006-01-19 21:21:11)
Można powiedzieć, że to jeden z moich "antyhacków"...

ale co Ci z wyrzucania nazwa getow których nie używasz w skrypcie ?
Go to the top of the page
+Quote Post
poison.Pluto
post 19.01.2006, 18:59:00
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 26.11.2005

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


Wydaje mi się, że jeżeli ktoś będzie znać nazwy zmiennych to przy włączonym register_globals może coś nabałaganić.
Go to the top of the page
+Quote Post
C@rdel
post 19.01.2006, 19:08:43
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.09.2005

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


Może nabałaganić, jeśli opierasz sie na register_globals, czyli używasz $zmienna zamiast $_GET['zmienna']. Jeśli uzywasz tablic superglobalnych nic ci nie grozi (przynajmniej od tej storny winksmiley.jpg )
Go to the top of the page
+Quote Post
poison.Pluto
post 19.01.2006, 19:16:44
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 26.11.2005

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


Staram się używać zmiennych superglobalnych ale zawsze może mi coś umknąć... smile.gif Lepiej się zabezpieczyć na wszelki wypadek tongue.gif W dodatku można to rozbudować, zrobić coś w rodzaju logów i od razu można zobaczyć kto kombinuje.
Go to the top of the page
+Quote Post
Apo
post 19.01.2006, 20:02:57
Post #8





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


ehh. To jak pisesz na localu to wyłącz w php.ini register globals = off.
Jak jak chcesz patrzeć kto co robi to poczytaj o tym: http://www.strefaphp.net/artykul8.html
Go to the top of the page
+Quote Post
poison.Pluto
post 19.01.2006, 20:30:29
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 26.11.2005

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


Pisze na localu, ale staram się pisać pod róźne konfiguracje winksmiley.jpg Logowanie samych groźnych akcji mi raczej wystarczy, ale dzięki za link.


PS. W artykule $_SERVER['HTTP_USER_AGENT'] powinno zostać przefiltrowane przed dodaniem do pliku...
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 Wersja Lo-Fi Aktualny czas: 27.06.2025 - 01:09