![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Proszę was o poradę. Oto sytuacja, którą mam (w skrócie): index.html Kod <script type="text/javascript"> function goAction() { advAJAX.get({ url: "action.php", onSuccess : function( obj ) { document.getElementById( 'contentContainer' ).innerHTML = obj.responseText; }, onError : function( obj ) { document.getElementById( 'contentContainer' ).innerHTML = 'Nie udało się wczytać danych.'; } }); return false; } </script> <a href="#" onclick="goAction();">załaduj dane</a> <div id="contentContainer"> test </div> action.php
Jak widać dzięki obiektowi advAJAX klinięcie w link spowoduje załadowanie danych do elementu <div>. I teraz moje pytanie: Macie pomysł jak zabezpieczyć plik action.php żeby wykonanie jego było możliwe tylko po wywołaniu "ajaxowym". Bo przecież równie dobrze mogę sobie wkleić link do pliku action.php do URL'a i zobaczyć jego działanie bezpośrednio. A tego właśnie chcę uniknąć. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
ciezka sprawa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Mozesz sprawdzac w $_SERVER skad user przyszedl, badz tez wysylac jakies dane extra ajaxem (co prawda zawsze da sie to obejsc, ale innego wyjscia nie ma) lub zwraca dane zaszyfrowane jakos i w js rozszyfrowywac. |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Problem nurtował mnie na tyle, że postanowilem zapytać twórcę advAJAX'a.
I odpowiedź jest taka: Nie da się (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) To zawsze będzie żądanie przeglądarki i zawsze będzie jakos można podejrzeć wyniki. Postanowiłem więc sprawić, że bedzie to jak najtrudniejsze i: 1. Wysyłam żądanie za pomoca metody POST; 2. Sprawdzam czy wśród parametrów istnieje i jest ustawiony (mniejsza o wartość) parametr uniqueParameter (Ci którzy znają biblioteke advAJAX wiedzą co to jest (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) P.S. ~hwao też myślałem że $_SERVER mi pomoże, niestety wygląda ona tak samo przy obu żądaniach |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
nie jestem jakos specjalnie zaznajomiony z ajaxem i nie jestem pewny czy to by pomoglo, ale mozna np. ustawic cookie (w ajaxowym kliencie), ktore skrypt ajaxowego serwera sprawdza i na koncu usuwa. albo poprzez token trzymany w sesji.
np. cookie moze byc ustawiane poprzez js zaraz przed wyslaniem żądania do serwera i usuwane przez sam skrypt serwera albo po prostu po odebraniu odpowiedzi. |
|
|
![]()
Post
#5
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Cytat(mike_mech @ 2006-01-05 19:12:21) P.S. ~hwao też myślałem że $_SERVER mi pomoże, niestety wygląda ona tak samo przy obu żądaniach ale wysylaja zadanie mozesz dodawac naglowki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 04:47 |