• memcache课程---4、php+memcache如何让用户跨域登录


    memcache课程---4、php+memcache如何让用户跨域登录

    一、总结

    一句话总结:

    让所有服务器共用一台memcache缓存,即可达到跨域的目的
    1、session跨域:修改php配置文件,使session保存到memcache服务器上去,这样登录的话session信息就保存到memcache服务器上面去了;不同服务器修改的php的配置文件都指向同一个memcache服务器,比如tcp://192.168.20.1:11211
    2、cookie跨域:因为cookie里面带sessionid,默认不是本人带正确的卡不认,所以可以在跨域的入口链接中带上sessionid
    php怎么把session存到memcache服务器上面去(这样可以实现session跨域)
    php.ini配置文件修改(支持memcache) 
    session.save_handler = memcache 
    session.save_path = "tcp://192.168.20.1:11211“
    
    
    cookie跨域如何实现(cookie默认是相当于本人带正确的卡才得行)
    本质是通过memcache保存且共享了session_id信息
    1、强制在跨域的入口链接中带上了session_name()这个参数,所以可以$_GET取
    2、在memcache中根据session_name()对应的session_id取session数据即可(先存了)
    3、将这个session_id存入cookie,便于网站的不同位置需要sessionid的时候使用

    1、memcache用户跨域登录解决的是什么问题(举例)?

    不同服务器上请求资源:网站既向linux服务器请求资源,又向windows服务器请求资源,默认情况登录的session不共享,所以用户需要登录多次很麻烦

    2、php怎么把session存到memcache服务器上面去(这样可以实现session跨域)?

    不同服务器修改php.ini配置文件已支持memcache
    session.save_handler = memcache
    session.save_path = "tcp://192.168.20.1:11211“

    3、php默认把session存为什么文件,放在哪?

    到php的配置文件中去找session
    默认是存为文件:session.save_handler = files
    存储地址:session.save_path="D:softwarecodingphpphpstudyPHPTutorial mp mp"

    4、cookie跨域如何实现(cookie默认是相当于本人带正确的卡才得行)?

    本质是通过memcache保存且共享了session_id信息,来找到session的信息
    1、强制在跨域的入口链接中带上了session_name()这个参数,所以可以$_GET取
    2、在memcache中根据session_name()对应的session_id取session数据即可(先存了)
    3、将这个session_id存入cookie,便于网站的不同位置需要sessionid的时候使用
    项目入口文件设置
    $mem=new Memcache;
    $mem->connect("192.168.20.1","10000"); 
    $sessid=$_GET[session_name()];//强制在链接中带上了这个参数,所以可以$_GET取
    $_SESSION=$mem->get($sessid.'_data');
    setcookie(session_name(),$sessid,0,'/');//比如linux除了进门需要卡号,其它位置也需要,所以存进session
    
    
    存session_id到memcache服务器
    $mem=new Memcache;
    $mem->connect("192.168.20.1","10000")
    $mem->set(session_id().'_data',$_SESSION);

    二、内容在总结中

     
  • 相关阅读:
    python tarfile模块基本使用
    Python shutil模块
    python的gzip库使用方法
    python的gzip库使用方法
    python的gzip库使用方法
    linux 下查看文件修改时间,访问时间,状态改变时间
    linux 下查看文件修改时间,访问时间,状态改变时间
    linux 下查看文件修改时间,访问时间,状态改变时间
    mysqldump使用
    windows 7环境下配置oracle 11g 客户端
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10924642.html
Copyright © 2020-2023  润新知