标签: setcookie

Cookie - 跨多个域设置

我公司的设置如下:

  • subdomain1.domain1.com
  • subdomain2.domain1.com
  • subdomain3.domain1.com
  • subdomain4.domain1.com
  • subdomain5.domain1.com
  • subdomain6.domain1.com

  • subdomain1.domain2.com

  • subdomain2.domain2.com
  • subdomain3.domain2.com
  • subdomain4.domain2.com
  • subdomain5.domain2.com
  • subdomain6.domain2.com

在每个站点上,请注意每个子域可以有一百个站点,用户可以登录.作为开发人员,我们必须在多个浏览器中测试前端,但是一旦登录后某些部分可能只需要一些工作.

我编写了一个用户脚本,可以保存用户名和密码(以及其他因保密而无法提及的详细信息).脚本通过填写登录表单并单击"提交"按钮来检查用户帐户是否存在.如果没有,它会为我们注册 - 从而使注册过程自动化.

在同一域上的子域之间共享cookie非常简单.如果我在subdomain1.domain1.com上,我可以保存一个可以通过subdomain2.domain1.com检索的cookie.但是,我还想为domain2保存这些.我似乎无法让这个工作.

我可以从这里看到两个解决方案 - 或者:

1)使用userscript附加iFrame,该用户脚本在domain2上加载站点.然后使用查询字符串来决定要设置什么,或者;

2)使用method ="POST"的表单,并简单地发布到每个域上的文件.

无论哪种方式都是资源密集型的,特别是如果cookie每次更改时都会更新.我们还有URL屏蔽功能.所以我们还必须考虑像abc.clientdomain1.com,abc.clientdomain2.com等网站.

有谁知道一个更简单的方法来实现这一目标?

javascript cookies jquery setcookie

12
推荐指数
2
解决办法
3万
查看次数

同站点 cookie 但允许特定域

我想使用SameSite=strict来保护我的 cookie 。但有没有办法让它能够单独被少数几个域访问呢?

cookies google-chrome cross-site setcookie samesite

12
推荐指数
1
解决办法
748
查看次数

PHP卷曲和setcookie问题

我有一个curl脚本,充当客户端和主服务器之间的代理.

......

$field_array= array(
      'Accept' => 'HTTP_ACCEPT',
      'Accept-Charset' => 'HTTP_ACCEPT_CHARSET',
      'Accept-Encoding' => 'HTTP_ACCEPT_ENCODING',
      'Accept-Language' => 'HTTP_ACCEPT_LANGUAGE',
      'Connection' => 'HTTP_CONNECTION',
      'Host' => 'HTTP_HOST',
      'Referer' => 'HTTP_REFERER',
      'User-Agent' => 'HTTP_USER_AGENT'
      );

$curl_request_headers=array();

foreach ($field_array as $key => $value) {
   if(isset($_SERVER["$value"])) {
      $server_value=$_SERVER["$value"];
      $curl_request_headers[]="$key: $server_value";
   }
};
$curl_request_headers[]="Expect: ";

session_write_close();


//Open connection
$curl_handle = curl_init();
curl_setopt($curl_handle,CURLOPT_COOKIE,session_name()."=".session_id().";");
//Set the url, POST data
curl_setopt($curl_handle, CURLOPT_URL, $curl_url);
curl_setopt($curl_handle, CURLOPT_POST, !empty($user_post_data));
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $user_post_data);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($curl_handle, CURLOPT_HEADER, 1);
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl_handle, …
Run Code Online (Sandbox Code Playgroud)

php cookies curl setcookie

11
推荐指数
2
解决办法
3万
查看次数

如何使用(ruby)机架中间件组件设置cookie?

我正在为一个需要有条件地设置cookie的rails应用程序编写机架中间件组件.我目前正在试图设置cookie.从谷歌搜索它似乎应该工作:

class RackApp
  def initialize(app)
    @app = app
  end

  def call(env)
    @status, @headers, @response = @app.call(env)
    @response.set_cookie("foo", {:value => "bar", :path => "/", :expires => Time.now+24*60*60})
    [@status, @headers, @response]
  end
end
Run Code Online (Sandbox Code Playgroud)

它不会产生错误,但也不会设置cookie.我究竟做错了什么?

ruby cookies rack middleware setcookie

10
推荐指数
2
解决办法
1万
查看次数

如何在CodeIgniter中检索cookie值?

我可以在codeigniter中打印会话值print_r($this->session->userdata); 我如何在codeigniter中打印cookie?我刚刚设置了一个cookie:

$cookie = array(
          'name'   => 'test_cookie',
          'value'  => 'test',
          'domain' => '/',
          'secure' => TRUE
          );

$this->input->set_cookie($cookie); 
Run Code Online (Sandbox Code Playgroud)

