问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#代码string strsql = "select * from news where id=" + Request...

发布网友 发布时间:2024-10-07 22:42

我来回答

5个回答

热心网友 时间:2024-10-12 11:36

从安全角度考虑,querystring当中的参数是不能直接用到查询语句当中去的!原因如下:

querystring当中的参数不一定存在或赋值,querystring获取的值在网址当中能看到,用户可以手动修改,如果用户不小心删掉某个数字或系统异常导致链接跳转出错,后台处理程序就会报错,因此,在使用之前要进行判断,if(Request.QueryString["id"]!=null),如果成立,通过string tempid=Request.QueryString["id"].ToString();

防止越权访问:如果直接在sql当中使用querystring当中的参数,在用户端人为修改参数值的时候,可以躲避系统的安全检查或条件选择,例如querystring里面id= 5 or 1=1,因为是直接使用参数的tostring方法,所以,sql语句变为:select * from news where id=1 or 1=1,这样就可以遍历所有用户信息。如果有些用户是不能公开访问的话,这样信息就泄漏了!

综上,一般操作步骤如下:

判断参数是否存在 if(Request.QueryString["id"]!=null) string tempid=Request.QueryString["id"].ToString();

判断参数是否符合条件 去除异常符号:可以通过正则匹配或string.replace()函数过滤空格、单引号等

将处理后的参数加入sql命令!

热心网友 时间:2024-10-12 11:32

从这句话来看,只能是Request.QueryString["id"]不存在,所以你调用它的ToString()方法会出现这个异常。

热心网友 时间:2024-10-12 11:34

如果是这一行报错的话 那么肯定是Request.QueryString["id"]这里报错 请先确认你的url传递时是否带有该参数 同时QueryString是只在url中寻找 还有 楼主这种拼接查询sql语句的方法很不安全

热心网友 时间:2024-10-12 11:34

首先看看 

Request.QueryString["id"].ToString();

是不是空的。如果不是空的,建议

            string strsql = string.Format("select * from news where id={0}", Request.QueryString["id"].ToString()};

写法。

热心网友 时间:2024-10-12 11:30

楼主,你的Request.QueryString["id"]胃null,也就是说你没有取到你要的id,你直接引用一个null,在null的基础上执行操作,所以报空。
改正方法有:一、调试到获取到id;二、给Request.QueryString["id"]做一个空的判断
Request.QueryString["id"] == null ? null : Request.QueryString["id"].ToString()

热心网友 时间:2024-10-12 11:34

从安全角度考虑,querystring当中的参数是不能直接用到查询语句当中去的!原因如下:

querystring当中的参数不一定存在或赋值,querystring获取的值在网址当中能看到,用户可以手动修改,如果用户不小心删掉某个数字或系统异常导致链接跳转出错,后台处理程序就会报错,因此,在使用之前要进行判断,if(Request.QueryString["id"]!=null),如果成立,通过string tempid=Request.QueryString["id"].ToString();

防止越权访问:如果直接在sql当中使用querystring当中的参数,在用户端人为修改参数值的时候,可以躲避系统的安全检查或条件选择,例如querystring里面id= 5 or 1=1,因为是直接使用参数的tostring方法,所以,sql语句变为:select * from news where id=1 or 1=1,这样就可以遍历所有用户信息。如果有些用户是不能公开访问的话,这样信息就泄漏了!

综上,一般操作步骤如下:

判断参数是否存在 if(Request.QueryString["id"]!=null) string tempid=Request.QueryString["id"].ToString();

判断参数是否符合条件 去除异常符号:可以通过正则匹配或string.replace()函数过滤空格、单引号等

将处理后的参数加入sql命令!

热心网友 时间:2024-10-12 11:33

楼主,你的Request.QueryString["id"]胃null,也就是说你没有取到你要的id,你直接引用一个null,在null的基础上执行操作,所以报空。
改正方法有:一、调试到获取到id;二、给Request.QueryString["id"]做一个空的判断
Request.QueryString["id"] == null ? null : Request.QueryString["id"].ToString()

