ホームページ  >  記事  >  php教程  >  PHP投票システムで不正投票を防ぐ方法

PHP投票システムで不正投票を防ぐ方法

WBOY
WBOYオリジナル
2016-06-21 08:50:241618ブラウズ

人生において、多くの人が投票の必要性に遭遇するでしょう。ただし、投票所は脆弱な場合が多く、投票源を確認しないと不正投票が発生したり、ひどい場合にはウェブサイトが崩壊したりする可能性があります。

次の記事では、チケット詐欺を防ぐ方法について説明します。100% 防ぐことはできませんが、多数の新人がソースからシステムに損害を与えるのを防ぐこともできます。直接転送しました:)

チケット スワイプ システムを作成したばかりですが、最初はたくさんの人がチケットをスワイプするのに遭遇しました。度重なる修正を経て、チケット詐欺プログラムによるチケット詐欺は基本的に撲滅されました。 チケット詐欺の具体的な側面は以下にリストされています:

1. まず、複雑な確認コード は非常に重要であり、最初は非常に単純な小さな確認コードを使用していましたが、チケットによるクラックを避けることはできませんでした。詐欺プログラム。そこで、非常に複雑な確認コードをオンラインで見つけ、手動投票でも 2 回更新する必要がありました。必要な場合は、メールアドレスを残してください。できるだけ早くお送りします。

2. 投票は実名で行われ、ID番号が記入されるため、ID番号の確認も必要です。まず、ID カード番号は 18 桁である必要があり (第一世代の ID カードは現在基本的に不可視です)、最初の 17 桁は数字である必要があります。コードは参照 if(((strlen($sfz))!=18 および (strlen($sfz))!=15) または (!is_numeric(substr($sfz,0,strlen($sfz)- 1) を書き込みます。 )))) "$sfz" は受信した ID 番号です。このステートメントの後にプロンプ​​トを追加できます。さらに、投票する前に、現在の ID カードがすでに投票しているかどうかを 確認してください。そうでない場合、投票はカウントされません。

3. 特に形式的な場合は、登録後に投票する仕組みを使用することもできます。登録情報も確認して、制限事項を確認する必要があります。登録するとき。

4. オブジェクト指向プログラムを使用する場合、 SQL インジェクションを防ぐために投票集計関数をプライベートに設定する必要があります。

5. もう 1 つは、Cookie を使用してクライアントの時間を制限することです。この方法は紳士を守るためのものですが、悪役を守るためのものではありません。ただし、それでも追加することをお勧めします。

6. もう 1 つは IP 制限 です。たとえば、各 IP は 100 票しか投票できません (一部の企業では大規模な LAN が使用され、すべてのパブリック IP が使用されることを考慮します)。そうしないと不公平が生じる可能性があります)。

7. 最後で最も重要な 確認コード入力ボックスは、非同期通信を使用して実装されています。 Web ページの初期認証コードは表示されません。投票が成功すると、認証コード入力ボックスをクリックして認証コードが表示されます。認証コードの SESSION はすぐに解除されます。こうすることで、ほとんどの券売機を回避できます。

この記事では、一般的な考え方をいくつか説明します。いわゆる予防策は不可欠です。すべてのユーザーの入力が安全であることを保証することはできません。最後に一言: チェックするときはホワイトリストを忘れないでください。これは必要です。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。