我该如何打印上述cookie?

php cookies codeigniter setcookie

10
推荐指数
2
解决办法
5万
查看次数

Set-Cookie 标头中的 Priority=High 是什么意思?

一直在Fiddler中查看Chrome的流量,发现了一些我觉得不明白的东西:

Set-Cookie: GAPS=1:ZYBtVMzURzU2umKMxZThJ2lVPxy3Hg:SvHhlG2k1Vy5pnA0;Path=/;Expires=Wed, 04-Nov-2015 20:44:37 GMT;Secure;HttpOnly;Priority=High
Run Code Online (Sandbox Code Playgroud)

我找不到任何有关Priority=High其用途的文档。这是什么意思?

cookies google-chrome setcookie

10
推荐指数
1
解决办法
5424
查看次数

jquery cookie将值设置为布尔值true

我正在使用这个jquery.cookie插件,我需要将值设置为TRUE或NULL/FALSE.

我试图这样做:$.cookie('ff', true, { expires: 30, path: '/' });但它将值设置为字符串而不是布尔值.

有什么办法解决这个问题?

cookies jquery setcookie jquery-cookie

9
推荐指数
2
解决办法
1万
查看次数

如何使用Angular cookie存储(和检索)cookie数组

我正在尝试将我的Cookie与AngularJS存储为一个数组,以保持cookie文件的清洁.

我正在使用以下方法:

$cookies.put('myCookieArray',{'key1':'value1','key2':'value2'});
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试使用以下方法检索它时:

getmycookiesback = $cookies.get('myCookieArray');
console.log(getmycookiesback.key1);
Run Code Online (Sandbox Code Playgroud)

我得到了一个undefined价值.

但是当我尝试使用它来检索它时:

console.log($rootScope.getmycookiesback);
Run Code Online (Sandbox Code Playgroud)

它检索[object Object].

我究竟做错了什么?我想从key1key2获取值.

cookies setcookie angularjs

9
推荐指数
1
解决办法
5270
查看次数

Chrome为什么会忽略Set-Cookie标头?

Chrome浏览器具有忽略Set-Cookie标头的悠久历史。其中一些原因被称为错误并已修复,而其他则是持久性的。它们都不容易在文档中找到。

  • 302重定向中不允许使用Set-Cookie
  • 如果主机是本地主机,则不允许使用Set-Cookie
  • 如果Expires超出可接受范围,则不允许Set-Cookie

我目前正在努力让chrome接受一个简单的会话cookie。Firefox和Safari似乎接受Set-Cookie的几乎所有符合RFC的字符串。Chrome顽固地拒绝承认Set-Cookie指令甚至是根据请求发送的(在开发者工具(网络)中不会显示)。卷曲看起来很好。

那么,有没有人拥有1)跨浏览器Set-Cookie格式的现代最佳实践,或2)有关导致Chrome浏览器出现问题的更多信息?

谢谢。

cookies google-chrome http setcookie

8
推荐指数
1
解决办法
2185
查看次数

使用来自子域的请求发送 cookie

我们有以下配置: testing.parentdomain.com

当您访问该域并创建一个购物篮时,我们会创建一个存储该购物篮价值的 cookie。cookie 域设置为.testing.parentdomain.com,它是 Httponly 并且有一个路径/

我们有一个想要访问 cookie 的子域。subdomain.testing.parentdomain.com
此子域调用父域上的端点,例如:testing.parentdomain.com/basketData。此调用是返回 JSON 的 GET 请求。

问题
问题是子域在发出请求时似乎没有发送 cookie 值,因此我们没有得到预期的响应。

尝试
查看其他问题,我们尝试过 CORS 和凭证更改。
作为附加说明,我们将以下 JS 与 webpack/babel 捆绑在一起。
我们的请求来自 AJAX,如下所示:

  $.ajax({
    url: url,
    type: 'GET',
    xhrFields: {
      withCredentials: true
    },
    crossDomain: true
  })
Run Code Online (Sandbox Code Playgroud)

服务器为子域和允许凭据设置了 CORS。在响应中,我们可以看到这些被返回。
access-control-allow-credentials: true
access-control-allow-origin:从上面的子域

是否有任何原因未将 cookie 与请求一起发送到父域?我们已经注销了服务器端响应中的 cookie,但它们并不像我们预期的那样存在。

请求头

:authority: testing.parentdomain.com
:method: GET
:path: /basket/data/
:scheme: https
accept: /
accept-encoding: gzip, deflate, br
accept-language: en-GB,en;q=0.9, en-US;q=0.8
来源:https ://subdomain.testing.parentdomain.com …

javascript cookies jquery setcookie cors

8
推荐指数
2
解决办法
1075
查看次数