[HV] Megoldás a CSRF attack detected problémára
HunVeteran
Kedves olvasóim,
Bizonyára sokan szembesültetek vele, hogy amikor megpróbáltok publikálni egy cikket, beleütköztök a "CSRF attack detected" hibaüzenetbe, így meghiúsul a cikk kiadása. Született már cikk korábban ezen probléma áthidalásáról, de még mindig sokszor belefutok abba a kérdésbe, hogy mi ilyenkor a teendő.
Több megoldás is létezik, de ezeket felesleges lenne ecsetelni, ezért azt írom le, amelyet én is mindig használok, ez garantált megoldás, 10-ből 10 esetben beválik.
Ha nem tudod kiadni a cikket a címben említett hibaüzenet miatt, akkor a teendő a következő:
0. Cikk kimentése.
1. Vázlat elvetése gomb (discard draft).
2. Összes eRepes oldal bezárása és kijelentkezés.
3. Bejelentkezés, majd cikk kiadása 10 percen belül.
Kérlek terjesszétek ezt a cikket, ezt a megoldást, hogy mindenkihez eljusson, hiszen több CSRF attack detected hibaüzenet egyenlő kevesebb kiadott cikkel.
A technikai hátteréről:
CSRF (Cross-Site Request Forgery) támadásnak azt nevezik, amikor be vagy jelentkezve egy oldalra és ezt kihasználva valaki eléri, hogy egy olyan linket nyiss meg, amely végrehajt egy általa kívánt műveletet. Az eRep esetében, ha be vagy jelentkezve, akkor elvileg pár jól elhelyezett hivatkozással (pl. egy cikkbe beszúrt képpel) a nevedben garázdálkodhat a támadó.
Ennek kivédésére Plato létrehozott egy ún. "token"-t, amely egy 32 karakter hosszúságú, minden bejelentkezésednél automatikusan generált kódsor. Ezt a kódsort minden általad végrehajtott műveletnél POST-olja a weboldal és ha a feldolgozó fájl nem kapja meg az aktuális token-edet, akkor nem engedi végrehajtani a műveltet (tehát ha írsz egy cikket, akkor nem csak a cikk címét, szövegét és kategóriáját POST-olod, hanem az egyedi token-edet is).
Na most, mint tudjuk, az oldal időről-időre automatikusan kijelentkeztet és hiába pipálod be bejelentkezésnél az emlékezz rám lehetőséget, a ki és bejelentkezés észrevétlenül, de ugyanúgy megtörténik.
Plato elkövetett egy olyan programozási hibát, hogy amikor újra bejelentkeztet az oldal, akkor az adatbázisban egy új tokent tárol le a profilodhoz, ám az automatikusan lementett cikk még a régi tokenedhez van rendelve, így amikor publikálni próbálod a cikket, akkor ezt a régi tokent küldöd a szerver felé, ami nem fogja elfogadni, mivel a nyilvántartása alapján nem az a tokened.
Napi idézet: "A sebtében végzett munka mindig potenciálisan hanyag is." - Michael A. Stackpole
Napi zene: 22 Jump Street - Soundtrack Official Full
Comments
Olvastam mára róla magyarázatot, de valahogy csak most értettem meg a probléma forrását, ment a vote😉
Igyekeztem érhetően fogalmazni 🙂 Köszi.
Olcsó kommentvadász cikk. Vote.
A küldetéstől függetlenül meg akartam írni, annyian kérdezték 😃
csak humorizáltam, nyugi.
. . . Azonban sikeres marketingmegoldás 😃
🙂
Komment
értelmes cikk, én csak a problémát érzékeltem, örülök, hogy a megoldás is megvan. csak azt nem értem ha tudni lehet a hiba okát akkor miért nem javítják ki?
comment pls v2: http://www.erepublik.com/en/article/csrf-attack-detected-1-2427965/1/20#comments
hát mert nem érnek rá, mert ilyen idióta küldetéseket programoznak mindig...
thanks, repeat pls. http://www.erepublik.com/en/newspaper/almost-done-edition-248521/1
vote
Ennyire részletekbe menően nem láttam a problémát, de örülök, hogy a lényegi részére rájöttem.
A discard draft és aztán a cikkírós oldal újratöltése miért nem elég?
Próbáltam, nem vált be. Nálad be szokott?
igen, ez volt a bajom, hogy nem mindenkinél vált be az, hogy csak újra lett töltve az újságírós oldal a vázlat elvetése után
Valószínű böngészőtől, böngésző beállítástól és maximális cache mérettől függ, hogy kinek meddig tárolja le a gyorsítótárba az oldal forrását és a cookiet. Ha van olyan, akinél bevált, akkor elvileg elég törölni az előzményeket, akár ctrl+alt+f5-tel is meg lehet próbálni, de a mindenkinél működő megoldás a vázlat elvetése, ki-bejelentkezés, mert ilyenkor mindenképp meglesz az új token. Na meg egyszerűbb is így elmondani valakinek, mint magyarázni, hogy hogy tudja üríteni a gyorsítótárat.
én is az egyszerű utat kerestem, csak kiderült, hogy az nem mindig megoldás, amit én eddig írtam megoldásként...
és így megakadtam. Nekem szinte mindig működött, másnak meg nem. 😒
Érdekes lenne kideríteni, hogy miért. Esetleg nem inkognitó módban böngészel, vagy nem használsz olyan bővítményt, ami a böngésző bezárása után töröl bizonyos adatokat? A gyorsítótárad mérete mekkorára van állítva?
o7
nyennyere
😃
o7
random comment nr 1535
http://www.erepublik.com/en/article/ytterligare-en-artikel-ang-de-nya-uppdragen-2428156/1/20
http://www.erepublik.com/hu/article/-chaos-on-tour-vol-3-a-place-called-home-2428175/1/20
Nah szép.
A mai nap első hasznos cikke, néha ilyen is akad, már már furcsa szinte 🙂
Király, ez egyszerűbb megoldásnak hangzik mint az előzmények, sütik és egyéb finomságok totális kiírtása a böngészőből.
Nem adsz ki cikket... az még egyszerűbb.
kösz!
Thx!
Ilyen pontosan még senki sem írta le. Köszi!
Kösz!
Holaa!
Por favor, al mio:
http://www.erepublik.com/es/article/hab-a-una-vez--2362295/1/20
szerintem megnyitni erepet megegyszer inkognitoban konnyebb modszer
nekem mukodott
Köszi, ez hasznos volt. Persze még hasznosabb lenne, ha kommentelnétek valamit a cikkem alá: www.erepublik.com/en/article/egy-cikk-ami-alatt-lehet-engem-fik-zni-2427740/1/20
köszi, már ismertem...én is szoptam vele sokszor, nálam a provát ablak lett a nyerő az a legeccerűbb
ha már itt tartunk van 2 spam cikkem, köszi a részvételt mindenkit visszaspemelek 🙂]]
http://www.erepublik.com/en/article/-analysis-new-missions-and-their-consequences-2426253/1/20
http://www.erepublik.com/en/article/-velemeny-aljas-dolog-a-25-kommentes-spamh-aacute-bor-uacute--2425202/1/20
Küldés előtt Ctlr+V - biztos, ami biztos - vagy a hosszúnak szánt cikk jegyzettömbben megírva. Ennél egyszerűbbet nem tudok elképzelni
v+s
Végre és köszi! Ezt ki fogom próbálni, mert már kiszikkadt a téntám, no meg az írói vénám.🙂
rekomment
add me o/
Aj most még az is ki fogja adni a 25 kommentes cikket, akinek eddig nem sikerült.
De így legalább már nem kell kitöröljem a sütiket minden alkalommal. 🙂
😃 😃
Egyszerűbb ha alapból inkognitó módban nyitod meg az eRep-et, ott soha nem adja be ezt a hibát.
[removed]
Mission: 25 comments:
http://www.erepublik.com/br/article/compila-o-de-tutoriais-sobre-jornal-2429179/1/20
Thanks
A probléma megoldása egyszerű is lehetne:
Token generálása a szövegszerkesztés megkezdésekor, majd elküldés után pl. 5 perccel a token automatikus nullázása, törlése.
A token két részből álljon: a játékos azonosító része + egy véletlen-generált rész, mely nullázódna. Ezúton ki lehetne zárni egy "külső szerkesztő" behatolását is, ugyanakkor az idegesítő helyzet is megoldódna.
Az elküldés utáni 5 perc alatt pedig javítási lehetőség legyen esetleges (pl. gépelési) hibák kijavítására. Ez főleg a kommentek esetében illetve az üzenetfalon lenne szükséges !
Nem lenne több, mint 15-20 perc a bugfix megalkotása, de a fejlesztők egyszerűen századlagos fontosságúnak tartják és nem foglalkoznak vele. Gondolom, mert nem publikálnak cikkeket és így soha nem is ütköznek bele.