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

静态网站html成都新站软件快速排名

静态网站html,成都新站软件快速排名,wordpress本地搬家到阿里云,做电商网站用什么技术目录 简介 题目 单选题 题解 A选项的Content-Security-Policy http-equiv属性 content属性 B选项的CSRF 使用CSRF Token 验证Referer和Origin头 C选项的HTTP Only D选项的防止SQL注入 输入验证和转义 简介 这个是一个长系列#xff0c;我会以题目为导向#xff…目录 简介 题目 单选题 题解 A选项的Content-Security-Policy http-equiv属性 content属性 B选项的CSRF 使用CSRF Token 验证Referer和Origin头 C选项的HTTP Only D选项的防止SQL注入 输入验证和转义 简介 这个是一个长系列我会以题目为导向通过题目来针对性的学习前端的方方面面每篇文章涉及到的题目并不多但是每道题我都会尽量细致面向初学者友好的去讲解喜欢的可以一直关注我会持续更新这个系列的文章。 题目 单选题 1.关于前端安全以下说法正确的是 A. XSS跨站脚本攻击可以通过设置HTTP响应头的Content-Security-Policy为none来防止。 B. CSRF跨站请求伪造攻击可以通过移除所有的cookie来防止。 C. HTTP Only属性可以防止通过JavaScript访问cookie从而减少XSS攻击的风险。 D. 输入验证和转义是防止SQL注入的无效方式。 题解 答案选C我们逐个解释我们尽量讲解的细致一些面向初学者友好一些而且我们尽量有代码示例就用代码来解释。 A选项的Content-Security-Policy 设置HTTP的响应头的Content-Security-Policy为none并不是防止XSS攻击的有效正确方式。相反Content-Security-Policy反而是可以有效防止XSS的攻击。XSS是一种网站应用程序的安全漏洞攻击是代码注入的一种。 ​ HTTP概括来讲就是万维网的数据通信的基础。而Content-Security-Policy以后我简称为CSPCSP是HTTP的一个响应头它不是对象属性或者方法而是一种服务器发送的指令。 ​ 我们在HTML文件中head标签下会有一个meta标签在这个标签下我们可以对于http-equiv设置一个配置性的命令即CSP它可以告诉浏览器如何处理一个网页的内容。 !DOCTYPE html html langen head meta http-equivContent-Security-Policy contentdefault-src self; img-src https://*; child-src none; meta charsetUTF-8 titleTitle/title /head body /body /html http-equiv属性 http-equiv属性的作用是模拟HTTP响应头部的效果这里我们设置为CSP就是它指令的一种而CSP的作用就是有效防止XSS的攻击 content属性 content属性用于定义与name属性和http-equiv属性相关的值它可以设置很多相关的命令这个例子就是一个典型的样式default-src self指令设置了所有类型资源的默认策略我们一般都是这样设置的这里的资源就是比如脚本、样式、图片和字体等等。img-src https://指令用于指定哪些来源的图片可以被加载我们设置为这个命令意味着我们可以在任何使用HTTPS协议的来源来去加载图片child-src none也是一个属性我们设置为none表示不允许从任何源加载这类内容这里的内容我们说的是要嵌入的内容比如iframe/embed/object这些元素 回到题目本身其实那么我们到底如何做到A选项说的如何防止XSS呢完整的代码是这样的但是概括来讲正确配置Content-Security-Policy如限制资源的加载和执行来源可以有效防止XSS攻击A说法说反了。 meta http-equivContent-Security-Policy contentdefault-src none; script-src self https://trustedscript.com;connect-src self;img-src self https://trustedimagehost.com;style-src self unsafe-inline;font-src self;object-src none;frame-ancestors none;base-uri self;B选项的CSRF 移除所有的cookie并不是防止CSRF攻击的有效方法Cross-Site Request Forgery全称为这个为跨站请求伪造简单来说是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作。 什么是cookie呢全称为HTTP cookie我们在浏览一些国外网站的时候可能会遇到这个选项是我们在浏览网站时网络服务器创建的并通过网页浏览器存放在用户计算机的小文本文件即cookie就是一些小文件。移除所有的cookie并不能防止CSRF攻击。要通过CSRF攻击的常见方式来阻止比如使用CSRF Token或者验证Referer和Origin头下面逐一介绍。 B选项说的移除所有的cookie这个操作本身和有效防止CSRF并没有直接关系CSRF攻击的是什么它攻击的是用户当前的登录状态cookie这些小文件更多的是比如购物车信息会话标识符跟踪和分析信息等。 使用CSRF Token !DOCTYPE html html langen headmeta charsetUTF-8titleCSRF的阻止方式一/title /head body form action/submit-form methodpostinput typehidden namecsrf_token valueyour_csrf_token_here!-- 其他表单字段 --input typesubmit valueSubmit /form /body /html 这是一份使用CSRF Token方式的一份代码这里的value我们要根据实际情况来定是服务器生成的唯一随机并且不可预测的CSRF令牌(token)。 验证Referer和Origin头 const express require(express); const app express(); ​ app.use((req, res, next) {const referer req.headers.referer;const origin req.headers.origin; ​// 检查Referer或Origin是否合法if (referer ! https://expected-referer.com origin ! https://expected-origin.com) {return res.status(403).send(CSRF check failed);} ​next(); }); ​ app.post(/submit-form, (req, res) {// 处理表单提交res.send(Form data received); }); ​ app.listen(3000); 这是通过验证referer和origin头的方式我们可以在node.js环境下写这样的JavaScript代码同时满足这两个条件我们就把参数res的状态设置为403再send一下信息CSRF check failed。 C选项的HTTP Only HTTP Only属性确实可以防止通过JavaScript访问 减少XSS攻击的风险前面已经说了cookie是什么下面来看看完整代码来看看我们是如何做的。首先确保你的计算机已经安装了node.js和express如果没有express我们可以通过npm install express指令来安装。 const express require(express); const app express(); ​ app.use((req, res, next) {const referer req.headers.referer;const origin req.headers.origin; ​// 检查Referer或Origin是否合法if (referer ! https://expected-referer.com origin ! https://expected-origin.com) {return res.status(403).send(CSRF check failed);} ​next(); }); ​ app.post(/submit-form, (req, res) {// 处理表单提交res.send(Form data received); }); ​ app.listen(3000); 当我们访问服务器的根目录/的时候它会设置一个名为secureCookie的Cookie我们把httpOnly属性设置为true即使用HTTP Only属性增强了cookie的安全性。 D选项的防止SQL注入 D说法也是说反了我们确实是可以通过输入验证和转义来防止SQL注入的。什么是SQL注入SQL注入也是一种常见的网络攻击技术攻击者通过恶意SQL代码注入到应用程序的输入字段中试图破坏或者操纵后台数据库。比如攻击者可以写一些这样的语句。 SELECT * FROM users WHERE username [用户输入的用户名] AND password [用户输入的密码]; 输入验证和转义 输入验证和转义是两种基本的安全措施它可以防止很多不同形式的注入攻击包括SQL注入。比如我们可以写这样的代码。转义说的是什么事呢就是指输入数据可能会被错误的解释为代码的特殊字符进行处理的过程我们通过转义来确保输入字符串中特殊字符比如单引号不会结束字符串文本并且开始新的SQL命令。 app.post(/submit-form, (req, res) {const email req.body.email;const age req.body.age; ​// 验证电子邮件地址if (!email.match(/^[^][^]\.[^]$/)) {return res.status(400).send(无效的电子邮件地址);} ​// 验证年龄if (isNaN(age) || age 18 || age 100) {return res.status(400).send(无效的年龄);} ​// 处理有效输入// ... }); 这里的if当中的部分即是这种方式的体现。当然还有很多比如类型检查格式验证长度验证内容检查等等。
http://www.hkea.cn/news/14360763/

