数据提交的是后为什么要对字符串进行JS,HTML,CSS过滤

问题描述

为什么呢?

解决方案

解决方案二:
防止用户提交一个JS,HTML,CSS比如说用户评论的时候在文本框里面输入一个<buttonID="button"type="button">评论</button>这样你数据读取到页面评论页面就会显示一个button很难看的
解决方案三:
严重的话提交一个js脚本让你狂打开页面
解决方案四:
防止注入啊,如果别人给你注入一下,然后你又没有防止,就会出现大麻烦的比如给你注入一个脚本,跳转到百度的那么,那么一打开网页就跳到百度了,还怎么看你的网站啊
解决方案五:
哦,这样的啊
解决方案六:
对呀,你想想,本来画的挺好的一个页面,结果人家给你弄进来两个div,结果导致整个页面的样式乱了,多麻烦啊又或者是数据库的注入,影响安全
解决方案七:
引用5楼qiudong_5210的回复:

对呀,你想想,本来画的挺好的一个页面,结果人家给你弄进来两个div,结果导致整个页面的样式乱了,多麻烦啊又或者是数据库的注入,影响安全

。。。页面提交,如何注入?
解决方案八:
insert可以进行SQLinjection?
解决方案九:
不过滤要出错。。有些脚本。。你在文本框里输入script在提交看看啥情况了。。HTML转换。。。///<summary>///插入SQL时替换字符///</summary>///<paramname="str"></param>///<returns></returns>publicstaticstringEncode(stringstr){str=str.Replace("'","''");str=str.Replace(""","&quot;");str=str.Replace("<","&lt;");str=str.Replace(">","&gt;");str=str.Replace("n","<br>");str=str.Replace("“","&ldquo;");str=str.Replace("”","&rdquo;");returnstr;}///<summary>///取SQL值时还原字符///</summary>///<paramname="str"></param>///<returns></returns>publicstaticstringDecode(stringstr){str=str.Replace("&rdquo;","”");str=str.Replace("&ldquo;","“");str=str.Replace("<br>","n");str=str.Replace("&gt;",">");str=str.Replace("&lt;","<");str=str.Replace("&quot;",""");str=str.Replace("''","'");returnstr;}

