global 变量在大并发环境是线程安全的吗? 一个网站,在一个统一入口的页面设置了一个global变量获取用户输入的参数,然后重定向到另外一个页面读取这个参数。这种情况下会不会导致某一个用户访问时,实际处理到的global变量值是另外一个用户输入的呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会.PHP是进程级的,无法以线程的细颗粒处理元素.所有的变量,函数,执行过程都是在单独的进程中执行,不同进程之间的变量完全封闭不会干扰. global 只在同一个线程内有效重定向已经是另一个请求~所以是另一个线程 不要使用global变量获取用户输入的参数可以直接从$_REQUEST获取用户发送的信息,global是系统的共享空间,当多用户访问的时候,不可能准确获取用户输入的信息。如果有显示输入信息功能的话,用户A很容易得到用户B的输入信息。 好好好,进程我其实不知道国内叫什么名称 haha global变量是用来保存系统共享内容的,例如连接数据库的实例、缓存几乎没有变化的商品分类信息等等。但是,用户输入信息是禁止用global变量操作的,global使用不当,的确存在安全隐患,但是如果用global管理输入信息,那就不是按全部安全的问题了——是自掘坟墓。PHP5以后的版本,支持了很多OOP语言功能,所以,可以通过Singleton和Registory设计模式替代global。这样的代码更安全,也便于管理。 global管理输入信息的确是很不当的,全局变量不可以随意乱用.但是,global跟多用户似乎并没有什么关系?PHP执行细度决定了每一次用户请求,都是在单独的zend虚拟机里完成操作,变量封闭,不会出现这个用户输入的信息被那个用户访问.所谓global的共享,是指在同一个zend虚拟机内部,可以跨函数,方法的符号变量表限制,访问外域变量.但不会出现A用户得到B用户输入的信息吧. 求一个超连接正则表达式 100分求助: sql貌似不能对同一行做max判断呢?不能实现我这个么 如何自定义网页的后缀名 LINUX浏览服务器的问题 php判断表达式中false在==前后的区别? 完美的网上商店系统 急:关于电影下载。。 如何将utf-8编码的字符串转换为ASC11编码的字符串? 谁能帮我看看这是什么 意思?? 做一个酒吧座位预定系统,求思路。 用户点击下载,弹出另存为的框,选择自己的本地的路径,保存图片,在IE6上可以正常运行的,但是在firefox测试的时候出现 savepic is not defined ? 不知道如何解决,请求高手帮 system 执行可执行文件
所有的变量,函数,执行过程都是在单独的进程中执行,不同进程之间的变量完全封闭不会干扰.
重定向已经是另一个请求~所以是另一个线程
可以直接从$_REQUEST获取用户发送的信息,
global是系统的共享空间,当多用户访问的时候,不可能准确获取用户输入的信息。
如果有显示输入信息功能的话,用户A很容易得到用户B的输入信息。
好好好,进程
我其实不知道国内叫什么名称 haha
例如连接数据库的实例、缓存几乎没有变化的商品分类信息等等。
但是,用户输入信息是禁止用global变量操作的,global使用不当,的确存在安全隐患,
但是如果用global管理输入信息,那就不是按全部安全的问题了——是自掘坟墓。PHP5以后的版本,支持了很多OOP语言功能,所以,可以通过Singleton和Registory设计模式替代global。
这样的代码更安全,也便于管理。
所谓global的共享,是指在同一个zend虚拟机内部,可以跨函数,方法的符号变量表限制,访问外域变量.但不会出现A用户得到B用户输入的信息吧.