相关文章:

  • 网络营销企业网站中国购物平台排名
  • 怎么通过微博做网站外链医院网站建设联系方式
  • 大连网站建设制作公司wordpress 数据库
  • 网站空间带宽廊坊seo排名公司
  • 知道抖音视频是怎么做的网站嘛网站死链怎么产生的
  • 外卖网站的建设与推广网站设计开发软件网页美化工具
  • 灰蓝 网站模板做网站是怎么赚钱吗
  • wordpress建立网站企业网站手机端模板下载
  • 江苏住房城乡建设网站swiper做的全屏网站
  • 怎样找公司做单的网站网址域名注册信息查询
  • 哪个网站做贷款推广初中学历怎么提升大专学历
  • 注册网站刀具与钢材范围经典软文文案
  • 重庆孝爱之家网站建设wordpress 瀑布流分页
  • 保健品网站源代码群晖WordPress无端口号
  • 大连专业手机自适应网站制作公司建网站怎么做
  • 网站建设条款最佳磁力搜索引擎
  • 织梦绿色企业网站模板做网站就业要会什么
  • 企业网站开发研究现状企业年金怎么领取最划算
  • 宿迁网站建设公司排名如何看网站的流量
  • 做自己的博客网站湘潭seo优化
  • 中山 网站建设一条龙服务专题型定制网站建设
  • 佛山大良网站建设海南seo外包
  • linux wordpress建站教程赤壁网站建设公司
  • 温州最大的外贸公司网站优化技术
  • 虾皮这种网站根本不值得做机房网站建设方案
  • 网站建设朝阳网站建设 海南
  • 微网站摇一摇免费推广预期效果怎么写
  • 做网站宣传费用记什么科目常用的网站类型有哪些类型有哪些类型有哪些
  • 网站建设用模板域名批量注册查询
  • 大石桥城乡规划建设局网站网站优化 英文