标签: cookies

PHP - cookie 变量和会话变量的有趣行为

我在下面写了一个小 PHP 脚本来演示我的问题。像这样运行下面的代码:http://localhost/test.php?test=10,然后运行http://localhost/test.php?test=11,然后http://localhost/test.php?test= 12等。你会看到屏幕上显示的数字总是在 url 数字后面 1 位数字?!也许是因为我无法读取 cookie 并立即读取相同的 cookie?

//如果查询字符串有$test,保存在session中,cookies供以后使用。 
如果($_GET[测试]){
  $_SESSION['test'] = $_GET[test];
  setcookie("test", $_GET[test], time()+60*60*24*30*12*10); //10年
}

//如果用户稍后回来,则从cookie中获取$test
如果(isset($ _COOKIE [“测试”])){
  $_SESSION['test'] = $_COOKIE["test"];
}

回声“会话测试:”。$_SESSION['测试'];

后来我用下面的代码解决了这个问题,但是解决的还不够好,我想知道为什么会这样!

这解决了它:

if($_GET[cid]){
  setcookie("campaignid", $_GET[cid], time()+60*60*24*30*12*10); //10年
  $_SESSION['campaignid'] = $_GET[cid];
}elseif (isset($_COOKIE["campaignid"])){
  $_SESSION['campaignid'] = $_COOKIE["campaignid"];
}

php cookies

0
推荐指数
1
解决办法
363
查看次数

用于在第 x 次页面浏览后显示内容的 JS cookie

我试图找出如何设置 javascript cookie,以便在访问者的第 4 次页面浏览后显示一个fancybox 弹出窗口。

这是我用来显示 Fancybox 弹出窗口的代码,但正如您所看到的,这仅在第一次浏览时显示代码,一天后过期

function setCookie(c_name,value,exdays)
 {
     var exdate=new Date();
     exdate.setDate(exdate.getDate() + exdays);
     var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
     document.cookie=c_name + "=" + c_value + ";domain=.mysite.net;path=/";
 }

function getCookie(c_name)
 {
     var i,x,y,ARRcookies=document.cookie.split(";");
     for (i=0;i<ARRcookies.length;i++)
  {
     x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
     y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
     x=x.replace(/^\s+|\s+$/g,"");
      if (x==c_name)
       {
       return unescape(y);
       }
  }
 }

