Autor Zpráva
Neowe
Profil *
Mám AJAX aplikaci kde se načítají přes XMLHttpRequest ("GET") data ze souboru mujweb.cz/adresar/data.php. Dá se nějak pomoci htaccess, nebo nějak jinak 100% zamezit parazitování dat z tohoto souboru?

Tzn. aby to zpracovalo pouze příkazy v ramci mého serveru.

Jak nato?
__construct
Profil
Môžeš kontrolovať na začiatku PHP skriptu if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
Neowe
Profil *
Díky to jsem neznal, ovšem jak čtu tady: http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=102479

tak 100% ty data nikdy asi neochráním, spíš bych čekal že by to šlo ještě nějak přes htaccess, jak se třeba zakazovalo zobrazení obrázků mimo web....nebo je to mimo mísu?
Chamurappi
Profil
Reaguji na Neowe:
XMLHttpRequest nedokáže tahat z jiné domény, než na které je stránka. Existuje sice pár cross-domain postupů, ale ty vždy vyžadují explicitní povolení ze strany majitele stahovaného zdroje.
__construct
Profil
Chamurappi:
Dovolím si nesúhlasiť. Môžeš si vytvoriť "proxy" skript cez cURL. Napríklad v PHP to ide pekne cez túto triedu
Neowe:
tak 100% ty data nikdy asi neochráním
Pokiaľ sú verejne dostupné tak nie ..
Neowe
Profil *
Reaguji na Chamurappi:
OK tomu rozumím, ale pokud si ten skriptík nějak někdo přepíše, tak se k těm datům v data.php asi stejně dostane když zadá správné GET parametry, které lze odvodit ze zdrojáku JS.... o to mi jde.
Hlídání všech Request hlaviček, referrerů atd. bude asi průstřelné
Keeehi
Profil
Neowe:
Ochránit se to 100% nedá. S cURL mohu vytvořit jakýkoliv požadavek, tedy poslat i hlavičku HTTP_X_REQUESTED_WITH s vlastním textem 'xmlhttprequest'.
Kajman_
Profil *
A nestačí si do SESSION nastavit příznak, že data.php může poskytnou data?
Keeehi
Profil
Kajman:
Můžeš to nějak více rozepsat jak to myslíš? Ale řekl bych, že to stejně nepomůže.
Kajman_
Profil *
Na stránce, kde se využití předpokládá si pustím start_session, nastavím si do ní nějaký příznak. Pokud prohlížeč bude podporovat cookie, tak v data.php tento příznak najdu.
Keeehi
Profil
Keeehi:
cURL zvládne pracovat s cookies, takže to nepomůže.
ShiraNai7
Profil
Když už je to ajax tak to přece běží u klienta v prohlížeči a ten k tomu souboru přístup mít musí.
Je absolutně zbytečné snažit se zamezit jiným druhům přístupu, nemáš šanci :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0