如题,举个例子,有个方法,里面逻辑大概如下:
function test(){
$a = $db->query('...');//返回1或0
if($a == 1){
$db->set(0);//更新后下次执行此方法$a不再会是1.
//这里是其它逻辑,问题是,如果很多请求同时调用此方法,而此方法中的set过程又稍长,那么这里的逻辑就会被执行多次,与预计的只能执行一次是不符的。
}
}
请问大家一般怎么处理这种情况?对于投票或者跟奖品等安全性要求较高时这种情况很多。
如果用session的话请求可能来自不同的ip,如果用memcached之类的缓存保存状态,同样是有网络延迟的,shmop?求高见。
function test(){
$a = $db->query('...');//返回1或0
if($a == 1){
$db->set(0);//更新后下次执行此方法$a不再会是1.
//这里是其它逻辑,问题是,如果很多请求同时调用此方法,而此方法中的set过程又稍长,那么这里的逻辑就会被执行多次,与预计的只能执行一次是不符的。
}
}
请问大家一般怎么处理这种情况?对于投票或者跟奖品等安全性要求较高时这种情况很多。
如果用session的话请求可能来自不同的ip,如果用memcached之类的缓存保存状态,同样是有网络延迟的,shmop?求高见。
解决方案 »
- 在FCK加入这么一个功能,该怎么办,来看看吧,谢谢啦
- 关于iframe的使用请教。
- 大家快来帮我看看这是怎么回事
- 一心想學PHP的人,有問題要問
- php+mysql 图片问题
- 关于域名相关的问题
- 打开的php的网页,却弹出下载的对话框!为什么?在线等(斑竹999)
- 请教怎么把PHP处理的时间变量存到MSSQL中的DATETIME字段,例如把今天的时间存到MSSQL中的DATETIME字段中
- 在网易电子相册中上传图片时,可以对上传的图片进行自动缩放.改变图片大小,请问这种技术是要怎样才能实现?请教了.谢谢!
- PHP学生信息管理系统
- 新手请教一个关于PHP 从数据库取得数据后如何填充到XML文件中
- 修改ftp密码出现错误!
echo '<script>alert("Ban repeated comments within 30 seconds");location.href="'.$ymurl.'";</script>';
exit;
}
SESSION保存时间在做判断行不?
echo '<script>alert("Ban repeated comments within 30 seconds");location.href="'.$ymurl.'";</script>';
exit;
}
SESSION保存时间在做判断行不?
我反问你,如果不同的ip过来访问,你还能共享session中的值?session是指某个会话吧,ip都不同了还是某一个会话?
做WEB也六七年了,对http还是很了解的,.net , asp都搞过, php用了半年,.net至少有静态变量,至少有lock锁线程,asp至少也有application,你说php用什么代替asp中的application?
用上cookie,只允许固定会员投票一次,在严点那你就限制ip段。你想完全限制别人刷票那是没有任何可能的,能做的只是让别人麻烦点,别人会清cookie,注册新会员,用代理。
首先,只要是有奖品的投票,必然会有刷票的可能,只有奖品够高,必定有人写投票机,至少我是写过。只要有了投票机,cookie,session神马依赖于客户端的都是浮云。何况,你们的数据提交验证都是在客户端验证,不在服务器端验证么,你不觉得我提到的问题是个隐藏的大bug么。当然,你说的思考问题的方式,当然有很多非技术的其它方式,比如设置其它各种门槛,但是我既然来CSDN,也只是想探讨一下技术问题而已。另外,你不
你不觉得我说的这些都是很正常的技术问题吗。结了吧,讨论有点激烈,没别的意思,有冒犯不要往心里去,毕竟是做技术的人,你说的session是可以解决一部分问题的,其实我主要想了解的是php有没有关于共享内存和线程安全的解决方案,我也没表达清楚,还是谢谢你了。