Ich habe eine Haupt domain: main.com
, Subdomänen: test1.main.com
, test2.main.com
und andere Domänen one.com
, two.com
.PHP-Authentifizierung mit mehreren Domänen und Subdomänen
Jetzt ist es wie diese getan:
ini_set("session.cookie_domain", ".main.com");
$domain = 'main.com';
login.php
$user = $db->query("SELECT id, login FROM users WHERE email=? AND password=?",
array($email, $password), "rowassoc");
if($user)
{
$_SESSION['user_id'] = $user['id'];
$_SESSION['user_name'] = $user['login'];
$time = 100000;
setcookie('email', $email, time() + $time, "/", "." . $domain);
setcookie('password', $password, time() + $time, "/", "." . $domain);
header('Location: http://' . $user['login'] . "." . $domain);
exit;
}
auf jeder Seite hinzugefügt:
if(!isset($_SESSION['user_id']))
{
if(isset($_COOKIE['email']) && isset($_COOKIE['password']))
{
$email = $_COOKIE['email'];
$password = $_COOKIE['password'];
$user = $db->query("SELECT id, login FROM users WHERE email=? AND password=?",
array($email, $password), "rowassoc");
if($user)
{
$_SESSION['user_id'] = $user['id'];
$_SESSION['user_name'] = $user['login'];
}
}
}
else
{
$user = $db->query("SELECT id, login FROM users WHERE id=?",
array($_SESSION['user_id']), "rowassoc");
if(!$user)
{
setcookie('email', '', time() , "/", "." . $domain);
setcookie('password', '', time() , "/", "." . $domain);
unset($_SESSION['user_id']);
session_destroy();
setcookie("PHPSESSID","",time(), "/", "." . $domain);
}
else
{
$_SESSION['user_id'] = $user['id'];
$_SESSION['user_name'] = $user['login'];
}
}
logout.php
if(isset($_SESSION['user_id']))
{
setcookie('email', '', time() , "/", "." . $domain);
setcookie('password', '', time() , "/", "." . $domain);
unset($_SESSION['user_id']);
unset($_SESSION['user_name']);
session_destroy();
setcookie("PHPSESSID","",time(), "/", "." . $domain);
header('Location: /main');
exit;
}
Aber es funktioniert nur auf Domäne main.com
und seine Subdomänen test1.main.com
, test2.main.com
.
Ich muss irgendwie die Sitzung und auf anderen Domänen one.com
, two.com
speichern.
Wie am besten sichere Authentifizierung zu tun, wenn es Lösungen gibt, ich wirklich verwirrt, bitte erzählen Sie mit Beispiel.
Wir brauchen ** Weg ** mehr Details zu dem, was Sie erreichen möchten. Was hat die Authentifizierung mit den verschiedenen Domains zu tun? Bitte bearbeiten Sie Ihre Frage, um weitere Details hinzuzufügen. – webbiedave
Es tut mir leid. Ode hinzugefügt. – swamprunner7
Duplikat von http://stackoverflow.com/questions/244008/how-doi-i-maintain-php-sessions-across-multiple-domains-on-the-same-server – Brad