Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax] Zabezpieczanie plików php, przed "obcymi"
Forum PHP.pl > Forum > XML, AJAX
kukix
Witam.
Tak sobie przeglądałem ostatnio przykłady wykorzystania advAJAXA na advajax.anakin.us...

I tak sobie zauważylem, że brak tam jakichkolwiek zabezpieczeń pliku, który generuje kod XML...

Próbowałem zabezpieczyć te pliki funkcją, która po wykryciu braku sesji admina, blokuje generowanie... jednak problem jest w tym, że ktoś zostawiał otwartą strone na kilkanaście minut, przychodził, dodawał pozycje do formularza, a tu nic!!!... plik php zablokowany... no i jest to jednak problem...

Jak zrobić plik php, generujący kod XML, który by odpowiadał tylko na zapytanie określonego pliku php z ajaxem...?

P.S. Próbowałem też zrobić tak:
  1. <?php
  2. if ($_POST[id_pozycji] != '') {
  3. //wyswietlamy plik xml
  4. } else {
  5. //nie wyswietlamy pliku xml
  6. //komunikat bledu
  7. }
  8. ?>

problem w tym, że ktoś może sobie sam zrobić formularz na swojej stronie, i adres wykonania dac mój plik php... i w ten sposób dostanie dostęp do zawartości tego pliku..
yaro
Zastanawiam sie po co mają być jakieś zabezpieczenia jeśli dane są i tak ogólnie dostępnie. A jeśli chcesz zabezpieczyć to normalnie przecież możesz zrobić to tak jak w normalnych, standardowych stronach z przeładowaniami.
kukix
Cytat(yaro @ 29.09.2006, 14:49:33 ) *
Zastanawiam sie po co mają być jakieś zabezpieczenia jeśli dane są i tak ogólnie dostępnie. A jeśli chcesz zabezpieczyć to normalnie przecież możesz zrobić to tak jak w normalnych, standardowych stronach z przeładowaniami.


W przypadku zwykłej strony, to może tak,k ale chodzi mi o pliki, do których nie ma nikt dostępu... tylko zalogowani...
UNK
Przy logowaniu zapewne tworzysz sesje. W plikach do których odnosi się ajax sprawdzasz sesje po przez ciasteczka (numer sesji zapisywany jest w ciasteczkach, możesz dodatkowo zapisać to do pliku i sprawdzić zgodność). Tworzysz warunek z sesja, że jeśli w ciasteczku nie widnieje informacja o sesji to nie ma tam dostępu i wsio tongue.gif

Przynajmniej ja mam to tak zrobione, mogłem troche zamieszać więc:

  1. <?php
  2. if ( @$_COOKIE['PHPSESSID'] )
  3. {
  4. session_id($_COOKIE['PHPSESSID']);
  5. if (!isset($_SESSION)) session_start();
  6. }
  7. ?>


takie coś, nie wiem na ile jest to bezpieczne, ale nic lepszego nie zdołałem wymyśleć winksmiley.jpg
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-2025 Invision Power Services, Inc.