検索

ホームページ  >  に質問  >  本文

PHPでSMS検証を行う場合、セッションに検証を保存しても安全ですか?

携帯電話の SMS 認証を実行し、その認証をセッションに保存するのは、php にとって安全ですか?

セッションデータベースキャッシュ

保管するのに最適な場所はどこですか?

欧阳克欧阳克2728日前1038

全員に返信(4)返信します

  • phpcn_u1582

    phpcn_u15822017-07-04 13:47:58

    データベース。 SMS 確認コードについては、いくつかの制約を考慮する必要があります。 1. 一定の秒数以内に同じ携帯電話番号で SMS メッセージを受信することはできません。 2. セキュリティ上の理由から、一定期間内に同じ IP に複数回電話をかけることはできません。 1 日以内に SMS メッセージを追加する必要もあります。項目数を超えることはできません。 したがって、これらの制約を実装するにはデータベースを使用することをお勧めします。セッションは間違いなく機能しません。注: グラフィカルな検証コードを追加します。追加しないと、インターフェイスが攻撃に対して脆弱になります。

    返事
    0
  • 某草草

    某草草2017-07-04 13:47:58

    redis memcached などのキャッシュで使用することをお勧めします
    キャッシュのパフォーマンスは DB よりもはるかに優れています

    返事
    0
  • 欧阳克

    欧阳克2017-07-04 13:47:58

    セッションはサーバー上にあり、クライアントからは見えないので安全です。セッションの保存方法としては、デフォルトでファイルセッションを使用することも、セッションをデータベースに保存することも、メモリを使用して保存することもできます。誰かが上で言及した redis memcache などに保存するか、Linux では自分で作成したキャッシュを使用できます。効率とコストは 1 つだけですが、キャッシュの使用にはコストがかかります。データベースの利用効率が低い

    しかし実際には、現在これを自社で行っている企業はほとんどなく、トラフィックが少ない Web サイトの場合はサードパーティを使用する方が費用対効果が高くなります。それでも、この資金が不足していますか?

    返事
    0
  • 黄舟

    黄舟2017-07-04 13:47:58

    セキュリティは相対的なものであり、サーバーが Cookie が改ざんされていることを確実に検出できる場合、動的署名は値、キー、および時間のハッシュによって実現されます。その後、サーバーは動的署名を検証します。ただし、このビジネス シナリオを実装するには、通常、redis などのキャッシュを使用する方が便利です。セッションのタイムアウト イベントをキャッシュで簡単に制御することは推奨されません。

    返事
    0
  • キャンセル返事