PHP简单实现HTTP和HTTPS跨域共享session解决办法?
PHP自带的SESSION会话机制是这样的:
PHP-FPM根据浏览器传来的一个名为PHPSESSID的HTTP cookie确定要访问的会话文件,然后填充超全局变量$_SESSION.
WebSocket建立连接时,也可以拿到这个HTTP cookie(注意跨域问题:AJAX跨域区分域名和端口,COOKIE区分域名但不区分端口),同理你可以根据这个PHPSESSID读取服务器上的会话文件,unserialize反序列化就能拿到会话数组,如果你要写入会话,记得先用 flock($fp, LOCK_EX) 排它锁锁定后再写入,只是读的话就不需要了.
但个人不建议使用PHP自带的SESSION会话机制,除非你的应用定位就是单台服务器.否则还是建议使用cookie验证身份(解密cookie,根据id比对salt),Redis存储用户数据:
user:10001:name => 'tux'
user:10001:age => 27
这样不同语言都可以访问到这些数据,而且可以把程序部署到其他服务器也没有问题.
php如何跨域提取cookie?
在a.com下设置cookie后,嵌入一个iframe框链接b.com的页面,b.com设置好页面cookie后,再嵌入一个a.com的页面,然后通过parent.parent就可以调用最外层的a.com的js方法,从而进行跳转或者一些其它的操作
做网站开发的人,一定要同时会前端和后端么?
是的,因为一个网站是由前端和后端一起搭建起来的,但是一般只需要精通前端和后端其中一块领域就可以,毕竟真正能做到全栈工程师的人还是极其少的。那为什么我们要同时会前端和后端呢?个人总结出以下几点原因:
1.上下层岗位技术都需要了解
一般作为开发岗位,和自己最邻近的上下层岗位也需要去了解。如前端岗:一般需要会一些它的上层岗位UI设计的技术,和下层岗位后端的技术,因为在工作当中,如果你上下层岗位的技术不会一些,你就无法高效的和其他人沟通。这一点上小公司和大公司要求有所区别,小公司因为人少,所以往往要求前端既做UI的工作又做前端和后端的工作,但是对于大公司来说,就岗位职责很分明,前端就做前端的工作就行了,后端的问题和后端沟通解决就行。但是无论前端后端,小公司大公司,你都需要会前端和后端,因为这样会让你在工作中的沟通效率更高。
2.都会让你技术成长更快
大家可以看上面前端和后端岗位各自的工作内容,我们可以观察到,两者不仅岗位上关系紧密,技术上也是互相关联的。事实也是如果,前端开发者学习后端的一些知识,比如路由处理,数据库处理等等,能够帮助自身在设计前端模式的时候更好的兼容后端代码。
相反后端人员学习前端技术,如bootstraps、css、html、js等,
也能让后端写的代码对前端更加友好。最重要的是两者都会的话,能够帮你打通一个网站从页面设计到数据处理的整个链条,让你更好的理解整个页面的运转机制。
3.提升自身核心竞争力
无论是前端和后端开发,如果你想在公司继续往上走到架构师的层次的话,你对两者必须都有深刻的理解。也就是说两者在你个人技术到达某一个阶段之后,如果想技术上再获得大幅的提升,你必须两者都要精通。这一点你从一些招聘软件的岗位要求上也可以看出来,以下是某招聘软件的前端和后端岗位的技术要求。
前端要求
这是阿里巴巴的前端工程师岗位要求,从第4条可以看出,它需要你掌握一门后端语言,也就是说需要你掌握一些后端的技术。
后端要求
从第3条要求可以看出,后端人员也需要掌握一些如js等基本的前端技术。
总结
总结一下,如果你以后想在技术的道路上继续发展,那么两者都必须尽量精通。今天就说到这了,你有什么看法或问题关注私信我交流,编写不易,点个赞吧。