Javascript variabel opslaan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lord Gaga

Lord Gaga

02/08/2012 00:51:15
Quote Anchor link
Hallo,

Met Game Maker Studio:HTML5 maak ik een game, dat vervolgens word omgezet naar JavaScript voor in het canvas element (HTML5 dus). In die game zijn punten te behalen, en die moeten dus ook worden opgeslagen in een database.

Maar hoe sla je nou veilig een javascript variabel op in een database, omdat deze variabel te beïnvloeden is vanuit de broncode..

Dus hoe kan ik dit het best aanpakken?

Alvast bedankt!
 
PHP hulp

PHP hulp

25/11/2024 12:38:56
 
R v B

R v B

02/08/2012 04:34:41
Quote Anchor link
Wat is de intentie voor de database? moet deze scores van gebruikers opslaan die op jouw www.mijngame.nl je spel spelen of draai je het spel vanaf je harde schijf in je browser?
Als je het vanaf je eigen systeem draait is het betrekkelijk simpel,
Javascript is client-side code die niet kan communiceren met een server-side database zonder hulp.
Gebruik een tussenstap zoals AJAX, er zijn hier hier en hier hier W3 tutorials over de basics van JS & PHP door elkaar (client 2 server-side en terug).
Hiermee kun je vrij eenvoudig je variabele in de database stoppen, oproepen is een ander verhaal. Dat hangt ook van GameMaker af.
Gewijzigd op 02/08/2012 04:37:15 door R v B
 
Vincent Huisman

Vincent Huisman

02/08/2012 07:21:15
Quote Anchor link
Dit is naar mijn idee niet veilig te doen, ik denk dat het altijd aanpasbaar blijft
 
Eddy E

Eddy E

02/08/2012 10:57:12
Quote Anchor link
Gewoon wel zo moeilijk mogelijk maken.
Dus niet in de pagina zelf het aantal punten benoemen, maar ergens in een lang/groot JS-bestand.
't Blijft altijd mogelijk in dit geval, maar 't blijft dan ook maar een spelletje.

Je zou je punten-aantal ook kunnen encrypten en later kunnen decryten. Wel met een salt natuurlijk.
 
Kris Peeters

Kris Peeters

02/08/2012 11:22:52
Quote Anchor link
Wat voor soort spel moet dat zijn?

Misschien vinden we inspiratie als we dit weten.

1 ding staat vast. Je kunt niet verhinderen dat de gebruiker dingen aanpast op client-niveau.
Vooral dan op het moment dat de punten worden opgestuurd naar de server.

Heel simpel: de gebruiker zoekt naar de Ajax requests, zet daar een breakpoint. Op het moment dat de punten moeten worden opgestuurd, houdt Firebug of Developer tools alles tegen; dan kan de gebruiker alle gegevens aanpassen en terug op run klikken.

Je zal creatief moeten zijn.
Bekijk het probleem zoals je inloggen bekijkt; misschien kan je daar inspiratie vinden.

Het punt daar is: de oplossing mag niet naar de client gestuurd worden.

bv. stel dat je ergens op een specifieke plek moet klikken (spel genre "Find Waldo").
- Je kan de coördinaten in de javascript zetten en dan met javascript testen of die waarde overeen komt met de coördinaten van de muisklik.
- Of ... je sturt de coördinaten sowieso door naar de server en op server-niveau controleer je of die coördinaten kloppen.

In het eerste geval kan de gebruiker vals spelen, in het tweede geval is dit veel moeilijker.
 
Lord Gaga

Lord Gaga

02/08/2012 14:22:43
Quote Anchor link
Het spel is een beetje te vergelijken met mario, de punten zijn te verkrijgen door munten op te rapen. En dat moet dan in de database worden gezet.

Zelf zat ik nog te denken om de gebruikersnaam + aantal munten te hashen, en dat dan mee te sturen via AJAX naar de PHP pagina samen met het aantal munten, dan in PHP weer gebruikersnaam + aantal munten hashen, en die vergelijken met de meegestuurde hash.

Het probleem is alleen dat die hash dus ook in javascipt moet worden gemaakt, en dat is dus weer aan te passen. En ik zie zo gauw geen mogelijkheid om de gebruikersnaam + munten te hashen in PHP..
 
Eddy E

Eddy E

02/08/2012 14:51:02
Quote Anchor link
Niet gaan hashen, maar encrypten.

Hash != terug te rekenen
Crypt == terug te rekenen.

Aan de andere kant: als jij het gewoon goed "verstopt" zal niemand de moeite te nemen om al die JS-bestanden te gaan bekijken en aan te passen.
 
Lord Gaga

Lord Gaga

02/08/2012 15:33:03
Quote Anchor link
Nou, ik maak dit dus met Game Maker Studio:HTML5, en je kunt daar javascript bestanden bij toevoegen. Dus de game, en de bestanden die ik toevoeg, worden in apparte files opgeslagen.. dus de AJAX requests zitten in een apart bestand..
 
Lord Gaga

Lord Gaga

04/08/2012 19:25:11
Quote Anchor link
*Bump*
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.