分類目錄歸檔:ASP

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

最近一個項目中,有一個讀取某個文件夾下所有文件的功能。使用了ThinkPHP + layui,本地測試沒有問題,到客戶哪里發現速度奇慢,需要10秒以上才能讀取完畢。 經溝通發現一個文件夾有1000+ 個文件,客戶之前有一套asp的老系統,1000多個 文件也能實現秒開。。。

一時竟然沒有頭緒,難道 PHP 不如 ASP快 ??因為項目中代碼太多,編寫單獨的代碼測試。files/1000目錄存放了 1428個文件測試。

繼續閱讀

多項目 函數庫、類庫 統一為一個版本的方法 – one.asp

前幾天 寫的博客 多項目 函數庫、類庫 統一為一個版本的方法(http://www.shiekolong1185.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開源版 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.shiekolong1185.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多線程下載的問題,回家翻出來,最終還就真解決了。

為了 方便調用,直接寫成了 一個 函數。沒用王大的代碼,感覺我自己的更美(自戀中…)。如有有需要的朋友需要,直接拿走即可,代碼如下: 繼續閱讀