首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

webview不验证域名就能支付

基础概念

WebView 是一种在移动应用中嵌入网页的技术,它允许应用加载并显示网页内容。WebView 通常用于显示第三方网页或实现应用内的网页浏览功能。

相关优势

  1. 跨平台兼容性:WebView 可以在不同操作系统上运行,提供一致的网页浏览体验。
  2. 开发效率:开发者可以利用现有的网页资源,减少应用开发的工作量。
  3. 更新便捷:网页内容可以通过服务器更新,无需重新发布应用。

类型

WebView 主要有以下几种类型:

  1. 系统自带的 WebView:如 Android 平台上的 WebView 组件,iOS 平台上的 WKWebView 组件。
  2. 第三方 WebView:如腾讯 X5 内核等,提供更好的性能和兼容性。

应用场景

  1. 混合开发:结合原生应用和网页内容,实现更丰富的功能。
  2. 内容展示:显示第三方网页内容,如新闻、视频等。
  3. 支付功能:通过 WebView 加载支付页面,实现支付功能。

问题:WebView 不验证域名就能支付

原因

WebView 在加载网页时,默认情况下不会严格验证域名,这可能导致安全风险,如中间人攻击或钓鱼网站。特别是在支付场景中,如果 WebView 没有验证域名,可能会导致用户支付信息被窃取。

解决方法

  1. 启用域名验证
    • 在 Android 平台上,可以使用 WebViewClientshouldOverrideUrlLoading 方法来验证域名。
    • 在 iOS 平台上,可以使用 WKNavigationDelegatewebView(_:decidePolicyFor:decisionHandler:) 方法来验证域名。
    • 示例代码(Android)
    • 示例代码(Android)
    • 示例代码(iOS)
    • 示例代码(iOS)
  • 使用安全支付 SDK
    • 使用第三方支付 SDK,如微信支付、支付宝等,这些 SDK 通常会内置域名验证和安全措施。
  • 配置 SSL Pinning
    • 通过 SSL Pinning 技术,强制 WebView 只信任特定的证书或公钥,防止中间人攻击。

参考链接

通过以上方法,可以有效解决 WebView 不验证域名导致的安全问题,确保支付过程的安全性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 解决微信h5支付无法直接返回APP的问题

走到这一步,你就可以加载webView进行支付了,但是问题来了,不论是支付成功还是取消支付之后他都会跳转到Safari浏览器,而且打开的内容是就是你设置Referer时的授权域名http://www.xxx.com...访问获取的,然后我试了一下,可以支付,也停留在了微信,于是我高高兴兴的去尝试了一下 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest...,太激动了,然后为了确保准确性进行了各种尝试,发现只要带有域名的都可以,然后我又进行了一个尝试:就是把http://去掉直接把Referer设置成:www.xxx.com,然后也是能支付的。...当然目前还没有解决多个APP同时使用同一个授权域名时,怎么返回APP的问题,多个APP使用h5支付的话会导致返回错乱的问题,如果哪位大神知道解决办法的话可以告诉我一下,谢谢!...由于大家都在问微信h5支付返回的问题,所以抽空写了一个demo,针对的是webVIew和WKWebVIewdemo地址。喜欢的朋友给个star。

2.2K10

『教程』微信小程序webview的使用

需登录小程序管理后台配置域名白名单。 <!...web-view踩坑 很多使用中的一些问题 1.打开的域名没有在小程序管理后台设置业务域名(注意是业务域名,不是服务器域名) 2.打开的页面必须为https服务 3.打开的页面302过去的地址也必须设置过业务域名...4.web-view空白问题,请升级微信客户端到 6.5.16 5.页面可以包含iframe,但是iframe的地址必须为业务域名 6.web-view不支持支付能力,web-view的API能力见web-view...; web-view不支持支付能力,是指无法唤起小程序的直接支付窗口,对于h5的那套支付应该是支持的,但是web-view 里边没法使用 微信支付的 JSAPI,也就是可能可以h5的相关的的支付中心来支付...webview中的html的title会自动放到小程序的头部作为标题; webview中可以正常使用ajax之类的操作。一些可能的问题问题汇总