热心网友 时间:2024-10-12 11:36

首先看看 

Request.QueryString["id"].ToString();

是不是空的。如果不是空的,建议

            string strsql = string.Format("select * from news where id={0}", Request.QueryString["id"].ToString()};

写法。

热心网友 时间:2024-10-12 11:33

如果是这一行报错的话 那么肯定是Request.QueryString["id"]这里报错 请先确认你的url传递时是否带有该参数 同时QueryString是只在url中寻找 还有 楼主这种拼接查询sql语句的方法很不安全

热心网友 时间:2024-10-12 11:37

从这句话来看,只能是Request.QueryString["id"]不存在,所以你调用它的ToString()方法会出现这个异常。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怀孕四个月补钙可以吗 孕妇吃什么时候钙片好 孕妇吃什么钙片最好 怀孕补钙是必须的吗?孕妇钙片品牌哪个好? ...在长高的黄金发育时期,会影响容貌五官的变化吗,不仅没有发育到变... 冬至吃饺子的诗词 立冬吃饺子的暖心诗词 宁波全封闭学校有哪些 宁波市北仑区小港镇会计学校在那? 或红联镇也可以 江南教育集团小港中心幼儿园园况介绍 红联哪里有报暑假班 C# 一个datagridview绑定sql数据库的多张表(用datagridview显示数据... datatable.Select("1=1", "")1=1什么意思 去澳门自由行,如何选择一家靠谱的酒店? 澳门自由行,如何选择一家靠谱的酒店? 去澳门游玩,应该如何挑选酒店? 澳门亲子游的攻略是什么? ...但是CPU温度就76---[ 处理器(CPU)详细信息 ]--- Intel Xeon E5-1650详细信息 ---[ 处理器(CPU)详细信息 ]--- 处理器(CPU): ---[ 处理器(CPU)详细信息 ]---适合玩CF吗 ...是不是电脑好换了、。? ---[ 处理器(CPU)详细信息 ]--- 大杯铁观音怎么泡 沈阳北站到薰衣草公园。怎么坐公交~急 大约多长时间 从沈北兴隆台回来做什么公交车到沈阳北站,最晚公交车几点 铁观音正确泡法步骤 铁观音冲泡 爱情公寓4第二集那个心理医生说那个潜伏二十三年最后抓了自己所有亲戚的... 鸡兔同笼,共有48个,脚132只,求鸡和兔各有多少只 7a乘a等于几? 白切鸡味道淡怎么办? C#中SQL 条件语句where后面的通配符如何用参数取代 哪些女性智能手机有出色的自拍和美颜功能? ...要从一束花和一句正式的表白开始,他才gei买了花,能算是喜欢吗?_百... ...经常梦到自己开车,全部是在晚上开,现实中我不会开车, 大致情形是... mp5的售后问题请教 空调过滤网烂掉啦,不要可以吗? 如何拆空调过滤网清洗? ...本书讲的是倚天屠龙记的后传,但肯定不是金庸写的。 一本书 大致内容是写倚天屠龙记里的人物生活在一所大学里 周芷若是历... 以前看过一本小说很好看,但是忘记书名了,只记得书中有七伤拳。什么书... 师夷长技以自强'是什么意思 be supposed to和be supported to有什么区别? be supposed to的区别? 执业医师考试会考到听诊的内容吗? ...再向___走到学校.(2)明明放学回家的路线是:__ ...向东北方向走到学校,放学回家时应从学校出发向什么方向走回_百度... 小华放学回家从学校出发,先向___走___米来到超市,再向北偏___的方向... ...从家出发,往___走100米,再往___走___米到书店.(2)小强放学回家... ...的TD工程师、光传输工程师、和全国的网络工程师。可以从事哪方工作... QQ悄悄话谁会找出来那个人,网上的方法找poe文件根本找不到