小程序
小游戏
企业微信
微信支付
扫描小程序码分享
请问一下,后台如何判断请求是来自小程序呢?
10 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
不可能做到真正的反爬虫的,像前面的人说的一样,抓个包,你长什么样,我就能伪装成什么样。所有的反爬虫技术,只能提高一些爬虫的门槛,让爬虫成本变高。比较好的就是加密,但是要在前端解密,最近大家也看到我们的代码是怎么被反编译的,有了代码,你在前端怎么解密也是都知道的。一切反爬虫,只是提高了爬虫门槛。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
在请求 url 的 querystring 里加参数
好的,谢谢。
小程序调用wx.login,拿code到后端去验证,能换到openid的就认可
header里的这个属性是不可更改的,可以用这个判断,豆瓣就是这样封掉了小程序发来的请求,害我还要设置代理转发
可以在header中,加一个自定义的header:
wx.request({
url: `${globalData.host}${url}`,
header: {
isWeixin:
'true'
}
)
真心希望官方提供一个接口,这个方法太挫败了。就算入口的链接加一个,其他地方都好加吗?会导致原有系统很乱
反爬虫用这方法有毛用 抓个包什么都看到了 。。。
谢谢,求助小程序如何反爬虫的思路
确实,在手机上开代理,用抓包工具,就可以看到,反爬,个人觉得还是有点麻烦的
只要是暴露在公网的请求就没办法规避的,可以把参数和时间戳一起加密,后端根据时间戳判断接口的时效性,再者就是限制 IP 的访问频率 或者用户 ID 的访问频率等
关键是小程序源码谁能看到,加密有什么用?
我没有专门针对小程序说,我只是说一般反爬虫的做法,OK?
request header里面设置一个自定义字段更佳
谢谢你,下午我研究下。
不用研究,我直接告诉你,wx.request里面有个header可以设置一个对象,{'from-wxapp': '特殊标识值'},后端可以获取到这个header里面from-wxapp字段的值,根据这个值,后端就可以知道是从小程序来的
n你试过了吗?可以吗?我也有这个需求
人家只需要抓包就可以看到这个了吧,然后爬虫也可以设置header啊
网络请求的 referer header 不可设置。其格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本。
referer
https://servicewechat.com/{appid}/{version}/page-frame.html
{appid}
{version}
0
devtools
谢谢,我研究下
你说的这个都知道的,可是爬虫是可以模拟referer的
爬虫只要抓包了,你的整个小程序对方都可以复制的。只能说想办法增加爬虫爬你全部内容的难度。
你好,是指插件被多个小程序使用的时候,请求来自哪个小程序?
你好,不是的,
比如后台python判断是小程序request的请求,就返回json。
如果被抓包后,用pc端请求的话,返回空。
这种方法很挫的。米有其他方法吗
直接定义一个渲染器就可以了。如:xx.json xxx.wxapp就渲染不同的格式就可以了。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
不可能做到真正的反爬虫的,像前面的人说的一样,抓个包,你长什么样,我就能伪装成什么样。所有的反爬虫技术,只能提高一些爬虫的门槛,让爬虫成本变高。比较好的就是加密,但是要在前端解密,最近大家也看到我们的代码是怎么被反编译的,有了代码,你在前端怎么解密也是都知道的。一切反爬虫,只是提高了爬虫门槛。
在请求 url 的 querystring 里加参数
好的,谢谢。
小程序调用wx.login,拿code到后端去验证,能换到openid的就认可
header里的这个属性是不可更改的,可以用这个判断,豆瓣就是这样封掉了小程序发来的请求,害我还要设置代理转发
可以在header中,加一个自定义的header:
wx.request({
url: `${globalData.host}${url}`,
header: {
isWeixin:
'true'
}
)
真心希望官方提供一个接口,这个方法太挫败了。就算入口的链接加一个,其他地方都好加吗?会导致原有系统很乱
反爬虫用这方法有毛用 抓个包什么都看到了 。。。
谢谢,求助小程序如何反爬虫的思路
确实,在手机上开代理,用抓包工具,就可以看到,反爬,个人觉得还是有点麻烦的
只要是暴露在公网的请求就没办法规避的,可以把参数和时间戳一起加密,后端根据时间戳判断接口的时效性,再者就是限制 IP 的访问频率 或者用户 ID 的访问频率等
关键是小程序源码谁能看到,加密有什么用?
我没有专门针对小程序说,我只是说一般反爬虫的做法,OK?
request header里面设置一个自定义字段更佳
谢谢你,下午我研究下。
不用研究,我直接告诉你,wx.request里面有个header可以设置一个对象,{'from-wxapp': '特殊标识值'},后端可以获取到这个header里面from-wxapp字段的值,根据这个值,后端就可以知道是从小程序来的
n你试过了吗?可以吗?我也有这个需求
人家只需要抓包就可以看到这个了吧,然后爬虫也可以设置header啊
网络请求的
referer
header 不可设置。其格式固定为https://servicewechat.com/{appid}/{version}/page-frame.html
,其中{appid}
为小程序的 appid,{version}
为小程序的版本号,版本号为0
表示为开发版、体验版以及审核版本,版本号为devtools
表示为开发者工具,其余为正式版本。谢谢,我研究下
你说的这个都知道的,可是爬虫是可以模拟referer的
爬虫只要抓包了,你的整个小程序对方都可以复制的。只能说想办法增加爬虫爬你全部内容的难度。
你好,是指插件被多个小程序使用的时候,请求来自哪个小程序?
你好,不是的,
比如后台python判断是小程序request的请求,就返回json。
如果被抓包后,用pc端请求的话,返回空。
这种方法很挫的。米有其他方法吗
直接定义一个渲染器就可以了。如:xx.json xxx.wxapp就渲染不同的格式就可以了。