[LØST] Best practice - ajax mot php backend

5 innlegg i emnet

Skrevet

Dette er egentlig ikke et direkte spørsmål, mere at jeg trenger innspill til best practice og gjøre det på, hvis det finnes.

Jeg har en ajax applikasjon som nå prater mot en php backend som igjen graver i noen databaser. Pr i dag kjøres alle kall fra ajax mot php som get, noe som gjør det lett for min del å bygge opp spørringer mot php. Men, dette vil jeg tro egentlig er en dårlig idé, da php backenden min er "åpen" for uvedkommende og noen "riktig" formulerte url'er kan gjøre skade på databasene. Jeg sjekker http_referer om kallene kommer fra mitt domene, men tror at dette er en dårlig sikkerhetsmekanisme.

Noen som har noen innspill på hvordan dette kan gjøres anderledes? Hva er egentlig best practice når det kommer til kommunikasjon mellom ajax og php?

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Har egentlig ikke sett denne før, men den var på nettuts for noen dager siden, kan være den kan hjelpe.

http://net.tutsplus.com/videos/screencasts...ascript-part-2/

Brukes get her å ser jeg... Har bygget min applikasjon på samme prinsipp som det i videoen, men returnerer xml i stedet for json.

Siden jeg også har mere avanserte spørringer enn 'select * ...' så er jeg avhengig av å kunne motta parametere i backend.

Men takk for link, fant mye interresant lesestoff der :)

Noen flere innspill?

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Ajax skal behandles på samme måte som vanlige HTTP-spørringer. Dvs. at ajax er utsatt for de samme svakhetene som man ellers må passe seg for når man utvikler nettsteder generelt. POST- og GET-spørringer er like utsatt, med noen få unntak. Men begge skal behandles likt. Sikkerheten skal ligge i applikasjonen. HTTP-protokollen er svært lett å manipulere.

CSRF-angrep blir vanskeligere om du bruker POST for endringer. Det er anbefalt å følge denne regelen. GET for å hente data, POST for å endre data. Bruk en unik nøkkel/kode i spørringen for unngå CSRF-angrep (står mer om det her).

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Ajax skal behandles på samme måte som vanlige HTTP-spørringer. Dvs. at ajax er utsatt for de samme svakhetene som man ellers må passe seg for når man utvikler nettsteder generelt. POST- og GET-spørringer er like utsatt, med noen få unntak. Men begge skal behandles likt. Sikkerheten skal ligge i applikasjonen. HTTP-protokollen er svært lett å manipulere.

CSRF-angrep blir vanskeligere om du bruker POST for endringer. Det er anbefalt å følge denne regelen. GET for å hente data, POST for å endre data. Bruk en unik nøkkel/kode i spørringen for unngå CSRF-angrep (står mer om det her).

Den artikkelen var kjempefin! Takk for tips, den dytta meg i riktig retning.

Fant denne fine siden som forklarer grundig hvordan man går fram for å bruke POST i AJAX

Her er løsningen (klippet fra linken over) til de som lurer:

var url = "get_data.php";

var params = "lorem=ipsum&name=binny";

http.open("POST", url, true);

//Send the proper header information along with the request

http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

http.setRequestHeader("Content-length", params.length);

http.setRequestHeader("Connection", "close");

http.onreadystatechange = function() {//Call a function when the state changes.

if(http.readyState == 4 && http.status == 200) {

alert(http.responseText);

}

}

http.send(params);

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!


Start en konto

Logg inn

Har du allerede en konto? Logg inn her.


Logg inn nå

  • Hvem er aktive   0 medlemmer

    Ingen innloggede medlemmer aktive