[PHP-users 19470]Re: 重複投稿/submitを防ぐトランザクショントークンという考え方

Mashiki mashiki @ yanah.com
2003年 12月 21日 (日) 05:14:10 JST


 Mashikiです。

>これは気がつきませんでした。
>具体的に動作はしたものの、検証する方法が思いつきません。
>このスクリプトを普通に実行しただけでは、ロックされている場合の
>処理が全く実行されません。ロック処理を検証する良いアイデアは
>ありますか?

 テストであれば、

            print "正常です";
            $_SESSION['tt'] = "unavailable";
            
の間に「sleep(1);」を移動して見ればよいのではと。
 
 
ただ、ロジックで

if(isset($_SESSION['ttlock'])){
    $lock = $_SESSION['ttlock'];
}else{
    $_SESSION['ttlock'] = $lock = 'unlock';
}

if($lock === 'unlock'){
    $_SESSION['ttlock'] = 'lock';


の部分がアトミックでないと、意味がないような気がします。


PHP-users メーリングリストの案内