我需要X.com上高度混杂的cookie,因为安全不是问题。我怎么能强制HttpOnly是假的cookie在域名X.com,使JavaScript上的AnyRandomUnexpectedDomain.com可以调用X.com/readCookie.php和readCookie.php可以发回的数据在X.com cookie ?
readCookie.php有header("Access-Control-Allow-Origin: *"), nginx web服务器也有Access-Control-Allow-Origin大打开。在php.ini会话中。Cookie_httponly = 0,当然,这只适用于会话,而不是永久cookie。通过这种设置,远程执行调用和AJAX数据流跨域工作正常,但唯一的问题是添加到readCookie.php中的$_COOKIE["auth"]调用没有返回任何内容,即使在创建auth cookie时将HttpOnly显式设置为FALSE,如:
setcookie("auth",$secret,time()+3600*24*365,"/",null,false,false);
代码,web服务器,PHP等中还需要什么,以便$_COOKIE["auth"]将X.com cookie的值返回给AnyRandomUnexpectedDomain.com?
我使用session_set_cookie_params
设置cookie。这是我使用的代码。
$session_name = 'somesessionname';
$secure = false; //for https
$httponly = false; //as per use in javascript
if (ini_set('session.use_only_cookies', 1) === FALSE) {
//err=Could not initiate a safe session
exit();
}
$cookieParams = session_get_cookie_params();
session_set_cookie_params($cookieParams["lifetime"],
$cookieParams["path"],
$cookieParams["domain"],
$secure, $httponly);
session_name($session_name);
session_start();