我有一个php页面A,它重定向到页面B。我在页面A上有一个短链接,除非用户从短链接访问,否则我想拒绝访问A。
问题是短链接创建站点阻塞了USER HTTP_REFERER。因此,我无法判断用户是否来自页面A中的短链接。
因此,用户只需编写页面A的url,就可以重定向到页面B,而无需通过短链接。
如果用户通过url或短链接访问A,是否有避免将用户重定向到B的方法或想法?
发布于 2021-01-19 18:33:55
问题是短链接创建站点阻塞了USER HTTP_REFERER。因此,我无法判断用户是否来自页面A中的短链接。
“短链接创建站点”可能没有阻塞任何东西。当一个URL被直接输入到浏览器中时,就没有Referer
了。3xx重定向不会创建Referer
。
如果用户手动键入Referer
,则“页面B”无法确定请求是从“页面A”重定向还是从短链接重定向,因为开始时不存在URL。确定重定向源的唯一方法(在“B”处)是在重定向URL中附加了“页面B”可以检查的内容。例如:良性查询字符串:?redirect=shortlink
。
另见:标题中的双重重定向引用
如果用户通过url或短链接访问A,是否有避免将用户重定向到B的方法或想法?
检查请求的URL?
https://webmasters.stackexchange.com/questions/132910
复制相似问题