网站防止攻击

网站防止攻击1、什么是XSSXSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。跨站脚本攻击最大的魅力是通过HTML注入劫持用户的浏览器,任意构造用户当前浏览的HTM

大家好,又见面了,我是你们的朋友全栈君。

1、什么是XSS

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。

跨站脚本攻击最大的魅力是通过HTML注入劫持用户的浏览器,任意构造用户当前浏览的HTML内容,甚至可以模拟用户当前的操作。

XSS 是如何发生的呢?

假如有下面一个textbox

<input type="text" name="address1" value="value1from">

value1from是来自用户的输入,如果用户不是输入value1from,而是输入“/><script>alert(document.cookie)</script><!- 那么就会变成

<input type="text" name="address1" value=""/><script>alert(document.cookie)</script><!- ">

嵌入的JavaScript代码将会被执行。

或者用户输入的是  “οnfοcus=”alert(document.cookie)      那么就会变成

<input type="text" name="address1" value="" onfocus="alert(document.cookie)">

事件被触发的时候嵌入的JavaScript代码将会被执行。

攻击的威力,取决于用户输入了什么样的脚本。

XSS之所以会发生, 是因为用户输入的数据变成了代码。 所以我们需要对用户输入的数据进行HTML Encode处理。 将其中的”中括号”, “单引号”,“引号” 之类的特殊字符进行编码。

网站防止攻击

XSS 漏洞修复

原则: 不相信客户输入的数据
注意:  攻击代码不一定在<script></script>中

  1. 将重要的cookie标记为http only,   这样的话Javascript 中的document.cookie语句就不能获取到cookie了.
  2. 只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉
  3. 对数据进行Html Encode 处理
  4. 过滤或移除特殊的Html标签, 例如: <script>, <iframe> , &lt; for <, &gt; for >, &quot for
  5. 过滤JavaScript 事件的标签。例如 “οnclick=”, “onfocus” 等等。

 

防止XSS,主要是:

一、用户自己

用户可以忽略一个网站到另一个网站的链接:比如说,如果A网站链接到somerandomsite.com/page,那么你如果先要上这个网站,最好不要去直接点击该链接,而是通过搜索功能去查找该网站。这种方法可有效防止嵌入在链接网址中的XSS攻击,但是这种方法用起来不太方便,而且当两个网站共享内容时就没办法用了。另外一种方法是在你的浏览器中禁用像JavaScript脚本语言。即便因此可能会让一些网站上的一些很不错的功能没法使用,只要你还能够容忍就行。

二、上面列出的五点。

2、sql注入攻击

防止sql注入方法:

一、用户注册和登陆的时候输入的用户名和密码的时候禁止有特殊字符。

二、最小权限原则。

三、如果使用的是java,则尽量使用PreparedStatement

3、…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162081.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Java编译时注解自动生成代码[通俗易懂]

    Java编译时注解自动生成代码[通俗易懂]在开始之前,我们首先申明一个非常重要的问题:我们并不讨论那些在运行时(Runtime)通过反射机制运行处理的注解,而是讨论在编译时(Compiletime)处理的注解。注解处理器是一个在javac中的,用来编译时扫描和处理的注解的工具。可以为特定的注解,注册自己的注解处理器。一个注解的注解处理器,以Java代码(或者编译过的字节码)作为输入,生成文件(通常是.java文件)作为输出。可以生成Java代码,这些生成的Java代码是在生成的.java文件中,所以不能修改已经存在的Java类,例如向已有的类中

  • c语言qq聊天刷屏代码大全,QQ聊天刷屏脚本 达人分享技巧

    教大家自己编写一个QQ聊天刷屏的脚本,几步就可以搞定哦。操作方法01点击电脑左下角的开始菜单,选择记事本,新建一个记事本文件。02在记事本中输入以下代码:SetWshShell=WScript.CreateObject(“WScript.Shell”)WshShell.AppActivate”wendy”fori=1to10WScript.Sleep500WshShell.SendK…

  • v型密封圈的使用方法_橡胶密封圈标准

    v型密封圈的使用方法_橡胶密封圈标准充气密封圈到底能够密封什么呢?到底什么地方需要充气密封圈呢?我们带着问题来看下面的文章:一、充气密封圈定义简介:充气密封圈在自然状态下密封圈的可伸缩部分隐藏在凹槽内,当通过气嘴向密封圈充气时,密封圈因受内压力作用而发生变形,中间部分向外胀起,与另一密封面紧密接触,从而起到密封作用。需要解除密封状态时,通过气嘴排出密封圈内高压气体,膨胀部分受橡胶弹性作用自动回缩到凹槽内,与密封面脱离。二、充气密封圈…

  • 逆波兰表达式_逆波兰表达式gof是什么

    逆波兰表达式_逆波兰表达式gof是什么逆波兰表达式表达式一般由操作数(Operand)、运算符(Operator)组成,例如算术表达式中,通常把运算符放在两个操作数的中间,这称为中缀表达式(InfixExpression),如A+B。波

  • pytest fixtures_pytest命令

    pytest fixtures_pytest命令fixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

  • 【机器学习算法】线性回归算法

    【机器学习算法】线性回归算法文章目录线性回归回归问题回归和分类预测未来机器学习实现预测的流程线性方程权值调整最简单的回归问题——线性回归问题利用线性回归进行预测的极速入门线性回归的算法原理拟合线性回归算法的数学解析1.假设函数的数学表达式解析线性回归回归问题线性方程偏差度量权值更新回归问题两百年前,与达尔文同时代的统计学家高尔顿在研究父代与子代的身高关系时,发现一种“趋中效应”:如果父代身高高于平均值,则子代具有更高概率比他父亲要矮,简单来说就是身高回归平均值。“回归”一词也由此而来。在回归的世界里,万物的发展轨

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号