03. april 2005 - 14:48Der er
5 kommentarer og 1 løsning
Problem med direkte linking
Hejsa,
Jeg har lavet et online fodboldmanagerspil. I spillet har nogle "listige" brugere fundet ud af, at hvis de sender præcist det rigtige link til en bestemt bruger som klikker på linket, så skader de deres eget hold (ved fx at smide en af deres egne spillere på "fri transfer") - sådan at snydere kan tage spilleren fra ham.
Da jeg hørte om "smuthullet" satte jeg straks et HTTP_REFERER-tjek op, som tjekkede om "klikket" kom fra min egen side eller fra et link "udefra". Dette virkede umiddelbart fint. Men jeg fandt ud af, at folk med firewall, internet security og lign. nu ikke længere kunne bruge de funktioner hvor disse restriktioner var gældende.
Hvad er alternativer til HTTP_REFERER i dette tilfælde? Jeg har overvejet brug af <form method="post"> - men dette ville i mit tilfælde være en "træls" løsning. En anden mulighed er at anvende noget md5-hash i linkene (tror jeg nok :)). Håber i har nogle gode idéer! :)
Du kunne lave en tilfældig kode der gemmes i session når brugeren logger ind. Når man så skal lave noget vigtigt, så overfører du den kode i linket, og i det scripts du linker til lave du:
if( $_SESSION['code'] == $_GET['code'] ) { // alt er ok } else { // Uhada, noget er galt her. }
Det burde ikke være så svært at lave.
Synes godt om
Slettet bruger
03. april 2005 - 15:20#2
Du har vel et login system. så er det vel bare at teste det før dit script:
$query = mysql_query("SELECT * FROM spillere WHERE spillerid=". $_GET['spillerid'] ." AND brugerid=". $_SESSION['brugerid']); if(mysql_num_rows($query) == '1'){ }
Wicez -> Din idé er knap så fed.. fordi brugeren kan jo godt være logget ind når de følger linket (uden de ved hvor linket peger hen på - fx noget "farligt"). Desuden er din sql-sætning meget usund ;) - SELECT COUNT(spiller_id) AS.. ville være bedre. Men tak for indlægget anyways..
Svar venligst dennismp
Synes godt om
Slettet bruger
03. april 2005 - 16:53#4
Ahh jeg misforstod det hele.. :o( troede at det var andre udefra, der kunne skrive en URL så en anden spillers spillere blev slettet e.l.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.