本文實例講述了PHP+Apache實現二級域名之間共享cookie的方法。分享給大家供大家參考,具體如下:
簡介
login.koastal.com設置domain為koastal.com,則www.koastal.com即可訪問該cookie。
也就是說二級域名(或者三級域名)之間可以通過這種方式共享cookie。
其實cookie的domain屬性的用法跟path有些類似,比如我們將cookie的path設置為/,則/user目錄下也可以訪問該cookie。
實踐
Apache同一端口對應不同域名
httpd-vhosts.conf
<VirtualHost 127.0.0.1:80> ServerName koastal.com ServerAlias www.koastal.com DocumentRoot D:/wamp64/vhosts/www <Directory "D:/wamp64/vhosts/www"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory></VirtualHost><VirtualHost 127.0.0.1:80> ServerName login.koastal.com DocumentRoot D:/wamp64/vhosts/login <Directory "D:/wamp64/vhosts/login"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory></VirtualHost>
修改本機hosts
windows
C:WINDOWS/system32/drivers/etc/hosts
linux
vim /etc/hosts
在最后添加
127.0.0.1 www.koastal.com login.koastal.com
編寫php代碼進行測試
D:/wamp64/vhosts/www/index.php
<?phpif(isset($_COOKIE['username'])){ echo "welcome to ".$_COOKIE['username']; var_dump($_COOKIE);}else{?><h1><a >Login</a></h1><?php}
D:/wamp64/vhosts/login/index.php
<form action="#" method="post"><p>username:<input type="text" name="username"></p><p>password:<input type="password" name="password"></p><p><input type="submit" name="submit" value="submit"></p></form><?phpif(isset($_POST['submit'])){ setcookie('username',$_POST['username'],0,'/','koastal.com'); setcookie('password',$_POST['password'],0,'/','koastal.com'); header('Location:http://www.koastal.com');}
親測可用,全文完~
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP中cookie用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》及《php字符串(string)用法總結》
希望本文所述對大家PHP程序設計有所幫助。
新聞熱點
疑難解答