Web应用程序(WebApplication)术语,所指的既不是一个真正意义上的Web网站,又不是一个传统的应用程序。换句话说,它是一些Web网页和用来完成某些任务的其他资源的一个集合。它隐含这样一层意思:有一个预定义的路线贯穿于网页之中,用户可做出选择或提供信息使任务能够完成。
例如,一个在线商店,你为了购买货物,进行反复的观察和选择,浏览一系列网页,收集所需要的信息,支付相应的费用,最后发出定单。也可能是一个“软件升级向导”,指导用户完成下载和安装新软件的过程,或者可能是一个基于Intranet的报价单或销售报告的生成工具。
所有这些不同于“标准”的Web网站,一般的Web站点使用一系列菜单或导航栏以预先未定义的路径漫游该站点。但是一个Web应用程序远不只是受控制的导航器。自由地漫游于一个Web网站时,可以进行无状态的和匿名的访问,但Web应用程序一般不接受。
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站VIP会员密码泄露大多就是通过Web表单递交查询字符实现的,北京电脑培训发现这类表单特别容易受到SQL注入式攻击。
SQL注入攻击的原理本身非常简单,相关攻击工具容易下载,攻击者获得权限后有利可图。这使得它成为有效的、攻击者常采用的Web入侵手段,是众多网站成为恶意代码传播平台的起因之一。
针对这一攻击手段认为,根本的措施是对Web应用的用户输入进行过滤。并针对Web应用的基本特性,对Web应用的整体安工作采取以下具体措施:
1、Web应用安全评估:结合应用的开发周期,通过安扫描、人工检查、渗透测试、代码审计、架构分析等方法,面发现Web应用本身的脆弱性及系统架构导致的安问题。应用程序的安问题可能是软件生命周期的各个阶段产生的,其各个阶段可能会影响系统安的要点主要有:
2、Web应用安加固:对应用代码及其中间件、数据库、 *** 作系统进行加固,并改善其应用部署的合理性。从补丁、管理接口、账号权限、文件权限、通信加密、日志审核等方面对应用支持环境和应用模块间部署方式划分的安性进行增强。
3、对外部威胁的过滤:通过部署Web防火墙、IPS等设备,监控并过滤恶意的外部访问,并对恶意访问进行统计记录,作为安工作决策及处置的依据。
4、Web安全状态检测:持续地检测被保护应用页面的当前状态,判断页面是否被攻击者加入恶意代码。同时通过检测Web访问日志及Web程序的存放目录,检测是否存在文件篡改及是否被加入WebShell一类的网页后门。
5、事件应急响应:提前做好发生几率较大的安事件的预案及演练工作,力争以高效、合理的方式申报并处置安事件,并整理总结。
6、安全知识培训:让开发和运维人员了解并掌握相关知识,在系统的建设阶段和运维阶段同步考虑安问题,在应用发布前更大程度地减少脆弱点。
web端可以通过自定义URL Protocol来调用本地的应用程序。我们只需要通过一个链接如: <a href="tencent://">打开QQ</a> 或者直接在浏览器中输tencent://(tencent://为QQ的自定义URL Protocol)就能够使得浏览器去寻找 注册表 并打开对应的本地应用程序。
关于上面提到的 注册表 和为什么通过自定义URL Protocol就可以调用本地的应用程序的介绍在网上已经有很多相关的博客了,我会将一些我觉得比较详细和清晰的文章贴出来,就不详细介绍其中的原理了。
通过自定义URL协议在Web网页中启动本地应用程序
前端网页如何打开一个PC本地应用
但是,上面说到的这些都不是今天的重点,今天的重点是我们如何得知我们有没有成功唤醒本地应用。
如果你曾经再网上搜索过这个问题,那么你得到的最终解决方案大概率是他—— protocolcheckjs
protocolcheckjs根据各种浏览器在通过自定义协议调用本地应用的不同反应,整理了各个浏览器对应的hacks,并通过检测用户所使用的浏览器来调用对应的hacks来检测浏览器是否有成功唤醒应用:
虽然protocolcheck js已经将刚刚浏览器对应的检测方法封装起来,但这些方法毕竟大多数都是hacks,并且已经有三四年没有进行更新了,随着浏览器的更新肯定会逐渐暴露出许多问题(亲测最新版的chrome和Firefox都已失效)。
显然这不是一个很好的解决方案,正当我想和产品经理去探讨这个需求的可行性时,我想到了百度网盘似乎也有类似的功能,那么百度网盘是怎么实现的呢?
通过百度网盘web端的唤醒功能一段时间的研究,我发现在唤醒过程中他会不断发送同一个请求,在唤醒成功后便不在发送,查看该请求的响应我们可以看到该请求返回了errno,request_id,status三个字段,其中,在唤醒成功时,除了唤醒成功前的最后一个请求的status为1之外,其他请求的status均为2。
而在唤醒失败时,则所有请求的status均为2。
不难判断出,百度云盘是通过web端和客户端直接通讯来判断出是否唤醒成功,但他们是如何进行通讯的呢?这个问题我们先按下不表,但这种方式又让我联想到了EN和QQ邮箱的快速登录功能,当我们启动了 QQ客户端,再去访问 QQ 邮箱登录页,页面会提示我们已经登录了的 QQ,点击即可登录。
响应内容
这个请求返回了登录信息,并且是通过向127001:4301获得的,那么问题来了,这个服务是谁提供的呢?
真相大白!由上面的信息我们可以判断出是QQ的客户端开启了一个>
一、测试方式不同
1、app测试:指对移动应用进行测试,包括自动化测试和人工测试等。
2、Web测试:软件测试的一部分,是Web应用程序测试的一种类型。
二、测试内容不同
1、App测试:模拟用户动作,在黑箱中测试应用,使用Cucumber作为自然语言编写测试用例。还记录了应用程序测试 *** 作,以帮助开发人员审查他们的测试。
2、Web测试:包括内容测试、界面测试、功能测试、性能测试、兼容性测试、安全性测试等。
三、特点不同
1、应用程序测试:您可以添加一个预测试会话来确认环境已经准备好进行测试,您还可以知道哪些错误是由不稳定的环境引起的,哪些是常见的测试用例错误。
2、Web测试:测试可以检测浏览器端和服务器端应用程序中尽可能多的错误,并及时纠正它们,以确保应用程序的质量。
以上就是关于WEB应用程序的特点有哪些_简述web应用及其特点全部的内容,包括:WEB应用程序的特点有哪些_简述web应用及其特点、Web应用安全的措施、web端唤醒本地应用并检测是否唤醒成功等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)