我有一个基于PHP的web应用程序,它将HTTP请求发送到Java Web Service,然后Java Web Service执行Oracle数据库中请求的操作。在HTTP请求中发送密码之前,我想使用password_hash对密码进行散列。如果我在创建新用户时这样做,就不会有任何问题。但是,当我需要使用这个密码登录时,我不能在PHP中验证它,因为我不能(也不能)直接访问数据库来获取存储在那里的散列。因此,验证必须在Java Web服务中进行。这是可能的吗?如果不可能,还有什么替代方案?使用的盐是随机的,所以我不能散列用于登录和发送的密码,因为我没有用于存储在数据库中的散列的盐。
问题
我有一个页面,它是通过完全通过生成的。我通过从子域(ajx.example.com) )上的PHP脚本请求数据来获取内容,然后以JSON格式返回数据。
如果用户登录(这是JSON,"isEditable":true中的键之一),这个特定页面的要求之一是“可编辑的”。如果我直接访问请求页面(在子域上),并且用户登录(在主域),那么isEditable就是 and true。但是,如果我通过Ajax请求请求它,那么它总是false。
这些子域是通过VirtualHost on MAMP完成的,它们都指向同一个目录。
www.example.com在htdocs/exampl