[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 メーリングリストの案内