用这个来替换
解决方案十:
可是我输入<script>alert('地地道道)</script>的时候,提交成功,但是内容是空的可是我的文本框输入要求是非空的
解决方案十一:
这是过滤的源码System.Text.RegularExpressions.Regexregex1=newSystem.Text.RegularExpressions.Regex(@"<script[sS]+</script*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex2=newSystem.Text.RegularExpressions.Regex(@"href*=*[sS]*script*:",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex3=newSystem.Text.RegularExpressions.Regex(@"no[sS]*=",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex4=newSystem.Text.RegularExpressions.Regex(@"<iframe[sS]+</iframe*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex5=newSystem.Text.RegularExpressions.Regex(@"<frameset[sS]+</frameset*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex6=newSystem.Text.RegularExpressions.Regex(@"<img[^>]+>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex7=newSystem.Text.RegularExpressions.Regex(@"</p>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex8=newSystem.Text.RegularExpressions.Regex(@"<p>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex9=newSystem.Text.RegularExpressions.Regex(@"<[^>]*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);html=regex1.Replace(html,"");//过滤<script></script>标记html=regex2.Replace(html,"");//过滤href=javascript:(<A>)属性html=regex3.Replace(html,"_disibledevent=");//过滤其它控件的on...事件html=regex4.Replace(html,"");//过滤iframehtml=regex5.Replace(html,"");//过滤framesethtml=regex6.Replace(html,"");//过滤framesethtml=regex7.Replace(html,"");//过滤framesethtml=regex8.Replace(html,"");//过滤framesethtml=regex9.Replace(html,"");html=html.Replace("","");html=html.Replace("</strong>","");html=html.Replace("<strong>","");returnhtml;
解决方案十二:
有人知道为什么会出现这种情况吗?

时间: 2024-07-30 15:52:55

数据提交的是后为什么要对字符串进行JS,HTML,CSS过滤的相关文章

extjs-用Extjs提交表单后,请求有返回数据,但success函数的action里取不到返回结果

问题描述 用Extjs提交表单后,请求有返回数据,但success函数的action里取不到返回结果 /** * 打开数据项导入窗口 */ function openDataItemImportWnd() { Ext.create('Ext.window.Window', { title: '导入数据项', autoHeight: true, width: 400, modal: true, layout: 'fit', items: { xtype: 'form', method : 'POS

新人求解救!asp.net中数据提交后显示空白页面

问题描述 首先,我是菜鸟!网站不是我做的,我是半途接手的!网站原本是正常的,一共有三个,代码啥的都是一样的,就是网站名称改了!好了,进入正题:前几天对网站的部分页面和数据库做了更新,更新后只有一个网站是正常的,其它两个网站在进行数据提交时显示空白页面,在后台和数据库中没有提交的数据 解决方案 解决方案二:求大神,这个应该怎么办?解决方案三:调试代码会不?这样说不知道什么是原因解决方案四:菜鸟就先一步一步调试不要胡乱的瞎改你总应该先在自己的测试环境里调试好了再发布出去才对解决方案五:一共有三个,代

php-点击按钮后,怎么将form表单中的数据提交到弹窗中显示?

问题描述 点击按钮后,怎么将form表单中的数据提交到弹窗中显示? 点击按钮后,怎么将form表单中的数据提交到弹窗中显示?本人学习的是php语言 解决方案 http://blog.csdn.net/wangzi11322/article/details/45287967 解决方案二: 指定表单的target就行了,可以在指定窗口打开或者新窗口打开,不设置默认为当前窗口打开 <form target="窗口名称或者_blank" 解决方案三: 先用serializeArray序列

用button提交数据下载文件成功后如何转向?

问题描述 用button提交数据下载文件成功后如何转向? 解决方案 解决方案二:<inputtype="button"onclick="document.location='要转向的页面'"value="提交">解决方案三:是要到一个jsp之类的文件去下载数据,成功返回后再跳转页面,或者是让这个点击button先disabled,等成功后,再可见解决方案四:你这说的是业务逻辑的问题,和view层有什么关系,用servlet或者acti

php采用ajax数据提交post与post常见方法总结_php技巧

本文实例讲述了php采用ajax数据提交post与post常见方法.分享给大家供大家参考.具体方法如下: 在很多情况下我们使用ajax是不会有什么问题的,但有时会碰到ajax数据提交post不完整的问题,这里举例给大家分析一下. 下边是一个标准的ajax请求代码,正常情况下是不会有任何问题的,但是,在特定情况下就会出现问题,比如,username=fdas&321的时候,或者参数值中出现了&符号,经过了N多遍测试,发现数据都传输了,但是打印出来数据是半截,最后仔细观察头信息发现传输的头不对

Jquery提交表单后,页面自动刷新问题

现象: 1.使用jquery体检提交表单后,页面重新加载 2.spring-boot报:o.s.web.servlet.PageNotFound: Request method 'POST' not supported 提交按钮 <button onclick="ligin();">Login</button> Jquery代码 function ligin(){ var data=$('#loginForm').serialize(); //序列化获得表单数据

用c#把数据提交到相关联的两张access数据表中

问题描述 用c#把数据提交到相关联的两张access数据表中 现在要把姓名.密码.学号.性别添加到数据库表中,现在有两个表:账号表和信息表,要把姓名.密码添加到账号表,把姓名学号性别添加到信息表,两张表有建立关系,账号表中的姓名是主键,用c#语言怎么把文本框中的信息添加到两张表中,求大神帮帮忙,最好有代码看看,谢谢了protected void Button1_Click(object sender, EventArgs e) { string TID = TextBox1.Text.ToStr

Thinkphp学习日记:jQuery_ajax数据提交

最近在玩Thinkphp,废话不多说,说正事. 客户端js提交代码 1 $.post('http://localhost/app/index.php/Index/Index/handle',{username : document.getElementById('username').value,content : document.getElementById('content').value,},function (data){console.log(data);alert('ok');})

织梦样式-织梦后台备份数据提交时,显示为0记录,无法备份还原怎么办

问题描述 织梦后台备份数据提交时,显示为0记录,无法备份还原怎么办 织梦后台数据提交后,显示0记录,无法备份还原怎么办,求解 织梦后台备份数据提交时,显示为0记录,无法备份还原怎么办,求解,红包报酬,谢谢, 解决方案 还原备份数据 解决方案二: 估计是因为你网站搬家的时候数据库改了名称,但是你的连接参数没有改名称,连的是默认的数据库,所以备份的时候还是默认数据库,而默认数据库里面是没有数据的,所以为0了.