Php 使用curl时Cookie不起作用

Php 使用curl时Cookie不起作用,php,curl,cookies,Php,Curl,Cookies,您好,我想创建登录单点登录(sso) 我必须输入ip 2的ip地址 #1用于登录(主页) #2用于访问应用程序(应用程序) 我有两个数据库 德布鲁之家酒店 数据库应用程序 当我在主页中创建登录时并将curl设置为fileapps <?php ob_start(); session_start(); include("con_db_apps.php"); $id_sso = $_REQUEST['id_sso']; if($id_sso==""){ header('Locat

您好,我想创建登录单点登录(sso)

我必须输入ip 2的ip地址

#1用于登录(主页

#2用于访问应用程序(应用程序

我有两个数据库

  • 德布鲁之家酒店

  • 数据库应用程序

当我在主页中创建登录时并将curl设置为fileapps

<?php 
ob_start();
session_start();
include("con_db_apps.php");
$id_sso = $_REQUEST['id_sso'];

if($id_sso==""){
    header('Location: .');
}
else  {
        $data_us = "select * from tbl_user where user_id_sso='".$id_sso."' ";
        $resultdb= $f->get_last_record($data_us); 
            foreach($resultdb as $key=>$val) $$key=$val;

        setcookie("login_session","$id_hash");
        setcookie("login_nip","$nip");
        setcookie("login_username","$username");
        setcookie("login_name","$first_name $last_name");
        setcookie("login_fua","$fua_name");

    else {
        session_destroy();
        header('Location: .');

    }
}
文件:proses\u login.phpinhome

    <?php 
    include "con_db_home.php";
    $username = $_POST['username'];
    $pwd      = hash('sha512', $_POST['password']);
    $sql      = mysqli_query($con,"SELECT * FROM app_user WHERE username='".$username."' and password='".$pwd."' and status='1'");
    $result    = mysqli_fetch_object($sql);

    $_SESSION['id_user']        = $result->id_user;
    $_SESSION['username']       = $result->username;
    $_SESSION['status']         = $result->status; 
    $_SESSION['role']           = $result->role; 
    session_start();

  if($result->username!=""){
        $_SESSION['id_user']        = $result->id_user;
        $_SESSION['username']       = $result->username;
        $_SESSION['status']         = $result->status; 
        $_SESSION['role']           = $result->role; 

            $target_site = "http://192.168.10.203:8007/connect_curl.php";
            $myvars = 'id_sso='.$result->id_user;
            $ch = curl_init($target_site);
            curl_setopt( $ch, CURLOPT_POST, 1);
            curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);
            curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt( $ch, CURLOPT_HEADER, 0);
            curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
            $response = curl_exec( $ch );
            curl_close();
        header('Location: .');
        return; 
    }
    else {
          echo "<script language='JavaScript'> alert ('Wrong Username / Password'); </script>
                <script language='JavaScript'>document.location='.'</script>";
   }    
?>      

cookie是为进行curl调用的服务器创建的,而不是您正在使用的浏览器。@KIKOSoftware因此您有了一个解决方案:(您可以使用对curl调用的响应来设置或不设置浏览器正在调用的脚本中的cookie。PS:我没有检查您的登录过程是否存在任何安全问题。哦,我明白了,是的,它有:我想这可能也不能完全实现您的要求,对不起。您必须使用一种稍微不同的方法,我不是hink.您也没有两个IP地址,您有一个IP地址和两个端口。cookie是为进行curl调用的服务器创建的,而不是为您正在使用的浏览器创建的。@KIKOSoftware因此您有了一个解决方案:(您可以使用对curl调用的响应来设置或不设置浏览器正在调用的脚本中的cookie。PS:我没有检查您的登录过程是否存在任何安全问题。哦,我明白了,是的,它有:我想这可能也不能完全实现您的要求,对不起。您必须使用一种稍微不同的方法,我不是你也没有两个IP地址,你有一个IP地址和两个端口。