5.1K90
  • 理解小程序的安全与管控

    作者:微信支付前端工程师 王贝珊 原文链接:https://godbasin.github.io/2018/11/04/wxapp-manage-and-security/ 作为一个平台,管控和安全是很有必要性的...WebView的飞速发展 当年随着公众号的出现和繁荣,WebView 的使用频率也越来越高。不少的企业或是小商家、外包公司开始做 H5 页面,各式各样的 H5 活动页、小商城、小测试、小游戏满天飞。...2015年初,微信发布了一整套网页开发工具包,开放了拍摄、录音、语音识别、二维码、地图、支付、分享、卡券等几十个API,称之为 JS-SDK。...[image] 由于 JSSDK 是根据域名来赋予 api 权限的,运营人员封了一个域名后,他们立马用别的域名又继续做坏,注册一个新的域名的成本是很低的。...这利用了 web 中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。通常的罪魁祸首则是浏览器的 cookie 登录态。

    2.8K50

    iOS防止在WKWebView中打开Universal Link

    当用户安装您的应用程序时,iOS 会检查存储在Web服务器上的文件,以验证您的网站是否允许您的应用程序代表其处理URL 公众号:iOS逆向 https://developer.apple.com/library...com.apple.wwdc", "paths": [ "*" ] } ] } } 文件为json保存为文本即可 你的域名必须支持...Https 域名根目录下放这个文件apple-app-association,不带任何后缀 第一章节先来看看如何防止在WKWebView中打开Universal Link,如果你对如何获取Universal...Links内容请看https://kunnan.blog.csdn.net/article/details/119773640 iOS 创建 Universal Links III、h5唤起微信app支付...3.1 配置QueriesSchemes 白名单 按照微信文档配置以后,如果微信 Universal Links 部分没有问题,但是调起来。

    3K30

    记录下关于微信h5支付那点事儿(百分之80拷贝官方)

    微信H5支付简介 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。主要用于触屏版的手机浏览器请求微信支付的场景。...用户在微信支付收银台完成支付或取消支付,返回商户页面(默认为返回支付发起页面) 7、商户在展示页面,引导用户主动发起支付结果的查询 8,9、商户后台判断是否接到收微信侧的支付结果通知,如没有,后台调用我们的订单查询接口确认订单状态...private static final String WX_H5_PAY_TEST_URL = "http://wxpay.wxutil.com/mch/pay/h5.v2.php"; // 支付域名...(公司申请H5的域名) private static final String AY_WX_H5_DOMAIN_URL = "http://wxpay.wxutil.com"; @Override...chapter=15_1; 如何监听WebView完成加载URL: https://stackoverflow.com/questions/3149216/how-to-listen-for-a-webview-finishing-loading-a-url

    2.2K30

    iOS 解决微信h5支付无法直接返回APP的问题

    由于公司的业务需要,为了节省申请开通微信支付的时间和人力,公司决定使用微信h5支付。这样即节省了时间,同时以后所有的APP都能使用h5支付,既方便又快捷。...但是真正做的时候问题来了,当你支付成功之后或者是取消支付的时候会跳转到Safari浏览器,这就很尴尬了,完全无用户体验啊。当时看着Android可以直接返回到APP,心里瞬间不爽了。...- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType...self.myWebView loadRequest:request]; }); }); return NO; } } 这个http://www.xxx.com就是你们商户申请H5时提交的授权域名...- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType

    71930

    校园管理小程序 宿舍教室报修维修 图书借阅 校园新闻公告 校园论坛 表白墙 失物招领 饭卡充值 投票 云开发 数据库 维修小程序

    1-1小程序端 登录页 注册页 首页 校园资讯 新闻详情 校园论坛 校园表白墙 失物招领 帖子详情和评论 个人中心 宿舍教室维修报修 填写信息 我的维修订单 饭卡充值 支付...可选择充值金额,由于我们这里没有开通微信支付,所以这里是模拟支付,如果想实现微信支付,需要用营业执照注册一个企业小程序,并且要开通微信支付。...如果想实现真实支付,可以找石头哥定制改造。 充值记录 校园官网 我们这里校园官网是用webview实现得,所以需要是企业小程序,并且要在小程序里配置相关域名。...其实也是有方法的 第一种方式:在模拟器里打开 这里只要勾选校验合法域名,就可以在电脑模拟器上看到校园官网 第二种方式:在手机上打开,开启调试模式 这里同样需要按上面第一种方式那样勾选 校验合法域名

    24920

    微信小程序基础架构浅析

    JS-SDK 发布 2015 年初,微信发布了一整套网页开发工具包,称之为 JS-SDK,开放了拍摄、录音、语音识别、二维码、地图、支付、分享、卡券等几十个 API。...并利用 JS-SDK 的分享能力变相的去裂变分享到各个群或者朋友圈,由于 JS-SDK 是根据域名来赋予 api 权限的,运营人员封了一个域名后,他们立马用别的域名又继续做坏,要知道注册一个新的域名的成本是很低的...渲染层接收到后,WebView JS 线程会对脚本进行编译,得到待更新数据后进入渲染队列,等待 WebView 线程空闲时进行页面渲染。...具体流程大致如下: 把 JSX 代码解析成 javaScript 代码 读取 JS 文件,并利用利用 JS 脚本引擎执行 返回一个数组,数组中会描述 OC/Java 对象,描述对象属性和所需要执行的方法,这样就能让这个对象设置属性...小程序选择 React Native 原因 据小程序开发人员告知的原因如下: React Native 只支持 CSS 的子集,作为一个开放的生态,需要告知开发者哪些 CSS 属性能用,哪些不能用,这样的开发体验较差

    2.8K20

    EasyWeChat初体验

    composer require overtrue/wechat:~3.1 -vvv 在框架中使用 EasyWeChat 是一个通用的 Composer 包,所以不需要对框架单独做修改,只要支持 Composer 就能直接使用...正确的【支付授权目录】应以 http:// 或 https:// 开头,并以正斜杠 / 结尾,授权目录所包含的域名必须经过 ICP 备案。 支付授权目录需细化至二级或三级目录。...如果需要使用 JSAPI 调起支付功能,则支付目录必须也在所配置的安全域名之下,并且需要将支付目录添加至支付授权目录。...最常见的两种情况就如下: 确认你 “启用” 了开发模式, token 验证通过代表启用,保存后也代表启用。看到红色 “停用” 才真正的是启用了。...请开发者理解服务器 TOKEN 验证原理(官方文档有说明)并谨记服务器验证时使用 GET 方式访问,而公众平台向你的服务器发送消息/数据则使用 POST 方式,所以服务器验证成功之后,在某些启用了 CSRF

    3.8K70

    微信小程序避坑指南

    小程序包的大小限制 目前小程序分包大小有以下限制: 整个小程序所有分包大小超过 8M 单个分包/主包大小不能超过 2M 6. wafer2-clien-sdk的wxTunnel.js中void(0)...用小程序内嵌webview支付package值丢失 在webview内跳转到小程序传递支付参数时,注意package字段 var data = [ 'timeStamp=' + data.timeStamp...如果webview前后的URL不一致,则从小程序B跳转到webview,点击左上角会先返回最初的webview,然后再返回小程序A页面 Q&A:webview登录态问题 传小程序的skey到webview...27. websocket问题 体验版支持ws协议,需要打开调试模式 如果websocket是连接的域名非IP地址,则不能通过连接代理更改电脑的host来指定socket域名的解析地址 如果有测试环境,...建一个专有的测试环境websocket域名 2. 直接使用测试环境的IP地址访问websocket 如果对小程序还不熟悉,建议先看下另一篇小程序简介

    3.2K30

    项目开发解决方案及参考文献

    [UIImage imageWithData: [NSData dataWithContentsOfURL:imgUrl]]; me.image = imageHttps; 2、配置友盟分享时关闭强制验证...https [UMSocialGlobal shareInstance].isUsingHttpsWhenShareContent = NO; 3、配置白名单,并且在info.plist文件中设置安全域名...iOS10 iOS集成友盟推送 玩转 iOS 10 推送 —— UserNotifications Framework(上) iOS 接收推送消息后跳转到某个页面(适配iOS10) 11、BeeCloud支付流程...修改工程名 xcode修改工程名 15、商品属性选择功能 iOS商品详情页面,商品属性选择功能(SKU) 16、html页面加载优化 html页面加载优化 17、UI绘制工具 QMUI IOS 18、前端webview...与原生交互 前端 WebView 指南之 iOS 交互篇 19、欢迎指南界面库 DWIntrosPage 20、自动混淆 iOS自动代码混淆专家 21、很多干货 全部干货 22、腾讯云IM接入案例 腾讯云

    99910

    微信小程序的面试题_小程序面试题汇总

    小程序的优点: 基于微信平台开发,享受微信本身自带的流量,这个是最大的优势 无需安装,只要打开微信就能用,不占用用户手机内存,体验好 开发周期短,一般最多一个月可以上线完成 开发所需的资金少,所需资金是开发原生...小程序分为两个部分webview和appService。其中webview主要用来展现UI,appService有来处理业务逻辑、数据及接口调用。...https://www.cnblogs.com/ssrstm/p/6855572.html 注册微信小程序账号 获取微信小程序的 AppID 下载微信小程序开发者工具 创建demo项目 去微信公众平台配置域名...使用webview直接加载要注意哪些事项?...小程序支付如何实现? 我们做要简单,其实我更认为是小程序只有1M,更多的东西给后台吧 1、小程序注册,要以公司的以身份去注册一个小程序,才有微信支付权限; 2、绑定商户号。

    85740

    抖音小程序开发流程

    小程序服务类型请如实填写,相对应的类型需上传不同的服务资格证明小程序资质信息,对于企业开发者,必须提交管理员姓名、身份证号、身份证照片、企业名、统一社会信用代码、企业执照照片 填写完成后,系统会自动发验证码至申请该帐号的手机号上...获取 Appid、AppSecret 登录头条开发者平台 —— 选择需要获得的小程序;进入对应的小程序【开发】栏——选择开发; 设置服务器域名 进入小程序页面,点击开发栏,即可看到服务器域名配置区域 request...合法域名 socket 合法域名 uploadFile 合法域名 downloadFile 合法域名 企业资质的开发者可以开通 webview 域名「必须通过域名校验」 开通支付 登录开发者平台,进入小程序详情页...,点击【支付】,企业资质通过后可申请开通支付。...安全域名必须为 https:// 目前的审核是基于双端审核,即头条端和抖音端,若只需上线一端,请在更新日志中备注清楚,方便加快审核速度。

    3.1K20

    微信小程序设置web-view的业务域名

    效果 用ftp上传文件验证域名的所有权 登录官方小程序后台,选择设置,选择开发设置,中间有个业务域名,添加业务域名后,小程序才能调用组件打开限定域名内的网页. ?...属性名 类型 说明 src string webview 指向网页的链接 bindmessage EventHandler e.detail = { data } bindload EventHandler...效果 内嵌网页(webview)-设置权限 ? 效果 点击“开始配置”按钮,弹出一个窗口,添加一个或多个你要在小程序中访问的域名....并不是随便一个备案过的https就可以的,并不是所有域名都可以访问,有的是需要在这个窗口里下载“校验文件”,并把这个校验文件上传到你的网站的根目录,供小程序平台进行验证,只有通过了,才能添加域名成功(验证通过后才能配置成功...校验文件验证失败,请下载校验文件,上传到服务器指定的目录.

    8K20

    小程序支持跳转网页会带来什么影响

    2日,iphone X 发售的前一晚,微信小程序发布了一个重量级的更新: 小程序内嵌网页能力开发 使用教程很简单: 到mp.weixin.qq.com登录小程序号,并进入“设置”-“开发设置”-“业务域名...然后小程序中就可以使用web-view标签就能实现对网页的展示。 <!...的方式拉起第三方app) 再来看看“小程序webview”和“现有微信webview”的区别: 从小程序产品逻辑看,最关键的区别在于域名的限制: 1)每个小程序帐号仅支持配置最多20个域名; 2)每个域名仅支持绑定最多...20个小程序 3)每个小程序一年内最多支持修改域名50次 限制了域名数量以及域名和小程序之前的绑定关系,目的在于限制跳转范围,意思是:并不是像现有微信webview中的网页那样能在页面中随意跳转到任意网页...这个可以让用户把当前webview所在的内页分享出去,然后其他用户点击这个分享链接时,小程序内能从新拿到这个webview的src值,实现webview再一次展示。

    2.4K120

    Google年度安全报告--8大潜在的恶意程序

    这些应用程序禁用Wi-Fi以强制流量通过用户的移动数据连接,然后联系命令和控制服务器动态获取试图绕过网络WAP服务订购验证步骤的代码。...这种类型的PHA通过WAP计费(通过移动数据连接起作用的支付方式)将他们的滥用货币化,并允许用户使用其现有账户轻松注册并支付新服务(即,服务由运营商直接支付,而不是服务提供商;用户不需要新的账户或不同的支付形式...一旦验证被绕过,JamSkunk应用程序会将设备注册到用户可能不会注意到的服务中,直到他们收到并阅读他们的下一个帐单。...启动后,Expensive Wall应用连接到命令和控制服务器以获取域名。...然后通过加载网页的Webview实例联系该域,并执行调用Java方法的JavaScript代码来撰写和发送高级SMS消息或在用户不知情的情况下点击广告。

    1.4K80

    基于koa实现的微信JS-SDK调用Demo

    JS安全域名 # koa项目开发 微信JS-SDK权限验证的签名必须在服务器端实现,签名用的url必须是调用JS接口页面的完整URL,所以这里决定用koa来同时完成页面渲染及生成签名所需验证配置。...}); error接口处理失败验证 wx.error(function(res){ //config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug...> <a class="label_inner" href="#menu-<em>webview</em>...所有的JS接口只能在公众号绑定的<em>域名</em>下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全<em>域名</em>”。 * 2....,可以基于这个<em>域名</em>做穿透服务来访问我们本地koa项目,添加公网端口映射本地koa项目的端口(这里的例子是4000),然后浏览器访问JS接口安全<em>域名</em>即可看到 Demo 页面 使用微信打开JS接口安全<em>域名</em>即可测试使用

    5K30

    App全面备案规则下,混合应用是出路

    网站 ICP 备案已施行了很久,我们也非常清楚必须在进行 ICP 备案后,网站才能在大陆范围合法运营,并且用户可以通过域名正常访问网站。...开发模式选择从我的角度思考,以后 App 热更新能力会成为一个必选项,而热更新又有两条路子可以走:1、混合应用Webview 加载网页做 Hybrid 混合应用,其实也就是大家比较熟知的「原生+ HTML5...二是这个模式已经在微信、支付宝等超级 App 已经验证过,确实这类轻量的技术会在热更新上更加灵活,只需要配合管理后台的上下架就能实现。...主要的过程包括加载、验证、准备、解析和初始化。当然这个机制会比上面的更加复杂一些,整体的内容也会比较系统,这里就不作过于深入的介绍,感兴趣的同学们可以进一步查询相关的知识点介绍。

    28540
    领券