当前位置: 首页 > news >正文

前端面试题(基础篇七)

一、谈谈你对webpack的看法

webpack是一个模块打包工具,我们可以使用webpack管理我们的模块依赖,编译输出模块所需的静态文件。它可以很好的管理、打包web开发中所需的html、css、JavaScript以及其他各种静态文件(使用的图片、字体图标等),让开发变得更加高效。对于不同类型的资源,webpack都有对应的模块加载器,webpack 模块打包器会分析模块间的 依赖关系,最后 ⽣成优化且合并后的静态资源

二、常⻅web安全及防护原理

sql注入原理

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

应该注意以下几点

永远不要信任⽤户的输⼊,要对⽤户的输⼊进⾏校验,可以通过正则表达式,或限制⻓

度,对单引号和双 "-" 进⾏转换等

永远不要动态拼装SQL,可以使⽤参数化的 SQL 或者直接使⽤存储过程进⾏数据查 询存取

永远不要使⽤管理员权限的数据库连接,为每个应⽤使⽤单独的权限有限的数据库连接

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

XSS原理及防范

Xss(cross-site scripting) 攻击指的是攻击者往 Web ⻚⾯⾥插⼊恶意 html 标签或

javascript 代码。⽐如:攻击者在论坛中放⼀个看似安全的链接,骗取⽤户点击后,

窃取 cookie 中的⽤户私密信息;或者攻击者在论坛中加⼀个恶意表单,当⽤户提交表单 的时候,却把信息传送到攻击者的服务器中,⽽不是⽤户原本以为的信任站点

XSS防范⽅法

⾸先代码⾥对⽤户输⼊的地⽅和变量都需要仔细检查⻓度和对 ”<”,”>”,”;”,”’” 等字符
做过滤;其次任何内容写到⻚⾯之前都必须加以encode,避免不⼩⼼把 html tag 弄出
来。这⼀个层⾯做好,⾄少可以堵住超过⼀半的XSS 攻击

XSS与CSRF有什么区别吗?

XSS 是获取信息,不需要提前知道其他⽤户⻚⾯的代码和数据包。 CSRF 是代替⽤户完成 指定的动作,需要知道其他⽤户⻚⾯的代码和数据包。要完成⼀次 CSRF 攻击,受害者必 须依次完成两个步骤

登录受信任⽹站 A ,并在本地⽣成 Cookie

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

CSRF的防御

服务端的 CSRF ⽅式⽅法很多样,但总的思想都是⼀致的,就是在客户端⻚⾯增加伪随机 数

通过验证码的⽅法

三、为什么要有同源限制?

同源策略指的是:协议,域名,端⼝相同,同源策略是⼀种安全协议

举例说明:⽐如⼀个⿊客程序,他利⽤ Iframe 把真正的银⾏登录⻚⾯嵌到他的⻚⾯上, 当你使⽤真实的⽤户名,密码登录时,他的⻚⾯就可以通过 Javascript 读取到你的表单 中 input 中的内容,这样⽤户名,密码就轻松到⼿了。

四、关于Node

特点:

1、它是⼀个 Javascript 运⾏环境

2、依赖于 Chrome V8 引擎进⾏代码解释

3、事件驱动

4、⾮阻塞 I/O

5、单进程,单线程

优点:

⾼并发(最重要的优点)

缺点:

1、只⽀持单核 CPU ,不能充分利⽤ CPU

2、可靠性低,⼀旦代码某个环节崩溃,整个系统都崩溃

五、web开发中会话跟踪的⽅法有哪些

1.cookie

2.session

3.url重写

4.隐藏input(设置type为hidden)

http://www.lryc.cn/news/380603.html

相关文章:

  • ARM架构简明教程
  • DWG转PDF字体研究记录
  • Java中如何处理日期和时间?
  • Kubernetes之Pod详解
  • 长亭谛听教程部署和详细教程
  • 修复漏洞Windows 2012 Server R2(CVE-2016-2183)、(CVE-2015-2808)、(CVE-2013-2566)
  • Linux的基本指令第二篇
  • php百度云账户余额查询API示例
  • 自动化开发任务:在PHP框架中实现自定义命令
  • 如何在Java中实现数据加密与解密?
  • Nginx日志管理之日志分析
  • 利用 Microsoft ChatGPT 和 OPC UA 改变工业格局
  • 力扣-两数之和
  • 基于CDMA的多用户水下无线光通信(3)——解相关多用户检测
  • 哔哩哔哩视频URL解析原理
  • 个人成长的利器:复盘教你如何避免重蹈覆辙
  • 2025秋招NLP算法面试真题(一)-史上最全Transformer面试题
  • 基于STM32的智能家居安防系统
  • React+TS前台项目实战(十二)-- 全局常用组件Toast封装,以及rxjs和useReducer的使用
  • 總結光學(完)
  • 线程C++
  • DAMA学习笔记(二)-数据治理
  • 07-appium常用操作
  • 使用lua开发apisix自定义插件并发布
  • 43 mysql insert select 的实现
  • 趣味学Python,快速上手神奇的itertools库!
  • 富文本编辑器CKEditor
  • 【机器学习】音乐大模型的深入探讨——当机器有了创意,是机遇还是灾难?
  • 机器人学习和研究的物质基础包含哪些内容?
  • Python中的交互式GUI开发:与MATLAB uicontrol的比较