PDA

Volledige versie bekijken : Security Probleem Php


Phoenix3
%Europe/Berlin %958 %2009, 00:00
Weet iemand he ik er kan voor zorgen dat m'n POSTS uit PHP niet meer kunnen gelezen worden uit de HTTP-header... (door de header te verbergen/beveiligde POSTS door te zenden, maar hoe doe ik dit dan?)

de posts worden wel gedaan vanuit flash/AS3, dus ik denk niet dat ik de md5()-functie kan gebruiken in flash om m'n URLVariables beveiligd door te zenden, niet ?

VeeWee
%Europe/Berlin %399 %2009, 10:34
wat wil je juist doen?
De HTTP header kan je enkel met https "beveiliging". Maar jij wilt, denk ik, de gegevens die doorgestuurd worden beveiligen, zodat ze niet aangepast kunnen worden?

Als je ze gewoon onleesbaar wilt, dan helpt base64 encoding al. Als je alles wilt beveiligen, kan je eens zoeken naar 3-des of aes. Natuurlijk valt dit ook te "kraken" als je de broncode normaal compiled. Zoek dus een andere decoder als de standaard flash decoder, zodat de gebruiker niet te weten kan komen wat er juist in die post variabelen zit.

Dan zijn er ook nog memory hack programma's. Hier kan je dus eigenlijk gewoon zoeken naar de waarde in een variabele, en deze aanpassen. Je kan om je hier tegen te beschermen bij een score het getal met een random getal vermenigvuldigen. Dan hou je gewoon dat random getal bij en het getal vermenigvuldigd met dit random getal.

Anoesj
%Europe/Berlin %419 %2009, 11:04
Klinkt alsof je nu iets met $_GET gebruikt, google even naar $_POST.

WernerL
%Europe/Berlin %444 %2009, 11:39
Een POST request is net zo makkelijk te faken als een request met GET variabelen Anoesj. ;)

Wat de TS moet doen is zorgen dat in zijn php code de waardes die binnen komen goed valideren. En mocht het om een inlog scherm oid gaan zou je een challenge/response systeem kunnen bouwen.

Phoenix3
%Europe/Berlin %509 %2009, 13:13
Een POST request is net zo makkelijk te faken als een request met GET variabelen Anoesj. ;)

Wat de TS moet doen is zorgen dat in zijn php code de waardes die binnen komen goed valideren. En mocht het om een inlog scherm oid gaan zou je een challenge/response systeem kunnen bouwen.

Ik gebruik zeer zeker POST variabelen, maar als je de HTTP-header opvraagt, krijg je die posts ook te zien, zoals eerder vermeld.

en goed valideren heeft ook geen nut, aangezien het gaat om een racespel en de beste racetijd... dus die kan nooit gecontroleerd worden zoals een een inlog (men kan namelijk altijd een lagere tijd rijden...)

Wat ik wilde is eigenlijk de post-waarde van de tijd, de effectieve tijd-waarde verbergen...

WernerL
%Europe/Berlin %643 %2009, 16:26
Dan zul je je waardes met AS3 moeten encrypten, en met php weer decrypten. :-)
Een betere oplossing is er volgens mij niet.

plietke
%Europe/Berlin %007 %2009, 01:10
hmm
begin met een var naar flash te sturen, met daarin een sessie code
tergelijkertijd laat je die in database zetten.

zodra spel klaar is moet hij die sessie code terg geven aan php best, die kijkt of er een sessie loopt met die code, en of het ip bijhoorend aan die sessie klopt.
daar bij zet je de begin datum van de sessie
dan doe je daarna als het gespeeld is laat je hem weer iets sturen en dan word er de eind datum van de sessie gezet... nou kan dit vertraging krijgen door wat voor reden dan ook.
dan kan je zeggen dat de gereden tijd max zoveel van de sessie mag verschillen.
of je moet een formule maken die je op de tijd afgooit waardoor andere niet weten wat te verandere, of de tijd in 3 dele opsplitsen en ook in een formule gebruiken, er zijn tal van opties die je kan combineren..

aan het eind van dit textje typen zou ik zelf toch voor een formule gaan die uit minimaal 3 dingen bestaat.
en als je dan merkt dat iemand probeert te cheaten, zou ik dat ip opslaan en bij een 2e keer bannen.