在magento中,我们可以设置,获取和删除cookie变量。
通常,Cookie是一种在远程浏览器中存储数据并因此跟踪或识别返回用户的机制
Mage_Core_Model_Cookie类包含设置,获取和删除cookie的函数。
最初,我们将尝试设置cookie。基本语法是
Mage :: getModel('core/cookie')->set($name,$value,$period,$path,$domain,$secure,$httponly);
有7个参数,其中名称和值是必需的; 其他参数是可选的,可以设置为null。我们一个一个地看。
$ name = Cookie名称
$ value = Cookie值
$ period = Cookie过期日期(默认情况下,期间设置为3600秒)
$ path = Cookies路径
$ domain = Cookies域名
$ secure = Cookies安全
$ httponly = Http仅在是的时候
您可以从以下Magento代码获取cookie到期日期,路径,域,安全,httponly。
/ **获取cookie生存时间* / $ cookieExpires = Mage :: getModel('core / cookie') - > getLifetime($ cookieName); 注意:Cookie Lifetime设置控制浏览器何时自动删除Magento cookie。默认值为3600,这意味着cookie将在浏览器中保留一小时(60分钟* 60秒),除非浏览器由于其他原因删除了cookie。
/ **获取cookie路径* / $ cookiePath = Mage :: getModel('core / cookie') - > getPath($ cookieName); 注意:Cookie路径允许您在其他目录(文件夹路径)中提供Magento cookie,而不是当前目录。如果您想在站点中的任何位置使用cookie,您应该将此值设置为单个正斜杠('/')
/ **获取Cookies域* / $ cookieDomain = Mage :: getModel('core / cookie') - > getDomain($ cookieName); 注意:Cookie域主要用于控制cookie是否在子域中可见(确保cookie在所有子域中可用)。
/ **获取Cookie安全* / $ cookieSecure = Mage :: getModel('core / cookie') - > isSecure($ cookieName);
/ **获取Cookie httponly * / $ cookieHttponly = Mage :: getModel('core / cookie') - > getHttponly($ cookieName); 注意:使用httponly,当为TRUE时,cookie只能通过HTTP协议访问。这意味着脚本语言(例如JavaScript)无法访问cookie。此设置可以有效地帮助通过XSS攻击减少身份盗用(尽管并非所有浏览器都支持)
我们现在知道如何设置cookie。让我们看看这个概念,如何以两种方式获取cookie值。
1.按名称获取cookie
2.将所有cookie作为数组
要按名称获取cookie:
检索cookie值有点容易。基本语法就足够了
Mage::getModel(‘core/cookie’)->get($name); 这里$ name是cookie中设置的值。只需在$ name中提供cookie的名称; 这样我们就可以通过名称准确地获取cookie值。
要将所有cookie作为数组:
有时我们可能需要获取所有cookie。在这种情况下,请不要在函数中传递cookie的名称。它如此简单。只需拥有代码即可。
Mage::getModel(‘core/cookie’)->get(); 您将获得以数组形式存储的所有cookie |
最后,
要删除/删除cookie,我们使用该功能
Mage::getModel(‘core/cookie’)->delete($name)
此外,我们还有4个参数。它们是$ path,$ domain,$ secure,$ httponly。$ name是强制性的。其他参数是可选的,可以设置为null。要了解这些参数,请参阅设置Cookie。您可以获取所有这些参数值。
以下是cookie的示例/用法
$ name ='sample1';
$ value ='tester';
//设置cookie
Mage :: getModel('core / cookie') - > set($ name,$ value);
//打印cookie值
echo Mage :: getModel('core / cookie') - > get($ name);
//打印cookie生存期或句点,默认情况下,期间设置为3600秒
echo Mage :: getModel('core / cookie') - > getLifetime($ name);
//您也可以设置不同的期间值
$ name ='sample2';
$ value ='tester1';
$ period = 7200;
Mage :: getModel('core / cookie') - > set($ name,$ value,$ period);