» »

ajax klic - php - varnost

ajax klic - php - varnost

smash ::

iz neke strani index.htm naredim ajax klic neke server.php strani...

kako se zavarujete pred tem, da nebi nekdo poklical server.php stran iz nekje drugje, tako da bi sam zgeneriral request in mi naredil škodo

obstaja kakšna dobra praksa v zvezi s tem problemom?

lp

Nextor ::

Preverjaš, če ima uporabnik veljaven session, ki ga generiraš na podlagi ip-ja, ter tipa in verzije brskalnika...?!

Zgodovina sprememb…

  • spremenilo: Nextor ()

jype ::

Če hočeš, da poizvedba na drugo domeno uspe, moraš to dovolit:

https://developer.mozilla.org/en/http_a...

misek ::

jype, to velja za brskalnik. smash pa sprašuje, kako se zaščititi na strani strežnika, kjer lahko dobiš poljubno zahtevo tudi z neveljavnimi podatki.

smash ::

ma sej ne vem točno kako razložit:

recimo da imam v server.php neko funkcijo GetUsers() ki mi vrne seznam nekih ljudi

iz index.htm brez težav pokličem server.php in metodo GetUsers() preko $.ajax metode od jQueryja, pridobim te podatke in appendam v DOM

verjetno je mogoče to metodo GetUsers poklicati tudi iz kje drugje...kar pa nebi hotel

kako torej zavarovati te klice preko ajax-a?

MrBrdo ::

Iz brskalnika cross-domain AJAX requesti itak niso mogoči. Lahko ti pa kdorkoli naredi request npr. preko ukazne vrstice (curl) iz terminala, pred tem se pa ne moreš zaščitit drugače kot če preverjaš IP naslov ali uvedeš nek authentication token.
MrBrdo

HardFu ::

Za začetek: http://snipplr.com/view/1060/check-for-...
Torej prvo da je valid ajax in ne navaden get, potem pa kot je reke Nextor, narediš nek key, ki ga shraniš v session in preveriš ali ta key pri ajax requestu tudi obstaja.
http://codeable.io

Nextor ::

Jas bi to zagotovo rešil z session... se pravi, ko pride user na stran mu php generira cookie/session, ki je sestavljen iz ip-ja in podatki od brskalnika in potem, ko z ajax-om kličeš na določeno skripto, skripta preveri, če obstaja cookie/session, če obstaja mu vrne zahtevane podatke, če ne pa die!

edit:
Me je HardPhuck malo prehitel z obrazložitvijo... ;)

Mogoče še to, kateri koli način boš izbral, bo zgolj prepreka za amaterje! Za guruje, ki obvladajo cURL, bo zadeva mala malica...

Zgodovina sprememb…

  • spremenilo: Nextor ()

smash ::

verjetno bom naredil authentication token...

sam zanimalo me je kako to rešujete pri ajax/php

misek ::

Ampak tudi token ti ne rešuje problema. Osnovno stran lahko zahteva ne samo veljaven brskalnik ampak tudi kakšna skripta (curl). In le-ta dobi token. Nato izvede ajax zahtevo ampak in na strežniku se le-ta pač pravilno izvede glede na vhodne parametre.
Google ajax security vrne polno zadetkov na to temo.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

PHP POST težava

Oddelek: Programiranje
121617 (1483) DeeJay
»

Javascript: Kako prekličem izvajanje Ajax zahtevka?

Oddelek: Programiranje
112196 (1745) falconnn
»

jquery ajax webservices asp.net

Oddelek: Izdelava spletišč
141222 (1037) sas084
»

[PHP/JavaScript] tic tac toe

Oddelek: Programiranje
171674 (1407) illion
»

Download vsebine strani s JS

Oddelek: Izdelava spletišč
472558 (1856) MrBrdo

Več podobnih tem