Kako zaščititi JSON poizvedbe?
4 naročniki
4 naročniki
Na strani bom z Jquery prek JSON-a delal poizvedbe preko katerih se bodo na moji strani prikazovale fotografije.
Malo pa me skrbi, da bi s kopiranjem url povezave, preko katere se pridobi podatke o prikazanih poizvedbah, kdo uporabljal te rezultate v svoj namen. To pa seveda ni v mojem interesu.
Na internetu sem iskal kakšne tutoriale kot npr. uporaba API secret key-a, ampak zadevo ni tako zelo lahko implementirati (vsaj tiste tutoriale, ki sem jih našel).
Pozna kdo kakšen dober primer kako bi se vsaj malo zaščitil pred temi nevšečnostmi?
8 odgovorov
najlazje je v htaccessu zascitit, da lahko samo server IP ali localhost dostopa do json fajlov in imas mir... to lahko nastavis tudi za kaj drugega
Mogoče sem zgoraj narobe napisal. Z jQuery-jem bom delal poizvedbe, rezultati pa se bodo vrnili v JSON obliki.
Imaš mogoče kak grob primer za htaccess file?
Če boš to delal iz druge domene potem boš naletel na težave. Tega namreč ne moreš naredit.
Jaz sem si sicer to nahekal s pomočjo YQL metode, sam ni glih zanesljiva.
Cross-domain je pa mogoč z JSONP.
Zaenkrat bom to delal samo prek ene domene. Če pa se bo v prihodnje pokazala potreba po kakšnem javnem API-jem, bom pa moral kaj drugega razmislit.
Kako pa sedaj zaščitiš navadne poizvedbe ?
Namreč html poscrapat ni nič težje kot napisat $.ajax request :)
Al pa poženem curl in cross-domain ne igra nobene vloge več.
Nekega pametnega načina za zavarovat to ni. Preverjaj xmlhttprequest, vse ostalo je overkill IMHO.
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
}else{
die('No AJAX, no JSON);
}
Tle imas how to prevent hotlinking...dodas json
drugace je pa resitev za podoben problem veliko, kar pogooglaj preventing image hotlinking
Mešetar:
Tle imas how to prevent hotlinking...dodas jsondrugace je pa resitev za podoben problem veliko, kar pogooglaj preventing image hotlinking
Spoofat refferer tudi ni noben problem. Edina dokaj zanesljiva metoda, ki se jo trenutno spomnim je, da generiraš nonce in ga potem preverjaš. Ampak kot rečeno: se splača čas vlagat v to ?