Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以在登录后将用户从一个https服务器重定向到Laravel中的另一个服务器吗_Php_Laravel_Single Sign On - Fatal编程技术网

Php 我可以在登录后将用户从一个https服务器重定向到Laravel中的另一个服务器吗

Php 我可以在登录后将用户从一个https服务器重定向到Laravel中的另一个服务器吗,php,laravel,single-sign-on,Php,Laravel,Single Sign On,当用户登录(使用Laravel)时,我可以将他们从一台HTTPS服务器重定向到另一台HTTPS服务器吗?如果是这样,我如何在没有SSO或LDAP的情况下使用“普通”PHP实现这一点 在我的特定情况下,我有两台服务器: 使用SSL、Apache、MySQL和Laravel DB运行Ubuntu,用户可以在其中登录并 设置与#1相同,但没有数据库 让我重新表述一下: 这是安全问题吗?? 我如何知道用户登录到1Stutial.如果你只是在寻找一个简单的重定向,考虑使用标题()/< > > 例如:标题(

当用户登录(使用Laravel)时,我可以将他们从一台HTTPS服务器重定向到另一台HTTPS服务器吗?如果是这样,我如何在没有SSO或LDAP的情况下使用“普通”PHP实现这一点

在我的特定情况下,我有两台服务器:

  • 使用SSL、Apache、MySQL和Laravel DB运行Ubuntu,用户可以在其中登录并
  • 设置与#1相同,但没有数据库
  • 让我重新表述一下: 这是安全问题吗??
    我如何知道用户登录到1Stutial.

    如果你只是在寻找一个简单的重定向,考虑使用<代码>标题()/< > > 例如:

    标题(“位置:https://newurl/“”


    在Laravel中,
    return Redirect::to('https://newurl/“)
    起作用。

    为了实现您想要的,以下流程(可能经过修改)可以工作:

  • 登录到站点1
  • 成功登录后,site1使用带有预定义凭据的HTTPS将site2卷曲到RESTful界面
  • Site2检查预定义的凭据并创建一个临时id,该id存储在DB中,并使用存储在DB中的id响应cURL
    • ^每分钟运行一次cron作业以清除早于5秒的ID
  • Site1将ID放入URL并重定向到Site2
  • Site2从DB获取ID并对用户进行身份验证
  • Site2在身份验证时删除数据库条目

  • 实现这一点的最佳方法是,设置一个数据库,提供一些基本的RESTAPI方法,然后创建一个自定义会话驱动程序来调用该API


    话虽如此,我还是很好奇为什么这两个应用程序是这样分开的?

    请记住,如果您包含一个querystring
    https://newurl/?param1=x¶m2=y
    那么它将是不安全的。@developerwjk你在说什么?位置重定向可以包含查询字符串。@ceejayoz,但是参数的值不会被SSL加密。@developerwjk如果是从一个HTTPS URL重定向到另一个HTTPS URL,当然会。URL中查询字符串的真正问题是,如果site2挂起大约3秒钟,那么用户将看到您的URL及其所有查询字符串,并且它提供了一个潜在的可测试利用点