dongwu4834 2019-04-14 13:55
浏览 48

假设https用于两者,PHP会话比ajax调用更安全吗?

I'm writing a login system for a web application. Currently I create a php session and generate a token stored in a PHP session variable before any HTML or other output. That token is read in JavaScript from the php session by a simple embedded PHP echo and stored briefly in a javascript variable. It is then sent in all ajax requests and if the token sent in the ajax request doesn't match the token stored in the PHP session, the ajax call is aborted. An alternative would be to make a ajax call DOMContentLoaded to a php script, generate the token, store a hash is mysql, and return the unhashed token via ajax response and store it in a JavaScript variable. On subsequent ajax calls within the same page, I could return a new token each time to be used in a subsequent ajax call.

My question is whether the storing the token primarily in the PHP Session but still reading it via php echo into a JavaScript variable is more secure than returning the token via ajax and storing it in a JavaScript variable. The ajax method has the advantage of allowing a new token to be generated and returned on each ajax call.

I have tried updating the token in the php session during an ajax call but client side code that uses PHP echo of the session variable into a JavaScript variable doesn't receive the new value created during the ajax call because the client page hasn't reloaded. This isn't a problem if the token is stored in mysql and returned to the client via ajax.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!
    • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
    • ¥15 求daily translation(DT)偏差订正方法的代码
    • ¥15 js调用html页面需要隐藏某个按钮
    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3