Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][PHP]jak zabezpieczyc plik ajaxowy?
elmozaur
post 5.12.2010, 20:08:18
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


Witajcie.
Mam skrypt ajaxowy ktory zadaje pytanie do pliku zadania.php.

Plik zadania.php odbiera zmienne z $_POST i cos tam sobie robi.

Pytanie: w jaki sposob zabezpieczyc plik zadania.php aby nawet przy wywolaniu bezposrednio w url (lub poprzez spreparowany formularz) aby nie zrobic za duzo zniszczen ?

za info z gory dziekuje
pozdrawiam
Grzegorz
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
esiek
post 5.12.2010, 20:15:40
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

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


poczytaj o zmiennych środowiskowych a konkretnie o $_SERVER['HTTP_REFERER']


--------------------
allebhp.pl
Go to the top of the page
+Quote Post
mmica
post 5.12.2010, 20:41:15
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 20
Dołączył: 30.11.2010
Skąd: 127.0.0.1

Ostrzeżenie: (10%)
X----


Hey ;]
Możesz też zabezpieczyć skrypt poprzez dodanie jeszcze jednego pola typu "hidden" o nazwie "hash", w którym będziesz przetrzymywał datę z hash'em tej_daty+jakiegoś hasła w takiej formie: "dd-mm-yyyy_hash". Potem w Twoim skrypcie zadania.php:
  1. <?php
  2. $passwd = 'twoje_tajne_haslo';
  3. list($date, $hash) = explode('_', $_POST['hash']);
  4.  
  5. if(sha1($date.$passwd) != $hash)
  6. {
  7. die('Access denid!');
  8. }
  9.  
  10. // ... reszta kodu
  11. ?>

Rozwiązanie esiek'a ma jedną wadę.. zmienna $_SERVER['HTTP_REFERER'] jest przesyłana nagłówkiem, a każdy nagłówek pochodzi od użytkownika i jak wszystko pochodzące od niego - może zostać spreparowana. Używając jej do "autoryzacji" użytkownika, sami sobie piszemy luki w bezpieczeństwie, umożliwiające wykonywanie się skryptu nie po naszej myśli. Tyle z mojej strony.

Pozdrawiam,
mmica

Ten post edytował mmica 5.12.2010, 21:06:11


--------------------
"Imagination is more important than knowledge, because knowledge is limited." ~Albert Einstein
<?php $var = array('foo', 'bar'); ?>
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: 14.08.2025 - 04:53