Miért jobb az XHR mint a sima PHP lekérdezés?
2018-03-21T23:26:03+01:00
2018-03-22T08:00:21+01:00
2022-07-21T07:11:43+02:00
  • Köszi a válaszokat!
    Mutasd a teljes hozzászólást!
  • Ez nem jobb/rosszabb kérdés: XHR-rel adatokat tudsz lekérdezni, oldalbetöltéssel meg oldalt tudsz betölteni.
    Adatok lekérdezése oldalújratöltés nélkül sok esetben hasznos lehet (sokkal könnyebb megőrizni mondjuk a görgetés pozícióját, ha nem kerül újratöltésre a lap), néhány esetben meg akár megkerülhetetlen (pl. infinite scroll).
    Biztonság szempontjából pont nem számít, ugyanazon az interneten mennek keresztül az adatok mindkét esetben, és a hozzáférésé jogosultságot is ugyanúgy lehet és kell ellenőrizni. Az XHR egy sima HTTP lekérdezés, így a munkamenet része, megkapja a sütiket, stb.
    Mutasd a teljes hozzászólást!
  • Attól, hogy XMLHttpReq-t használsz, még simán lehet, hogy egy PHP szkriptet kér le, ami azon belül egy SQL kérést indít és tömbbe rendezve adja vissza az adatokat. A kliensoldali kérés (AJAX, vagy bármi más wrapper is lehet az XMLHttpRequest körül, a működést nem befolyásolja) előnye, hogy dinamikusan tudod betölteni az adatokat és nem kell sem előre betölteni rengeteg esetleg fel nem használt infót, sem frissíteni az oldalt az adatok letöltésére.
    Az meg, hogy módosítod a lekérdezés paramétereit, még nem jelenti, hogy olyan adatokhoz fértél hozzá, amihez nem kellene. Pl. ha az userid-t átírod és egy másik felhasználó adatait kapod vissza, az sok esetben nem gond, hiszen azt az adatot is simán elérnéd a kliensről (pl. FB felhasználó kereső). Akármit is csinálsz, szerveroldalon mindenképpen ellenőrizni kell a jogosultságot; ha AJAX request paramétereit átírva jogosulatlan hozzáférést lehet szerezni, akkor a hiba ugyanúgy jelen van akkor is, ha PHP feldolgozó szkriptet használsz oldalfrissítéssel, hiszen az oldallekérés paramétereit is ugyanúgy lehet módosítani.
    Mutasd a teljes hozzászólást!
  • A legtöbb oldalam esetében én mindig a PHP szkripten belül indítottam egy SQL lekérdezést és azt egy tömbbe rendezve azonnal ki is tudtam írni az adatokat, például ha egy felhasználó adatai kellettek. A napokban vizsgálgattam több nagyobb oldalt érdekességképpen és szinte mindegyik XMLHttpRequest-et használt több adat lekérése esetén. Ez miért jobb? Nem kockázatosabb biztonsági szempontból?
    Utóbbit csak azért kérdezem mert láttam már nem egy olyan oldalt, ahol ha kicsit módosítottam a lekérdezéskor küldött paramétereket akkor egyből hozzáfértem olyan adatokhoz is, amelyekhez normális esetben nem kellene. Ebben az esetben adott webapp az UserID-t csak számozta és ha nagyobb számot adtál a változónak akkor máris egy másik felhasználó adatait küldte vissza.
    Mutasd a teljes hozzászólást!
abcd