分类目录归档:ASP

ASP 和 PHP 文件操作速度的对比

最近一个项目中,有一个读取某个文件夹下所有文件的功能。使用了ThinkPHP + layui,本地测试没有问题,到客户哪里发现速度奇慢,需要10秒以上才能读取完毕。 经沟通发现一个文件夹有1000+ 个文件,客户之前有一套asp的老系统,1000多个 文件也能实现秒开。。。

一时竟然没有头绪,难道 PHP 不如 ASP快 ??因为项目中代码太多,编写单独的代码测试。files/1000目录存放了 1428个文件测试。

继续阅读

多项目 函数库、类库 统一为一个版本的方法 – one.asp

前几天 写的博客 多项目 函数库、类库 统一为一个版本的方法(http://www.okfdzs844.icu/p/one-php)中提到 使用 one.php 将整个项目打包成 一个 php 文件,有网友 让我 整个asp版本的,今天下午抽空写了个 one.asp,使用方式基本一致,这次 增加了路径计算的功能,可以引用不同路径。

继续阅读

客户端伪造 cookie 的方法和防范

一个朋友有个很古老很古老的网站,使用了asp搭建,流量还很大,最近测试了下 WEB园,性能提升很大。需要改 session 为 cookie 方式保存 会话信息,让我给提 安全方面的建议。

实际 Session 和 Cookie 除了保存状态,安全方面都差不多。唯一需要注意的就是 不要 通过 cookie 保存 用户敏感信息(比如密码),防止中间人获取信息。密码加了md5也不安全,因为还有cmd5.com。另一个需要注意的就是 用户 可以通过 js 伪造 cookie信息。

以下面的例子为例: 继续阅读

ASP微信支付 使用说明

注意:无论 PC、手机、还是微信内部,提交订单都通过点击PC支付按钮,程序会根据运行的环境自动调用对应的系统(C、手机、微信内部)。

支付类型 PC开源版 H5支付版 JSSDK/JSAPI支付版 小程序版
PC网站扫码支付 支持 支持 支持 支持
H5支付(手机浏览器) 不支持 支持 支持 支持
JSSDK/JSAPI支付(微信内部) 不支持 不支持 支持 支持
小程序支付 不支持 不支持 不支持 支持
是否收费 免费开源 捐赠158元获取源码 捐赠168元获取源码 捐赠188元获取源码

1、微信PC版本设置说明

1.1、配置文件修改说明

在 /order/payconfig.asp 中修改支付参数即可,记得把前边的 ‘ 给删掉哦~

	'设置支付参数,也可以直接修改 WeChatPay.asp,不建议
	'pay.AppID       = "AppID"
	'pay.AppSecret   = "App密码"
	'pay.MchID       = "商户ID"
	'pay.MchKey      = "商户API密钥"
	'pay.notifyUrl   = ""	'notifyUrl不指定,则会自动根据当前环境判断

1.2、在哪里下载支付证书?

登录商户平台(http://pay.weixin.qq.com),找到账户设置 -> 密码安全 -> API安全 -> 下载证书(图上方框圈错了)

详细操作步骤可以参考微信官方教程:http://kf.qq.com/faq/161222NneAJf161222U7fARv.html

1.3、怎么安装 微信支付证书?

查看 微信支付证书 安装说明

1.4、在哪里找AppSecret?

登录服务号后台(http://mp.weixin.qq.com),登录后,在页面底部左侧找到 开发 -> 基本设置,进入基本设置页面后。可以看到 开发者ID(AppID) 和 开发者密码(AppSecret),点击重置,扫码后可以看到 AppSecret。如果需要 JSSDK/JSAPI支付,还需要在下面 IP白名单中 增加上 您的服务器的 IP地址。

1.5、在哪里找商户秘钥?

登录商户平台(http://pay.weixin.qq.com),找到账户设置 -> 密码安全 -> API安全 -> API密钥

设置API密钥,把在微信后台复制的参数填写进去即可

1.6、扫码后不显示验证码怎么办?

之前使用了 微信提供的二维码页面,现在微信已经删除 此页面导致。
如果是最新的源码,按F12 打开 开发者工具,切换到 Network 选项,点击 XHR,重新刷新页面,会看到 wxapi.asp 的请求,点开后可以看到 返回信息。errMsg 就是错误的原因

1.7、扫码后无反应怎么办?

按F12 打开 开发者工具,切换到 Network 选项,点击 XHR,重新刷新页面,会看到 wxapi.asp 的请求,点开后可以看到 返回信息,查看状态一直是 {status:false}。

因为微信支付的 服务器 无法 连接到 您的服务器。支付成功后,需要微信服务器给你 发送通知,才可以改变订单状态。

2、H5支付

2.1、什么是 H5 支付?

H5支付,是 在手机浏览器中的支付

2.2、怎么申请开通 H5支付?

进入微信支付后台,打开 产品中心,找到 H5支付,点击开通就可以了。

2.3、H5支付 设置说明

进入微信支付后台,打开 产品中心。在我的产品或 开发设置中,找到 H5设置,填写 支付的域名就可以了。

3、JSSDK/JSAPI 支付

3.1、什么是 JSSDK/JSAPI 支付?

JSSDK/JSAPI 在微信内部会直接弹出支付。

3.2、怎么申请 JSSDK/JSAPI支付?

进入微信支付后台,打开 产品中心,找到 JSAPI支付,点击开通就可以了。

3.3、JSSDK/JSAPI支付 设置说明

需要设置两个地方,在微信服务号后台 和 微信支付后台分别设置:

3.3.1、微信服务号后台:

在页面底部左侧找到 开发 -> 基本设置,进入基本设置页面后。在下面 IP白名单中 增加上 您的服务器的 IP地址。

在页面底部左侧找到 开发 -> 接口设置, 找到 网页授权,点击修改。

修改 对应的 JS接口安全域名 和 网页授权域名 为 微信支付的网址

3.3.2、微信支付后台后台:
进入微信支付后台,打开 产品中心。在我的产品或 开发设置中,找到 公众号支付 设置,填写 支付的支付路径就可以了(注意:精确到路径,比如支付订单:http://wechatpay.demo.miaoqiyuan.cn/order/pay.asp?order_no=201941115939934,需要填写:http://wechatpay.demo.miaoqiyuan.cn/order/)。

 

4、小程序支付 支付

4.1、小程序实现原理

通过小程序 WebView (必须认证后可用),可以实现将手机网站嵌入 小程序。

客户点击支付时,程序判断再 小程序中运行,如果在小程序中运行会通过 JSSDK 跳转到 小程序版 的支付页面( /pages/pay/pay )完成支付。支付成功后会返回 WebView(即你的手机站),通知客户支付成功。

4.2、小程序上传说明

4.2.1、服务器端程序:修改配置文件(小程序的配置文件,注意备份 )

	set pay = new WeChatPay
	
	'设置支付参数,也可以直接修改 WeChatPay.asp
	pay.AppID       = "AppID"
	pay.AppSecret   = "App密码"
	pay.MchID       = "商户ID"
	pay.MchKey      = "商户API密钥" '在 微信支付后台 \ 帐户中心 \ API安全,设置 API密钥 中设置
	pay.CertName    = "MMPay" '如果本服务器只有一个站点使用微信支付,无须修改。部署多套请参考:http://www.okfdzs844.icu/p/winhttpcertcfg-mmpay
	'pay.notifyUrl   = ""	'notifyUrl不指定,则会自动根据当前环境判断,如果修改了路径,必须修改
	if IS_APP or Request.QueryString("client") = "wxapp" then
		pay.AppID     = "小程序AppID"   '小程序appid
		pay.AppSecret = "小程序密匙"   '小程序密匙
	end if

比其他版本多了下面最后4行代码,也可以不替换,将最后四行代码复制到 其他版本 payconfig.asp 的底部即可。

	if IS_APP or Request.QueryString("client") = "wxapp" then
		pay.AppID     = "小程序AppID"   '小程序appid
		pay.AppSecret = "小程序密匙"   '小程序密匙
	end if

 

4.2.2、小程序部署:

4.2.2.1、首先需下载 微信开发者工具

下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

4.2.2.2、通过 微信开发者工具 导入源代码

输入小程序名称和申请的APPID,选择 小程序所在的目录(小程序版本压缩包中的 /app/ 目录为小程序目录)

4.2.3、修改配置文件 /pages/pay/config.js

按代码注释,修改:网站名称、网站首页、小程序接口、下单接口

网站名称:你的网站名称,用于加载您的网站首页前再标题栏显示

网站首页:你的网站名称,用于加载您的网站首页前再标题栏显示

小程序接口:用于实现小程序用户登录等。位于您的安装目录下的 wxapp.asp

下单接口:用于实现下单,返回支付信息。位于您的安装目录下的 wxapi.asp

export default {
  //网站名称
  title:'网站名称',
  //网站首页
  home: 'http://wechatpay.demo.miaoqiyuan.cn/order/',
  //小程序接口
  appApi: 'http://wechatpay.demo.miaoqiyuan.cn/order/wxapp.asp',
  //下单接口
  orderApi: 'http://wechatpay.demo.miaoqiyuan.cn/order/wxapi.asp',
}

4.2.4、在 微信开发者工具 右上方 点击 上传,按提示上传代码后,到小程序后台提交审核

等待审核通过后,就可以使用了。

Adodb.Stream 实现 ASP多线程下载大文件

有个朋友 做 某种小众音乐交换站的(他们那个行业的昵图网),需要用到付费下载。尝试过 防盗链,不太理想,最终使用了 Adodb.Stream 读取,直接输出。

解决了 盗版的问题,但是新的问题又来了。Adodb.Stream 这种方式 电脑还好说,大部分电脑浏览器都支持。移动端 很多 浏览器为了 加速读取,会多线程下载导致 文件无法正常读取。

抓包,发现增加了 HTTP头 HTTP_RANGE。隐约记得 之前读过 王大(王洪影)的 《深入解析 ASP核心技术》当中提到ASP多线程下载的问题,回家翻出来,最终还就真解决了。

为了 方便调用,直接写成了 一个 函数。没用王大的代码,感觉我自己的更美(自恋中…)。如有有需要的朋友需要,直接拿走即可,代码如下: 继续阅读