web页面URL地址传递参数检查方法

Web页面通过URL地址传递参数常见问题及检测方法Web页面即我们在浏览器中所看到的网页,在Web应用程序中,其页面往往需要进行动态切换和数据交互,页面间的数据常规传递方法有多种,本文主要介绍Web页面处理程序中常见的URL地址参数传递方法,包括概述其实现原理、特点和常见问题,最后介绍检测该方式常见应用问题的测试思路和方法。
1.web页面的概念Web是internet上一个非常重要的资源信息网,产生于20世纪90年代初,它遵循超文本传输协议,以超文本或超媒介的形式传送各种各样的信息,为用户提供了一个具有友好的图形化界面——Web页面,以便用户阅读internet上的信息文档。Web页面其实是一个单一的文件,其特点主要表现在:
1)Web是图形化的和易于导航的。Web可以在一页上同时显示色彩丰富的图形和文本的性能,同时Web非常易于导航,它可以在各页各站点之间进行浏览了。
2)Web与平台无关。无论你的系统平台是什么,你都可以通过Internet访问WWW。
3)Web是分布式的。大量的图形、音频和视频信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。
4)Web 是动态的。Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新,Web动态的特性还表现在Web是交互的,通过超连接可以连接任意可以连接的页面,从服务器方获得动态的信息。
2.URL地址传递参数方法概述Web页面是动态和交互的,Web页面之间的数据交换往往存在一些参数的传递,不管是通过哪种语言平台编写Web页面处理程序,其参数传递的方式方法类似,且多种多样,常见方式主要包括通过URL地址、Application/Session、Cache、Cookie以及基于服务器文件或数据库等。URL地址传递参数方式在我们Web页面程序处理中非常常见,其形式是在页面地址后面附带参数的方式浏览页面,如:“http://test.net/Expert/PostNew.asp?room=301”,其中“room=301”即我们传递的参数名称和值。
URL地址方法可以很方便的在页面之间切换并传递参数,无需额外的处理,基于正常情况下不会产生性能损失,以Asp.net程序中URL参数传递处理为例,其简单处理过程如下:发送页面处理程序a.aspx:Send_url = “b.aspx?name=” + paraValue;Response.Redirect(s_url);接收页面处理程序b.aspx:Receive_value=Request.QueryString["name"];URL地址传递参数方式特点主要表现在以下几个方面:
1)URL地址法简洁易用,可同时传递多个字符型参数;
2)URL地址法可以很方便的在页面之间切换并传递参数,无需额外的处理,基于正常情况比较不会性能损失;
3)URL传递参数长度受限,最大为2K;
4)URL只能传递字符型参数;
5)信息泄露:URL地址在客户端可见,导致会泄露信息,可能被黑客用来攻击系统。
3.URL地址传递参数常见应用问题
1)因URL传递参数长度受限,最大为2K,在应用中可能会出现超出范围时的处理错误;
2)URL只能传递字符型参数,在应用中,经常会传递一些中文名的参数或URL地址,因为发送页面和接收页面的字符编码方式不一样而导致参数解析处理错误,参数包含中文时出现乱码或者参数接收错误;
3)Web程序中对字符编码的方法多种多样,但是有些方法对一些特殊字符,如:! @ # $& * ( ) = : / ; ? + '中的某些不能进行编码,因此对参数中包含某些特殊字符时不能正确处理,当参数中包含这些特殊字符时,软件接收处理出现异常;
4)URL可以传递一定长度大小字符型参数,在应用中经常通过URL接收的参数需要进一步进行逻辑处理,比如类型转换或者数字计算操作等,处理过程中开发人员可能会对参数在界面输入时限制处理不充分,而且开发人员在后续逻辑处理中过分信任传递过来的参数而未进行充分逻辑判断,导致在后续的逻辑处理中出现边界处理或者类型转换的错误,导致程序出现异常甚至崩溃;
5)URL地址中的参数经常与数据库SQL语句中的参数关联,如果开发人员对SQL语句参数化处理不完善,通过URL地址传递参数也容易引起SQL注入问题,参数中包含特殊字符、类型或者长度不符合要求时导致程序出错,甚至可以通过这个入口破坏或者获取数据库信息;
6)URL显示传递参数,容易产生信息泄露问题,一些关键信息URL地址在客户端可见,这些信息可能被黑客用来攻击系统。4.URL地址传递方式常见问题测试方法针对采用URL地址传递参数的Web程序,为发现及解决其应用问题,我们通过以下几个方面进行测试:
1)分析软件需求,是否需要处理超过2K大小的参数,如需要则通过Web界面控件或者URL输入超出2K大小参数进行测试,通过这种方式可以发现软件是否可以正常处理超出2K大小参数的需求问题;如无需求也可以通过此测试检测软件在参数大小超过2K时是否进行了相应的限制或者错误处理;
2)通过Web界面控件或者URL输入中文字符参数进行测试,检测软件在接收页面处理是否正常,是否出现乱码或者异常错误;3)通过Web界面控件或者URL输入各种特殊字符,例如:! @ # $& * ( ) = : / ; ? + '等,检测软件接收处理是否正常,是否可以显示处理必须的特殊字符;
4)通过Web界面控件或者URL输入参数边界值,同时包括输入各种类型参数,检测软件运行是否正常;
5)通过Web界面控件或者URL输入包含跟数据库SQL语句相关的一些特殊字符参数如’= 和一些关键字符串等,检测软件是否存在SQL注入问题,同时也可以采用一些安全测试工具,对URL输入参数进行SQL注入的渗透测试;
6)检测URL参数中是否包含关键信息,并可通过获取信息通过安全测试工具进行恶意破坏或者攻击测试。
5.应用建议针对URL地址传递参数应用问题,在应用中有如下建议:
1)在安全性要求较高的系统中不推荐使用这种方法,只适合在一些安全性要求不高,页面逻辑比较的简单的场合;
2)对参数长度超出2K的传递建议不要采取此方式;
3)对地址信息进行编码,且保证发送页面和接收页面编码和解码方式对应一致;
4)对从URL地址中接收的参数信息进行边界和类型校验;
5)为防止信息泄露,对URL传递的参数进行加密处理,同时需要考虑加密和解密过程的性能损失;
6)为防止信息泄露,也可对URL进行重写,经过一定算法重组的URL信息,使在IE中不显示真正的参数或者网页链接信息。
总结Web页面参数传递方式多种多样,各有优缺点,用户在开发和测试过程中,针对各自特点选择相应方式进行设计和相关处理。
在Web页面处理程序测试过程中,测试人员应先充分了解Web页面参数传递采用的方式,如果采用URL地址进行参数传递,则根据其特点和应用中常见的问题,采用正确的方法进行测试,以解决各种应用问题,提高Web应用程序的质量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,898评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,401评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,058评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,539评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,382评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,319评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,706评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,370评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,664评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,715评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,476评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,326评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,730评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,003评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,275评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,683评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,877评论 2 335

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,510评论 18 139
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,597评论 0 15
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,513评论 18 399
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,156评论 22 257
  • 记得作家冰心曾说过:“成功的花,人们只惊慕它现时的明艳,然而当初的芽儿,浸透了奋斗的泪泉,洒遍了牺牲的血雨...
    帘卷西风一阅读 606评论 0 4