認証コードがバイパスされた場合の対処方法_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:53:59
オリジナル
1585 人が閲覧しました

まず確認コードの発行プロセスを分析しましょう
1.フォームを表示
2. 認証コードを表示し(認証コードを生成するプログラムを使用)、認証コードを暗号化してセッションまたはCookieに入れます
3. ユーザーがフォームを送信します
4. 検証コードが正しく、データが正当であることを確認します。データベースへの書き込みに関するチュートリアルは完了です

通常の状況では、ユーザーが別の投稿を投稿すると、フォーム ページに再度アクセスし、検証コードの画像が受動的に更新され、それに応じてセッションと Cookie も変更されます
ただし、注水マシンの操作には必ずしもフォーム ページを使用する必要はなく、この方法でデータをサーバー プログラムに送信することもできます。もちろん、検証コード プログラムは呼び出されません。暗号化された検証コードはセッションに保存され、Cookie が最後の値であるため、更新はなく、検証コードに関係なく、将来的には無制限にポストを通じてデータを直接送信できますが、これは役に立ちません。

そのため、認証コードを確認したら、まずセッションとCookieの値をクリアし、データの正当性を判断してデータベースに保存します。
こうして抜け穴は塞がれました!

if ( md5($_post['vcode']) == $_session['vcode'] ) {
$_session['vcode']='';//この文は非常に重要です
} その他 {
exit 「確認コードが間違っています!」 ';
}
//次の処理
...
?>

認証コード画像を生成するプログラム

session_start();
...
$v = 新しい認証コード();
$vcode = $v->getauthcode();
$_session['vcode'] = md5($vcode );
……
?>

フォームページ


...
よく見えない場合はページを更新してください


確認コードがバイパスされる仕組み

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632363.html技術記事まずは解析してみましょう 認証コードの公開プロセス1、フォームの表示2、認証コードの表示(認証コードを生成するプログラム)、認証コードを暗号化してセッションまたはCookieに入れる3、...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート