我有一个检索http会话变量的问题。我有两个服务器,一个码头和一个Apache。 Apache和Java中的两种语言PHP在码头。当用户登录到网站时,他或她的配置文件ID将以Session变量的形式存储在PHP中的Apache服务器中。我可以以某种方式从使用Java的Jetty服务器检索此会话变量吗?跨语言和服务器http会话变量
回答
对于跨服务器会话,您可以将会话保留在Cookie中。但是你需要确保使用一些强大的算法和密钥来加密这些cookie。
如果您只想存储用户ID。然后,您可以将ID存储为其公开ID,并将其与该ID一起存储,如果ID与您一样可以使用签名来检测它。
认证
1. One contains ID and
2. other contains signature of ID like using function in php called hmac_hash
后创建两个Cookie无论你这就需要身份验证的请求。
1. Using ID and same secret generate same signature back.
2. Check if the signature you generated is same as one you got in cookie.
警告:轻微的失误也会造成数据公开。
警告2:大型cookie会让网站变慢一点。
是不是我,我会试图重写会话处理程序在PHP中,并将会话的东西存储在数据库中。请参阅http://us2.php.net/manual/en/function.session-set-save-handler.php
您可以控制会话变量的存储方式和存储位置。你可以从cookie中读取会话句柄或任何其他语言的任何东西,并为java端编写你自己的东西。
是的,但是当从本地会话转移到数据库持久会话时,会有巨大的性能影响。 – FearUs 2011-03-01 07:42:58
改为使用memcached会话处理程序。它工作出色。 – 2012-03-07 17:57:04
- 1. 会话和服务器变量Session_End中
- 2. 跟踪会话变量中的语言
- 3. Mysql语言环境会话变量?
- 4. 会话变量和Web服务
- 5. 会话变量,Web服务,ASP.NET和C#
- 6. 在不同服务器上托管的多语言网站的跨域会话
- 7. ASP.NET会话ID - 跨服务器唯一
- 8. 检查跨服务器的会话
- 9. PHP跨会话变量
- 10. 会话由服务器或语言处理?
- 11. 会话变量在Visual Studio和服务器上行为不同
- 12. Web服务跨语言参数类型
- 13. WCF服务中的会话变量
- 14. Node.js - 如何在http服务器和网络服务器之间共享会话?
- 15. PHP Codeigniter多语言网站使用会话变量来存储语言密钥
- 16. SSO OAuth2Authentication会话和服务器端http请求
- 17. 的java:HTTP服务器和客户端之间的HTTP会话
- 18. 跨语言共享常量
- 19. 跨子域维护会话变量
- 20. 会话变量不能跨越
- 21. PHP会话变量不跨越
- 22. 跨语言双向客户端 - 服务器通信方法?
- 23. 跨语言客户端/服务器的双向RPC选项
- 24. 无法访问不同服务器上的会话变量
- 25. 如何创建MS SQL服务器会话(连接)变量
- 26. 取消所有的会话变量与服务器命令
- 27. php会话变量不在现场服务器上工作
- 28. 一旦会话超时,服务器上的内存变量
- 29. 重新启动服务器时是否丢失会话变量?
- 30. 简单的服务器端Flask会话变量
我并不擅长安全性,但强大的加密功能以及Cookie如何帮助提高用户的安全性?与存储普通Cookie不同吗? – einstein 2011-03-01 06:46:30
在会话中,如果您存储一些不应公开的数据,可能是他的姓名或电子邮件。在这种情况下,如果数据被加密,那么复制cookie的人将无法解密并知道实际数据是什么。既然你有密钥解密它,你可以读取数据。 – Zimbabao 2011-03-01 06:48:49
@津巴宝:你能告诉我如何在PHP中做到这一点? – einstein 2011-03-01 07:11:22