如何从电报中检测用户 http-referer

How to detect user http-referer from telegram

我想通过 php

检测来自我的电报组(内联链接)的用户

但是服务器没有returnHTTP_REFERER

怎么可能

referer 是一个客户端 header 您不能确定它的集合。如果您想检查用户来自电报应用程序,则不会出现引用者,它是另一个应用程序,并且请求是由浏览器或其他任何东西创建的。

referer 是由浏览器为链接创建的,并且仅用于相同的协议。 http -> https 不起作用。

你不能依赖那个引用者 header 所有 header 都是客户端。只需为您网站的链接使用不同的地址。如果您将链接传播到电报,则预设参数。

我通过在 URL

末尾添加 ?telegram=1 解决了这个问题

然后我可以从电报频道检测用户

创建不同文件名或创建子域的另一种方法!

tg.example.com/[MY-QUERY]

https://telegram.me/BOT_USERNAME?start=USER_ID

id=message.text.replace('/start ','').split(" ",1)[0]
fv.open('./id/' + str(id) + '/referal.txt', 'a').write(str(chat_id) + "\n") 
r=fv.open('./id/' + str(id) + '/referal.txt', 'r').read().split("\n")
l=len(r)
bot.send_message(chat_id, "Your ball: " + str(l))