現在、私のゲームのBanlistに取り組んでいますが、現在機能していますが、投稿を使用する方法があるかどうかを知りたいとします。例:http://example.com/banlist?newentry=SAVETHIS 新しいケースに保存switch文でPHP新しい記事をスイッチ文に保存する
基本的に、新品の後に「SAVETHIS」を新しいケースに保管したいと思います。
ここに私が何を意味するのか理解するのに役立つイメージがあります。
現在、私のゲームのBanlistに取り組んでいますが、現在機能していますが、投稿を使用する方法があるかどうかを知りたいとします。例:http://example.com/banlist?newentry=SAVETHIS 新しいケースに保存switch文でPHP新しい記事をスイッチ文に保存する
基本的に、新品の後に「SAVETHIS」を新しいケースに保管したいと思います。
ここに私が何を意味するのか理解するのに役立つイメージがあります。
自分自身を書き込むコードを書くのではなく、何らかのタイプの記憶域が必要です。
if(isset($_GET['newentry'])){
if(file_put_contents('./banlist.txt', $_GET['newentry'] . PHP_EOL, FILE_APPEND) === false){
die('no perms, cant create file in '.getcwd());
} else {
die('user banned');
}
} elseif(isset($_GET['id'])){
if(in_array($_GET['id'], explode(PHP_EOL, file_get_contents('./banlist.txt')))){
die('user is banned');
}
}
好ましく、例コードとしてこれを参照してください。データベースを使用し、それがNO SECURITYチェックを持っているとして、いくつかの種類のログイン壁の後ろにこのコードを配置することです。
このスクリプトの場所を知っていれば、ループを作成してすべてのユーザーを0〜MAX_INTの範囲で禁止することができます。また、ユーザーが既に禁止されているかどうかをチェックしないので、単純なスクリプトを無限にループすることでハードドライブをいっぱいにすることができます。 Noorは潜在的なXXS攻撃をチェックします。
それで 'newentry'がロードされたら、その値をファイルに保存しますか?これは、DBの方が良いと思われるようです。また、禁止された数字の配列と 'in_array'の配列もできます。 – chris85
コードは静的で、変更されていないはずです。 *データ*が変化しています。データはデータベースまたは別のストレージに保存されます。データはコードではありません。 – deceze