Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zabezpieczenie skryptów
blaskognia
post 28.01.2006, 20:00:19
Post #1





Grupa: Zablokowani
Postów: 42
Pomógł: 0
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


W kursie php znalazłem takie zdanie w związku ze zmiennymi globalnymi, a konkretniej z p fukncją POST

Cytat
"Wydaje się to wygodniejsze i łatwiejsze, lecz powoduje pewne niebezpieczeństwo. Mianowicie używając zmiennych globalnych nie można stwierdzić, czy dana wartość pochodzi z sesji czy może została podana w URLu metodą GET. Przy źle napisanych skryptach można tak obchodzić zabezpieczenia."


Jak zabezpieczać skrypty?
Go to the top of the page
+Quote Post
bełdzio
post 28.01.2006, 20:23:48
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


nie używać register global smile.gif, a jak już musisz to mocno filtruj winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
blaskognia
post 28.01.2006, 20:40:48
Post #3





Grupa: Zablokowani
Postów: 42
Pomógł: 0
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


Tzn.? Podaj jeśli możesz przykłądy filtrowania?
Go to the top of the page
+Quote Post
Radarek
post 28.01.2006, 20:42:33
Post #4





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

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


Samo register globals moze byc wlaczone na serwerze. Po prostu jesli chcesz uzyc zmiennej x przekazywanej metoda GET to odwoluj sie przez $_GET['x']. Tak samo rob z $_POST, $_COOKIE, $_SESSION itp.
Go to the top of the page
+Quote Post
blaskognia
post 28.01.2006, 20:45:13
Post #5





Grupa: Zablokowani
Postów: 42
Pomógł: 0
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


I to jest to filtrowanie? :- ) Bo jeśli tak to każdy skrypt to u mnie stosuje (co zrobiłem troche nieświadomie ;- ))

Jedno jeszcze pytanie... co z tym include?
Go to the top of the page
+Quote Post
strife
post 28.01.2006, 21:15:59
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


To już było poruszane, nawet jest temat przyklejony dotyczący bezpieczeństwa skryptów ... http://forum.php.pl/index.php?showtopic=30056


--------------------
Go to the top of the page
+Quote Post
Radarek
post 28.01.2006, 21:46:32
Post #7





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

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


Cytat(blaskognia @ 2006-01-28 19:45:13)
I to jest to filtrowanie? :- ) Bo jeśli tak to każdy skrypt to u mnie stosuje (co zrobiłem troche nieświadomie ;- ))

Jedno jeszcze pytanie... co z tym include?

Jesli to bylo pisane do mnie to odpisuje.

Nie, to nie jest przykald filtrowania, tylko pokazane jak odwolywac sie do zmiennych pochodzacych z konkretnych zrodel (GET, POST itp). Register global moze byc wlaczone i nie spowoduje to ze skryopty beda mniej bezpieczne.

A co do samego filtrowania, to bylo to juz poruszane na forum dziesiatki razy. Trzeba szukac smile.gif.
Go to the top of the page
+Quote Post
blaskognia
post 28.01.2006, 22:31:33
Post #8





Grupa: Zablokowani
Postów: 42
Pomógł: 0
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


A czy istnieje możliwość włamania się gdy skrypt korzysta z sesji? Np.:

if ($_SESSION["zalogowany"]=="tak")
{

Jeżeli jest zalogowany, to coś tam wykonuje. Czy haker może to złamać?
Go to the top of the page
+Quote Post
Radarek
post 28.01.2006, 23:33:27
Post #9





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

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


W 99% nie jest w stanie tego zlamac smile.gif. Zmienne sesyjne przechowywane sa na serwerze. Musialby dostac sie do plikow w ktorych przechowywane sa te zmienne. To tak w wielkim skrocie, bo nie wspominam tu o przechwytywaniu sesji itp.
Go to the top of the page
+Quote Post
blaskognia
post 28.01.2006, 23:37:42
Post #10





Grupa: Zablokowani
Postów: 42
Pomógł: 0
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


Czyli na dobrą sprawę niemal 100% zabezpieczeniem jest zamknięcie wszystkich skryptów w

if ($_SESSION["zalogowany"]=="tak")
{

czy tak? :- D
Go to the top of the page
+Quote Post
ActivePlayer
post 29.01.2006, 00:16:16
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


przy register_globals = on

mając taki kod:

  1. <?php
  2.  
  3. if($zalogowany == true){
  4. //jakis ukryty kod
  5. }
  6.  
  7. ?>

zmienna $zalogowany pobirała wartość np w Twoim przypadku z sesji ale...
tajny_plik.php?zalogowany=1
i zmienna $zalogowany mogła przyjąć wartość true. ogolnei zamotka z tym była. najbezpieczenij uzywac $_GET $_POST itd. do tego sprawdzac czy przychadzące dane są idpowiedniego typu, is numeric itd. wiecej w temacie sql injection (przyklejony jest).
Go to the top of the page
+Quote Post
blaskognia
post 29.01.2006, 09:37:59
Post #12





Grupa: Zablokowani
Postów: 42
Pomógł: 0
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


Ale ja nie napisałem:

if($zalogowany == true)

tylko:

if ($_SESSION["zalogowany"]=="tak")

To zmusza przecież do pobrania nie z pasa tylko konkretnie z sesji.
Go to the top of the page
+Quote Post
ActivePlayer
post 29.01.2006, 10:44:42
Post #13





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


tak. to jest jak najbardziej poprawne w myśl 'bezpieczeństwa'
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: 24.06.2025 - 02:10