前端面试---常见的web安全及防护原理

一、常见的web安全及防护原理

1.sql注入原理

就是通过把sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

防护,总的来说有以下几点:

1、永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号双“--”进行转换等。

2、永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

3、永远不要使用管理员权限进行数据库连接,为每个应用使用单独的权限有限的数据库连接。

4、不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息。

2. XSS原理及防范

XSS(cross-site scripting)攻击指的是攻击者往Web页面里插入恶意html标签或者javascript代码。比如:攻击者在qq中发送一个看似安全的链接,骗取用户点击之后,窃取cookie中的用户私密信息;或者攻击者在论坛中加一个恶意表单,当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为信任的站点。

3.XSS防范方法

首先代码里对用户输入的地方和变量都需要仔细检查长度和对“<”,">" ,";"," ‘ "等字符做过滤;其次任何内容写到页面之前都必须加以encode,避免不小心把html tag弄出来。至少可以堵住超过一半的XSS攻击。

首先,避免直接在cookie中泄漏用户隐私,例如email、密码等等。

其次,通过使用cookie和系统ip绑定来降低cookie泄漏后的危险。这样攻击者得到的cookie没有实际价值,不可能拿来重放。

如果网站不需要在浏览器端对cookie进行操作,可以在set-cookie末尾加上HttpOnly来防止JavaScript代码直接获取cookie 。

尽量采用post而非get提交表单

4.XSS与CSRF有什么区别吗?

XSS是获取信息,不需要提前知道其他用户页面的代码和数据包。CSRF是代替用户完成指定的动作,需要知道其他用户页面的代码和数据包。

要完成一次CSRF攻击,受害者必须依次完成两个步骤:

登录受信任网站A,并在本地生成cookie。

在不登出A的情况下,访问危险网站B。

5.CSRF的防范

服务器端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。

原文地址:https://www.cnblogs.com/ai-xin-hong-yu/p/8654754.html

时间: 2024-10-04 22:18:49

前端面试---常见的web安全及防护原理的相关文章

常见的web安全及防护原理

1.0 sql注入 sql注入原理:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. sql注入防护: 1.永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等. 2.永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取. 3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接. 4.不要把机密信息明文存放

前端面试常见逻辑题收集及分析

前端面试中常出现一些有趣的逻辑题,初见的时候有可能会手足无措,但实际多看几个题之后就会有一定的思考逻辑,有种打通任督二脉的感觉.以下是我个人面试经历以及网络上收集来的一些经典题目. 题目: 1.现有一个装有无限水的池塘,你手里有两个空壶,一个容积为6升,一个为5升,请问你如何用这两个空壶打3升水?请写出具体步骤(腾讯) 2.有一个烤肉架,它能同时烤两块肉,已知每块肉完全烤熟一面需要5分钟,请问用这个烤肉架烤熟三块肉最快是多少时间?(腾讯) 3.现有A.B两辆汽车相隔一段距离,它们之间有一只小鸟,

前端面试常见HTML问题(一)

1.什么是html       HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出.设计 HTML 语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上.这样,你只要使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中

爱创课堂每日一题第十一天常见web安全及防护原理

sql注入原理就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.总的来说有以下几点:    1.永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等.    2.永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取.    3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接.    4.不要把机密信息明文

web前端安全——常见的web攻击方法

面试题:你所了解的web攻击? 1.xss攻击 2.CSRF攻击 3.网络劫持攻击 4.控制台注入代码 5.钓鱼 6.DDoS攻击 7.SQL注入攻击 8.点击劫持 一.xss攻击 XSS攻击:跨站脚本攻击(Cross-Site Scripting),攻击目标是为了盗取存储在客户端的cookie或者其他网站用于识别客户端身份的敏感信息.一旦获取到合法用户的信息后,攻击者甚至可以假冒合法用户与网站进行交互. 防御方法:过滤特殊字符,HttpOnly 浏览器禁止页面的JS访问带有HttpOnly属性

前端面试合集

VUE 1.什么是 vue 生命周期 2.vue生命周期的作用是什么 3.第一次页面加载会触发哪几个钩子 4.简述每个周期具体适合哪些场景 5.created和mounted的区别 6.vue获取数据在哪个周期函数 7.请详细说下你对vue生命周期的理解? vue路由面试题 mvvm 框架是什么?vue-router 是什么?它有哪些组件 active-class 是哪个组件的属性?怎么定义 vue-router 的动态路由? 怎么获取传过来的值vue-router 有哪几种导航钩子?6.$ro

百度web前端面试2015.10.18

邮件里通知的周日下午两点参加百度校招面试,我13:10分就到了,前台先让我拿了个面试资格单(上面是我的信息),然后在web前端面试入口排队,面试在百度食堂举行的,等了大概1个小时,放我去面试.都是一对一面试,人很多. 下面是面试过程:没让我自我介绍,有的会让先自我介绍,简单看了下我的简历开始问我是不是自学的,(计算机专业不开设这个专业,都是自学加项目经验)为什么选择前端开发,你怎么看前端开发这个岗位的.说那这样我就从简单到难的问你,由浅入深就知道你的水平了,面试官都很年轻,人都不错. 1:说一下

Web前端面试笔试题总结

最近一段时间要毕业了,忙着找工作,见过不少笔试面试题,自己总结了一些加上网上找的一些整合了一下.答案暂时都东拼西凑出来了,但是还是先不发出来,一方面是答案并不是唯一的并且自己的答案不能保证对,另一方面希望看到本文的伙伴能自己去找答案,毕竟,技术只有自己真正理解了才是自己的东西,共勉. 小白第一次发文,恭请指点. Web前端面试笔试题 Html+css 1.对WEB标准以及w3c的理解与认识. 2.Xhtml和html有什么区别. 3.css的引入方式有哪些?link和@import的区别是? 4

前端面试中常见的几个问题

在前端很少有机会接触到算法,大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面.下面这篇文章就给大家总结了在前端JS面试中常见的测试题问题,有需要的朋友们可以参考借鉴,下面来一起看看吧. 学习数据结构与算法对于工程师去理解和分析问题都是有帮助的.如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路.下面罗列在前端面试中经常撞见的几个问题吧.image.png1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.Str