Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 饼干安全吗?_Javascript_Jquery_Cookies_Xss_Jquery Cookie - Fatal编程技术网

Javascript 饼干安全吗?

Javascript 饼干安全吗?,javascript,jquery,cookies,xss,jquery-cookie,Javascript,Jquery,Cookies,Xss,Jquery Cookie,我想创建一个网页,如果我的网页以前设置了一些cookie,该网页将重定向用户。像这样:(我正在使用jquery cookie插件) (为了可读性,省略了URL字符替换) 我是否可以假设cookie是安全的,并且除了用户和应用程序之外任何人都不能修改cookie,因此xss攻击是不可能的,或者我是否需要验证它们 设置cookie后,我将对其进行验证,我的问题是我是否可以信任自己的cookie。您应该始终验证用户提供的数据,并假设它可以修改。它甚至可以被修改,不是由第三方,而是由恶意用户或有权访问合

我想创建一个网页,如果我的网页以前设置了一些cookie,该网页将重定向用户。像这样:(我正在使用jquery cookie插件)

(为了可读性,省略了URL字符替换)

我是否可以假设cookie是安全的,并且除了用户和应用程序之外任何人都不能修改cookie,因此xss攻击是不可能的,或者我是否需要验证它们


设置cookie后,我将对其进行验证,我的问题是我是否可以信任自己的cookie。

您应该始终验证用户提供的数据,并假设它可以修改。它甚至可以被修改,不是由第三方,而是由恶意用户或有权访问合法用户的浏览器的人。您还应该保护包含用户个人数据(电子邮件、密码、地址等)的cookie免受XSS攻击。一个好方法是使用。更好的方法是加密cookie,所以只有应用程序知道它们的内容。这也将阻止Cookie内容直接访问


重要正如@Eda190在对以下答案的评论中所述,您不应该只保护cookies不受XSS攻击,还应该保护您的应用程序。这是一个很好的例子。

不。Cookie一点也不安全,应该包含最少的数据量,或者你应该用盐很好地加密它们

有一件事要说,就是你们发送给客户的任何东西,邮寄、获取或Cookies。一切都可以修改。然而,许多人并不知道如何修改cookies。大多数人认为可食用的饼干更像是一种食物。因此,如果您的数据不重要,如果您愿意,请使用cookies


如果数据很重要,它是登录信息或类似信息,请使用多个高度编码或更精确的哈希。如果这不重要,那么cookies就没有问题。

但是如果恶意用户编辑他的cookie,它只会影响他自己,对吗?那么为什么我需要验证它呢?这只会影响到他,但是如果攻击者找到一种方法将他的代码注入到您的网站上,他就可以继续读取访问注入页面的每个用户的cookie。@joris_van_winden直接访问合法用户浏览器的人可以修改他的cookie。如果应用程序的正常运行取决于存储在cookie中的数据,并且修改该数据有可能损害应用程序,则应验证这些数据。这与数据的安全性无关,而是与xss漏洞有关
// get cookies
var email = $.cookie("email_addr");
var postcode = $.cookie("post_code");

if(email != undefined && postcode != undefined) {
    // insert cookies into redirect url
    var redirect =
    "https://docs.google.com/forms/d/1BofVyLFj9-Y2RQ8LxZuaptS071yHDqW4cdZhvvqTNz8/viewform?entry.139029761=" + email +
    "&entry.1727046863=" + postcode;
    console.log(redirect);
}