我在一个项目中工作,其中我正在做html和jquery的工作,在服务器端有cgi。现在我们想在其中实现登录/注销功能,但问题是我们没有使用任何脚本语言,如php。我想使用jquery.cookie.js来生成cookie,并将其与每个请求一起发送到服务器。我的问题是,我如何才能为特定浏览器的所有页面生成一个cookie,以便相同的cookie可以发送给server.If用户知道页面名称,然后他可以像(http://www.mydomain.com/page.html)那样直接访问它。我只使用html,所以我必须包括每个页面上所有的js和css。
如果有任何其他替代方案用于相同的目的,则可以接受。
发布于 2012-12-27 20:45:47
jquery.cookies.js只是帮助你在浏览器中设置/修改/删除/获取cookie(默认的内置界面对此并不是很方便)
一旦您设置了它-每个下一个请求都将自动包含该cookie。cookie有多个设置,如仅对某些路径可用(例如,您可以告诉浏览器仅当其页面具有类似www.example.com/ path _with_cookie/*的路径时才发送cookie),或者何时应过期。只需打开你的插件的文档,阅读如何用你的脚本设置不同的选项。一旦cookie被设置-它将与任何要求的要求,如域和路径,直到它没有被删除或过期。
但我不明白如何在没有任何服务器端编码的情况下创建登录/注销。好吧,你可以用js/css在浏览器中隐藏/显示一些元素,但不需要服务器介入(通常服务器会检查用户是否使用cookie登录,并根据是否应该向用户显示某些内容来做出决定)它将是无用的。一旦将一些内容交付给浏览器,任何知道JS/HTML工作原理的人都可以看到隐藏的内容。另外-你需要检查登录/密码是否正确-不知道如何在没有服务器端编码的情况下做到这一点,并且仍然是安全的。
更新:
如果你仍然需要把cookie放到表单中,你可以像这样添加代码:
$(document).ready(function() {
$('form').live("submit", function(){
$(this).append($("<input type=\"hidden\" name=\"auth_cookie\">").val($.cookie('auth_cookie')));
});
});另一种方式(对于较新版本的jquery,live现在已弃用):
$(document).on("submit", 'form', function(){...});此代码将捕获提交事件,并将隐藏字段添加到任何已提交的表单中。当然,它应该添加到任何可以使用表单的页面上。
https://stackoverflow.com/questions/14054700
复制相似问题