携帯電話の SMS 認証を実行し、その認証をセッションに保存するのは、php にとって安全ですか?
セッションデータベースキャッシュ
保管するのに最適な場所はどこですか?
phpcn_u15822017-07-04 13:47:58
データベース。 SMS 確認コードについては、いくつかの制約を考慮する必要があります。 1. 一定の秒数以内に同じ携帯電話番号で SMS メッセージを受信することはできません。 2. セキュリティ上の理由から、一定期間内に同じ IP に複数回電話をかけることはできません。 1 日以内に SMS メッセージを追加する必要もあります。項目数を超えることはできません。 したがって、これらの制約を実装するにはデータベースを使用することをお勧めします。セッションは間違いなく機能しません。注: グラフィカルな検証コードを追加します。追加しないと、インターフェイスが攻撃に対して脆弱になります。
欧阳克2017-07-04 13:47:58
セッションはサーバー上にあり、クライアントからは見えないので安全です。セッションの保存方法としては、デフォルトでファイルセッションを使用することも、セッションをデータベースに保存することも、メモリを使用して保存することもできます。誰かが上で言及した redis memcache などに保存するか、Linux では自分で作成したキャッシュを使用できます。効率とコストは 1 つだけですが、キャッシュの使用にはコストがかかります。データベースの利用効率が低い
しかし実際には、現在これを自社で行っている企業はほとんどなく、トラフィックが少ない Web サイトの場合はサードパーティを使用する方が費用対効果が高くなります。それでも、この資金が不足していますか?
黄舟2017-07-04 13:47:58
セキュリティは相対的なものであり、サーバーが Cookie が改ざんされていることを確実に検出できる場合、動的署名は値、キー、および時間のハッシュによって実現されます。その後、サーバーは動的署名を検証します。ただし、このビジネス シナリオを実装するには、通常、redis などのキャッシュを使用する方が便利です。セッションのタイムアウト イベントをキャッシュで簡単に制御することは推奨されません。