Hacker trick um gehen mathematik ^^

PowerCheat

Erfahrenes Mitglied
hallo also ich habe nun mehr volgendes problem, es gibt viele buguser, die einen das spiel verderben können, so um dieses zu umgehen wollte ich wissen, wie ich es machen kann das keine zahlen ( 1000e+3 ) falsch durch php verstanden werden, sondern das einfach nur die zahlen vor dem e genutzt werden.

hatte mal was gesehen aber ich finde es leider nicht wieder.

ambesten sollte es auch nur die zahlen nutzen wenn zum beispiel auch User folgendes eingeben: 200 € oder weiss der geier.
 
Hmm, das geht ganz gut mit einem Regulären ausdruck:

PHP:
<?php
$input = "400e4";
$wahr = preg_match ("/^([0-9]+)$/", $input);


if ($wahr == TRUE){echo "Zahl OK!";}else{echo "CHEATER!";}
?>
Gibt CHEATER aus

PHP:
<?php
$input = "4004";
$wahr = preg_match ("/^([0-9]+)$/", $input);

if ($wahr == TRUE){echo "Zahl OK!";}else{echo "CHEATER!";}
?>
gibt OK aus


hmmm ungetestet - sollte aber gehen
Der reguläre Ausdruck läßt nur die Zahlen 0-9 zu.
 
Zuletzt bearbeitet:
Deinem Vorschlag nach zu folge wäre die Bedingung immer dann wahr, wenn $wahr der Wert TRUE zugewiesen werden konnte. Der Vergleichsoperator (==) wäre in diesem Fall sinnvoller.
 
Und ohne das $ im pattern und mit preg_replace erhält man dann direkt den Teil vor dem e oder was auch immer jemand ausser Ziffern eingibt.
 
Ich denke, so müßte es gehen, habe ich aber nicht getestet:
PHP:
$zahl = preg_replace ("/^([0-9]+)/","\\1", $zahl);
Es müßte dann immer mindestens eine Ziffer am Anfang stehen und sowie es keine Ziffer mehr gibt wird abgeschnitten. Also nicht nur bei e sondern auch bei Komma und Punkt. Es werden also nur ganze Zahlen herausgefunden, Nachkommastellen werden ebenso abgeschnitten, wie e und was danach kommt.
 
Zurück