cookie不可以传递病毒或木马吧?
发布网友
发布时间:2022-04-23 08:05
我来回答
共4个回答
懂视网
时间:2022-04-23 12:27
URL编码把字符转化成了一种可以在互联网上传播的格式,也就是说,我在网页上看到的字符是被URL编码处理的结果。
那接下来就去搞定什么是URL编码
搞定这个之前,文档先要让你明白啥是URL
Web browsers request pages from web servers by using a URL.
The URL is the address of a web page, like: https://www.w3schools.com.
Web浏览器通过使用URL从Web服务器请求页面。 该网址是网页的地址,例如:https://www.w3schools.com。
复习一下URL的组成6部分:
https://www.baidu.com/s?wd=he... 通过这个你就可以访问到一个 "唯一的" 网址
名字 | 作用 |
---|
https: | 协议 |
www.baidu.com | 域名 |
/s | 路径 |
wd=hello&rsv_spt=1 | 查询参数 |
#5 | 锚点 |
端口 | 默认80 |
复习完了URL
,继续搞URL编码
URLs can only be sent over the Internet using the ASCII character-set.
Since URLs often contain characters outside the ASCII set, the URL has to be converted into a valid ASCII format.
URL encoding replaces unsafe ASCII characters with a "%" followed by two hexadecimal digits.
URLs cannot contain spaces. URL encoding normally replaces a space with a plus (+) sign or with %20.
URL只能用ASCII编码在互联网之间发送。
既然URL通常包括ASCII字符编码集之外的字符(很明显嘛,ASCII码表太少),所以URL必须转化成有效的ASCII格式。
这是重点,URL编码使用%
后面紧跟着两个16进制数字的编码格式来代替不安全的ASCII码表
URL不能包括空格。所以URL编码通常使用+号或者20%
来代替空格。
继续往下翻,找到了%40
。
所以要把value
的值解码回去
hash[key] = decodeURIComponent(value)
decodeURIComponent()
方法用于解码由 encodeURIComponent
方法或者其它类似方法编码的部分统一资源标识符(URI)。毕竟URL
属于URI
。
错误信息的提示方法
如果有了错,需要提示用户错了,后端写的代码,用户不一定看的懂,需要前端润色一下使用户看懂,或者前端和后端沟通一下,maybe后端脾气不好,前端也是暴脾气,所以应该选择一个前后端都要用的东西做桥梁,很明显JSON
是完美的候选人。
if (email.indexOf('@') === -1) {
response.statusCode = 400
response.setHeader('Content-Type', 'application/json;charset=utf-8') //直接告诉浏览器我是json
response.write(`
{
"errors": {
"email": "invalid"
}
}
`)
}
这就合理多了,后台只管写个json给前台看,其他不管了,前台翻译一下给用户看喽~
那么前台如何获得这个json
呢
$.post('/sign_up', hash)
.then((response) => {
//成功了就打印这个
console.log(response)
},
(request, b, c) => {
console.log(request)
console.log(b)
console.log(c)
})
忘记了错误函数里面的参数是啥了,那就都打印出来看看。
可以看到,如果没用JSON的话,request对象里面有一个后端写的responseText属性可以利用。
设置了Content-Type:application/json;charset=utf-8
之后,可以利用多出来的responseJSON
属性,获得json的内容啊。
最终失败函数里面写
(request) => {
let {errors} = request.responseJSON
if (errors.email && errors.email === 'invalid') {
$form.find('[name="email"]').siblings('.errors').text('您输入的邮箱错啦')
}
}
校验邮箱是否已经存在了
var users = fs.readFileSync('./db/users', 'utf8')
try {
users = JSON.parse(users) //[] JSON也支持数组
} catch (exception) {
users = []
}
let inUse = false
for (let i = 0; i < users.length; i++) {
let user = users[i]
if (user.email === email) {
inUse = true
break
}
}
if (inUse) {
response.statusCode = 400
response.setHeader('Content-Type', 'application/json;charset=utf-8')
response.write(`
{
"errors": {
"email": "inUse"
}
}
`)
}
本文并没有使用真正意义上的数据库,只是使用了简单的db文件做数据库,其实就是存的数组,也就是users其实就是数组[]
。
之所以使用了try{}catch(){}
,是因为一旦除了错,可以将其初始化为空数组,后续代码可以继续执行,可能并不严谨,不过本文是侧重了解注册的思路的。
同样的,如果邮箱已经存在了,就提示用户
if (errors.email && errors.email === 'inUse') {
$form.find('[name="email"]').siblings('.errors').text('这个邮箱已被注册啦')
}
后端校验必须很严格,因为可以通过curl
越过前端的校验。
把信息写入数据库
没有错误之后,就可以把信息写到数据库里面啦
users.push({email: email, password: password})//是个对象啊
var usersString = JSON.stringify(users)
fs.writeFileSync('./db/users', usersString)
response.statusCode = 200
users实现是个对象,而对象是内存里面的东西,数据库里面应该存储的是字符串,所以用了JSON.stringify(users)
热心网友
时间:2022-04-23 09:35
你好
学习下面关于cookie的文章
一、cookies简介
Cookies 是一种协助上网者能更方便浏览网站内容的工具。
Cookie 是网站伺服器(web server)储存在使用者浏览器中的一小段资讯。这将使浏览器能记下一些特定的资讯,以便网站伺服器在未来能够使用。当您浏览网站时,一些 cookie 将被设定於浏览器内。当您关闭浏览器时,有些 cookie 会自动消失,有些 cookie 就被储存於电脑记忆体中的 cookie 档内。所有的 cookie 都有时效*,时间到了就自动消失。Cookie 是设定於特定电脑内的浏览器内,所以当您使用其他电脑时,这 cookie 就不会存在。
Cookies 有多种功能,例如浏览器可储存您进入某特定网站的密码於 cookie 内,如此一来,您就不必每次都重覆输入密码了。Cookie 也可用来储存您的喜好有关的资讯,以便网站能主动搜寻您感兴趣的内容给您。一般 cookie 的应用包括:
网上购物
网上购物系统能使用 cookie 记录使用者的购买倾向。Cookie 也能让使用者一边浏览,一边添加商品於"购物篮"内。如果使用者要求,使用者甚至能在结束浏览後,重新造访这个网站,且保留他们上次选择的商品於他们的购物篮内。
网上登记
如果您想经常造访某网站而登记於该等资讯网站(如新闻、期刊或您有兴趣的网站,甚至闲聊网友或网上沟通的网站)上,您可能会被要求提供个人资料。此时,使用 cookies 即不必每次上该网站都要经过身份辨识程序。
个人化网站
Cookie 能让使用者表示其进入某一特定网站时,所希望接到的资讯种类。如此一来,使用者可以只看到有兴趣的资讯,而不必浪费时间於没有兴趣的新闻或资讯上。
网站追踪(Tracking)
网站管理者可透过 cookies 追踪使用者其所连接过的网页,进而推断使用者的兴趣所在。此可帮助网站管理者随时维持其网站内容的更新并更符合使用者的需要。
目标行销
Cookies 可用来记录您造访某一特定网站的网页。此资料可用来针对个人的喜好,进行行销服务。有些网站以 cookies「记忆」曾给您的广告资料,以免使用者重覆收到相同的广告。
安全
Cookie 无法用来得知您的硬碟资料,您的电子信箱地址,更无法用来窃取您的个人资料。Cookie 档案获得您个人资料的唯一方法是您自己将这些资料送给网站伺服器,且每一个 cookie 都只能被其设定的网站伺服器读取。其他任何网站伺服器都无法读取或窃取您电脑中原先设定的 cookie。
请您注意,设置或使用 cookies 并不会传递电脑病毒或受到感染。
如果身为网站参观者的您,若不愿使用 cookie,您也可以更改浏览器中的设定,而拒绝接受 cookie。
二、什么是cookie
什么是 Cookie?Cookie 其实是一个标签,经常可能听到的中文翻译:小*饼。当你访问一个需要唯一标识你的站址的 WEB 站点时,它会在你的硬盘上留下一个标记,下一次你访问同一个站点时,站点的页面会查找这个标记。
每个 WEB 站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成。每个站点的Cookie与其他所有站点的Cookie存在同一文件夹中的不同文件内(你可以在 win98 的 Windows 目录下的 Cookie 文件夹中找到它们,而 win2k 则在 Documents and Settings 文件夹下特定用户的 cookies 文件夹中)。
一个 Cookie 就是一个唯一标识客户的标记,Cookie 可以包含在一个对话期或几个对话期之间某个 WEB 站点的所有页面共享的信息,使用 Cookie 还可以在页面之间交换信息。这项功能经常被使用在要求认证客户密码以及电子公告板、WEB 聊天室等 ASP 程序中。
尽管现在听起来cookie没有什么激动人心的,但实际上利用它,你能实现许多有意义的功能!比如说:你可以在站点上放置一个调查问答表,询问访问者最喜欢的颜色和字体,然后根据这些定制用户的web界面。并且,你还可以保存访问者的登录密码,这样,当访问者再次访问这个站点时,不用再输入密码进行登录。
当然,cookie也有一些不足。首先,由于利用cookie的功能可以编程实现一些不良企图,所以大多数的浏览器中都有安全设定,其中可以设置是否允许或者接受cookie(IE浏览器中“工具”--“Internet选项...”--“安全”--“自定义级别”--“Cookie的使用”;Netscape浏览器中“工具”--“Cookie管理器”--“管理贮存的Cookie”即可),因此这就不能保证随时能使用cookie。再者,访问者可能有意或者无意地删除cookie。当访问者的机器遇到“蓝屏”死机时,或者重新格式化硬盘、安装系统后,原来保存的cookie将全部丢失。最后一点,有一些最初始的浏览器并不能支持cookie。
◆ 怎样利用cooklie?
有2种使用cookie的基本方式:
1、将cookie写入访问者的计算机(使用 Response 命令)
2、从访问者的计算机中取回cookie(使用 Request 命令)
◆ 创建cookie的基本语法: Response.Cookies(cookie)[(key)|.attribute]=value
这里的 cookie 是指定 cookie 的名称,而如果指定了 key,则该 cookie 就是一个字典。(测试一cookie是否为一个字典可用后面代码显示布尔值:。为true是字典,false则不是。 )
Attribute 指定 cookie 自身的有关信息。Attribute 参数可以是下列之一 :
①Domain 若被指定,则 cookie 将被发送到对该域的请求中去。域属性表明cookie由哪个网站产生或者读取,默认情况下,cookie的域属性设置为产生它的网站,但你也可以根据需要改变它。(Response.Cookies("CookieName").Domain = " http://hi.baidu.com")/
②Path 为一路径属性,该属性可以实现更多的安全要求,通过设置网站上精确的路径,就能*cookie的使用范围。如果未设置该属性,则使用应用程序的路径。(Response.Cookies("CookieName").Path = "/maindir/subdir/path" )
③Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。
后面的代码,就可以设置cookie的使用到期时间为“2010年1月1日”: Response.Cookies("CookieName").Expires=#January 01, 2010#
后面的代码,将设定cookie的过期时间为“cookie的创建时间+365天”:Response.Cookies("CookieName").Expires=Date+365
但最好不要随便写 Response.Cookies("CookieName").Expires=Date,这样页面之间的调用时值会为空。
执行下面的代码将会在访问者的计算机中创建一个cookie,名字=VisitorName,值=Ken :
Response.Cookies("VisitorName")="Ken"
执行下面的代码将会在访问者的计算机中创建一个cookie,名字=VisitorName,值=表单中UserName的值
Response.Cookies("VisitorName")=Request.Form("UserName")
你可以扩展下面的代码成为Cookie子关键值(CookieSubName),即cookie字典的生成。代码如下:
Response.Cookies("VisitorName")("FirstName")="Ken"
Response.Cookies("VisitorName")("LastName")="Baumbach"
◆ 读取cookie的基本语法:Request.Cookies(cookie)[(key)|.attribute]
cookie 指定要检索其值的 cookie,key 可选参数,用于从 cookie 字典中检索子关键字的值,attribe 指定 cookie 自身的有关信息。如:HasKeys 只读,指定 cookie 是否包含关键字。
如果客户端浏览器发送了两个同名的 cookie,那么 Request.Cookie 将返回其中路径结构较深的一个。例如,如果有两个同名的的 cookie,但其中一个的路径属性为 /www/ 而另一个为 /www/home/,客户端浏览器同时将两个 cookie 都发送到 /www/home/ 目录中,那么 Request.Cookie 将只返回第二个 cookie。
◆ num.asp(通过留在本地磁盘上的cookie记录一年内访问本站的次数,第一次显示“首次访问”,以后显示“第几次访问”)
"0" then
num=num+1
Response.write "您已是第"&num&"次访问本站点了。"
else
Response.write "欢迎您首次访问本站。"
num=1
end if
response.cookies("visitnum")=num
response.cookies("visitnum").expires=date+365
%>
◆ showcookie.asp(从Cookies文件夹中遍历出浏览器所有的Cookie name,以及相关的字典Cookie的显示(蓝字显示))
")
Response.write cookie & ".("&key&")" & "=" & Request.Cookies(cookie)(key)
Response.write ("
")
next
end if
next
%>
◆check.asp
首先,设置页面。然后,检查表单变量(在同一个页面中)。如果表单变量存在,就创建cookie,并设置到期时间
Response.Cookies("check")("pwd") = pwd
Response.Cookies("check").Expires=#may 01, 2004#
End if
'接着,读取cookie
bgcolor = request.cookies("check")("bgcolor")
fgcolor = request.cookies("check")("fgcolor")
pwd = request.cookies("check")("pwd")
'如果cookie在访问者的计算机上不存在,就创建一个表单,询问相关信息
If bgcolor ="" and fgcolor ="" and pwd="" then
%>
Bgcolor:
Fgcolor:
Password:
"" then
Response.Redirect "color.asp"
End if
%>
◆ color.asp(显示用户爱好颜色的页面特性):
")%>
你的密码是:
三、禁用Cookie功能的几种方法
(一)、IE选项法
1、启动IE;
2、在“工具”菜单上,单击“Internet选项”,打开“Internet选项”对话框;
3、单击“隐私”选项卡,将滑块上移到更高的隐私级别。如果移动到最顶端则是选择“阻止所有的Cookie”,此时系统将阻止所有网站的Cookie,而且网站不能读取计算机上已有的Cookie;
4、单击“确定”按钮。
(二)、属性设置法
当然,上述的“IE选项法”笔者是在IE6中操作完成,如果你用的是IE5,那么请在“Internet选项”对话框中“安全”选项卡上进行设置,在IE4中又有所不同。而下述的“属性设置法”把保存Cookie的文件夹设置为“只读”属性,从而网站也就无法向其中写入Cookie信息了。该法适用于各种版本的IE。
1、启动“Windows资源管理器”;
2、找到保存Cookie的文件夹。使用Windows版本不同,保存Cookie的文件夹会有所不同。比如,在Windows XP中,该文件夹为“C:Documents and Settings用户名Cookies”文件夹;在Windows 98中,是“C:WindowsCookies”文件夹;
3、右键单击该文件夹,再单击“属性”,打开文件夹属性对话框,选中“只读”复选框,指定此文件夹中的文件为只读属性,只读意味着文件不能被更改或意外删除;
4、单击“确定”按钮。
(三)、注册表法
“属性设置法”实际上也有缺陷,就是网站照样可以读取计算机上已有的Cookie。而且有一些特殊Cookie不是以文本文件形式存在,而是保存在内存中。这类Cookie通常是用户在访问某些特殊网站时,由系统自动在内存中生成,一旦访问者离开该网站又自动将Cookie从内存中删除。上述两法对这些Cookie就*为力了,而“注册表法”可以弥补这些不足。
1、单击“开始”菜单,再单击“运行”,然后在“打开”框中键入“regedit”,单击“确定”按钮,打开“注册表编辑器”窗口;
2、依次展开“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings\CacheSpecial \Paths\Cookies”分支,右键单击“Cookies”,然后单击快捷菜单中的“删除”命令,当系统提示确认删除时,请单击“是”按钮;
3、关闭“注册表编辑器”窗口
为了防止一些网站将Cookie文件放到你的计算机中,除了如上所述手动进行设置外,还有一个简便的方法是安装软件来保护你的Cookie文件。这类软件比较多,你可以到各大软件下载站点去下载。比如,Complete Cleanup Software Trail就是一款专门用来清除各种Cookie的软件,它的功能十分强大,不但能让已保存在计算机中的Cookie无处藏身,也能将用户浏览网页时保存在硬盘缓存中的垃圾信息清除。
希望对你有帮助
热心网友
时间:2022-04-23 10:53
这cookie 不能传播 任何关于DLL 和EXS 程序的 更不要说 病毒 木马了
热心网友
时间:2022-04-23 12:27
应该不可以的
cookies是什么
多数的论坛站点需要使用Cookie信息,如果你从来不去这些地方,可以将安全级调到“阻止所有Cookies”;如果只是为了禁止个别网站的Cookie,可以单击“编辑”按钮,将要屏蔽的网站添加到列表中。在“高级”按钮选项中,你可以对第一方Cookie和第三方的Cookie进行设置,第一方Cookie是你正在浏览的网站的Cookie,第三方Cookie是非正在...
Cookie的作用是什么?为什么要阻止它?
Cookie 中记载的资料相有限,Cookie 是安全的。网站不可能经由 Cookie 获得你的 email 地址或是其它私人资料,更没有办法透过 Cookie 来存取你的计算机。Cookie的用途:服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经...
怎么能防止电脑感染tracking cookie.207
cookie不是病毒或者木马,是你在浏览网站是所产生的一些验证文件,比如你登陆百度,要输入用户名和密码,要选择是否记住“我的登录状态”这些信息都是保存在你本地的cookie文件中。一些安全软件认为这些文件不安全,是因为如果你的cookie文件被别人盗走了那么就可能获得你的一些个人信息,比如一些网站的用户名...
木马会不会主动找COOKIES?用COOKIES危险吗?有什么办法?
一般设计网站都会把内容加密的
电脑中的Cookie是什么?为什么我每次杀毒时都有这个病毒?
cookies是浏览器用于保存登录状态等信息的一个文件,它不是病毒的,你每次杀毒都有这个病毒说明是浏览器被感染了,你可以使用电脑管家来查杀一下 电脑管家的杀毒部分采用的是4+1引擎,包含金山和腾讯两个国内最大的云查杀引擎 以及以高查杀著称的德国小红伞本地引擎,查杀率非常的高,可以完美的清除各种...
浏览器中的cookie是什么东东?
HTTP Cookie 不能用来从阁下的硬驱上检索个人数据、放置病毒、得到阁下的电子邮件地址或偷窃有关阁下身份的敏感信息;然而,HTTP Cookie 可用来跟踪阁下在特定网站上的所到之处。不使用 cookie 就很难进行网站跟踪。 至于其他一切与因特网有关的事,如同阁下所希望的那样是匿名的。没有网站知道阁下是谁,除非阁下自己...
cookie解决隐私泄漏的方法
Cookie,自1993年诞生以来,本意是为提高网站用户体验,通过加密存储用户名和密码等个人信息。然而,尽管如此,Cookie的安全性并非坚不可摧。黑客有时会利用木马病毒侵入用户的电脑,窃取Cookie,以此获取网站的信任,从而泄露用户隐私。这显示,木马病毒是导致个人信息泄露的重要威胁之一。Cookie的专属性原则本...
cookie是服务器产生的
Cookie的安全威胁 攻击者可以通过木马等恶意程序,或使用跨站脚本攻击等手段偷窃存放在用户硬盘或内存中的Cookie。借助网络攻击手段,包括在不安全的局域网中被动地监听网络通信;通过攻击网络用户的路由器,或通过搭建恶意的无线路由器等手法,控制路由基础设施,将网络流量重定向到攻击者控制的主机。发动DNS...
什么是Cookie?有什么用?
但这并不意味着绝对安全,黑客可通过木马病毒盗取用户浏览器 Cookie,直接通过偷取的Cookie骗取网站信任。可以看出,木马病毒入侵用户电脑是导致用户个人信息泄露的一大元凶。自1993年 Cookie诞生以来,其就拥有专属性原则,即A网站存放在Cookie中的用户信息,B网站是没有权限直接获取的。但是,现在一些第三方...
上网产生的cookie文件越来越多,如果都删除了,会产生什么不好的影响吗...
隐私策略只能限制网站对Cookie的操作,无法防止木马和黑客窃取Cookie文件中的信息,只有综合防治才能保证隐私的安全。避免木马和黑客的潜入,除了不下载安装来历不明的软件,不浏览不法网站以外,系统和IE中存在的漏洞也可能使它们趁虚而入。所以上网使在开启病毒防火墙的同时,还要开启网页防火墙。在设置选项中勾选“自动检查脚...