jQuery(document).ready(function() {
     var show = getCookie("fancyreg");
     if(show==null || show=="") {
       $.fancybox(
 {
        'type' : 'iframe',
        'href' : 'http://www.mysite.net/popup/', //URL to popup page or image
        'autoDimensions' : …
Run Code Online (Sandbox Code Playgroud)

cookies jquery fancybox pageviews fancybox-2

0
推荐指数
1
解决办法
3390
查看次数

php 仅在会话/cookie 处于活动状态时才允许下载

我在我的网站中提供了一个直接的下载链接,如下所示。

<a href="myfile.pdf">Download here</a>
Run Code Online (Sandbox Code Playgroud)

每个人都可以访问此文件。但我想根据登录用户来限制这个。

假设用户在成功登录后有一个活动会话/cookie,如下所示。

$_SESSION['login'] = 1  or $_COOKIE['login'] = 1
Run Code Online (Sandbox Code Playgroud)

即使设置了以下条件,人们也可以手动输入http://web.com/myfile.pdf并能够下载文件...

if($_SESSION['login']===1 && $_COOKIE['login']===1){
    echo '<a href="myfile.pdf">Download here</a>';
}
Run Code Online (Sandbox Code Playgroud)

其他匿名用户应该无法访问该文件。

php cookies session

0
推荐指数
1
解决办法
3973
查看次数

如何在 Java Servlet 的整个域名上设置 cookie?

我有一个 servlet,位于site.com/foo/BarServlet. 该 servlet 负责设置 cookie。问题是,当我设置 cookie 时,它​​们的路径设置为/foo. 这是否意味着位于 的任何 servletsite.com/SomeOtherServlet将无法访问这些 cookie?

如果是这样,有没有办法可以在整个域上设置 cookie?如果我尝试这样做cookie.setPath("/"),那么出于某种原因,当我尝试通过 删除 cookie 时cookie.setMaxAge(0),这没有任何效果并且它仍然存在。

java cookies servlets

0
推荐指数
1
解决办法
3857
查看次数

Laravel 4:用于唯一访问者计数的 Cookie

我正在创建一个简单的博客,用户可以在其中添加、更新和查看帖子。我已经在帖子中实现了查看次数功能,该功能显示了帖子的查看次数。为此,我所做的是:

  1. 创建了一个事件监听器:

    Event::listen('post.viewed', 'PostHandler@updatePostViewsAction');

  2. 创建了PostHandlerupdatePostViewsAction

    class PostHandler
    {
        public function handle()
        {
            // 
        }
    
        public function updatePostViewsAction( $post )
        {
            // Update view counter of post
            $post->views_count = $post->views_count + 1;
            $post->save();
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

工作正常,并且观看次数正在成功更新。但后来我决定对视图进行唯一计数。为此,我尝试使用 cookie,在用户计算机上创建cookie,每当他查看帖子并增加views_count. 如果用户再次回来并再次查看帖子,请检查是否有可用的 cookie,如果可用则不要增加views_count否则增加。下面是我是如何实现的:

class PostHandler
{
    public function handle()
    {
        // 
    } …
Run Code Online (Sandbox Code Playgroud)

php cookies laravel laravel-4

0
推荐指数
1
解决办法
1848
查看次数

在 python 中使用 selenium 禁用 phantomjs 上的 Cookie

我已经搜索了很长时间,但我找不到如何使用 selenium 和 python 禁用 phantomjs 的 cookie。我无法理解 phantomjs 的文档。请有人帮助我。

python cookies selenium phantomjs

0
推荐指数
1
解决办法
724
查看次数

如何在 C# 中将通用列表保存到 HttpCookie 中?

我用会话在 mvc5 中编写了一个购物车,但我想用 cookie 替换实现。这是订单操作:

public ActionResult OrderNow(int id)
    {
        if(Session["cart"]==null)
        {
            List<Item> cart = new List<Item>();
            cart.Add(new Item(de.Products.Find(id),1));
            Session["cart"] = cart;
        }
        else
        {
            List<Item> cart = (List<Item>)Session["cart"];
            int index = isExisting(id);
            if (index == -1)
                cart.Add(new Item(de.Products.Find(id), 1));
            else
                cart[index].Quantity++;
            Session["cart"] = cart;
        }
        return View("Cart");
    }
Run Code Online (Sandbox Code Playgroud)

和 Item 类是:

 public class Item
 {
    private Product pr = new Product();

    public Product Pr
    {
        get { return pr; }
        set { pr = value; }
    }


    private int …
Run Code Online (Sandbox Code Playgroud)

c# generics cookies asp.net-mvc shopping-cart

0
推荐指数
1
解决办法
2091
查看次数

Laravel设置cookie不起作用

我在自定义中间件中有以下代码:

public function handle($request, Closure $next)
{
    if($request->hasCookie('uuid')) {
        return $next($request);    
    }

    $uuid = 99;
    $response = $next($request);
    return $response->withCookie(cookie()->forever('uuid', $uuid));

}
Run Code Online (Sandbox Code Playgroud)

我已在app.php文件中注册了中间件,但仍未编写cookie.请任何人都可以帮忙.另外上面这个可以作为一个单独运行,所以它在应用程序启动时执行一次?

谢谢

cookies laravel

0
推荐指数
2
解决办法
2395
查看次数

symfony 4设置cookie-&gt;无效的cookie名称?

尝试设置Cookie并在设置时出现错误

警告:Cookie名称不能包含以下任何'= ,; \ t \ r \ n \ 013 \ 014'

但是我的名字selector好吗?

$cookie = new Cookie('selector', $cookieData, time() + 60 * 60 * 24 * 365, '/', null, false, false);        
setCookie($cookie);
Run Code Online (Sandbox Code Playgroud)

php cookies symfony

0
推荐指数
1
解决办法
922
查看次数

关闭应用程序后,为何在React根组件中未触发componentWillUnmount

如果存在某个Cookie(使用通用Cookie),则当用户退出应用程序时,我需要从浏览器中删除Cookie。

我有的代码:

componentWillUnmount(){
    const cookies = new Cookies();
    if(cookies.get("remember")==0){
      cookies.remove("userName");
      cookies.remove("password")
    }

  }
Run Code Online (Sandbox Code Playgroud)

适用于其他组件,但我只需要在根上将其触发即可在用户关闭应用程序之前触发。

当应用程序退出时,为什么componentWillUnmount不会触发?

javascript cookies components reactjs

0
推荐指数
1
解决办法
329
查看次数