Php 是否允许在社交媒体上共享受密码保护的页面?

Php 是否允许在社交媒体上共享受密码保护的页面?,php,mysql,facebook,Php,Mysql,Facebook,我有一个受密码保护的网站,用户可以在这里创建个人资料和添加照片。该网站使用PHP和Mysql存储用户数据和图片 有谁能告诉我,我如何允许用户在社交媒体(主要是Facebook)上共享一个特定页面,从而允许具有该链接的其他人查看该特定页面,并且只查看该页面,即使他们尚未在我的网站上创建自己的帐户 我不知道这是怎么做到的,所以任何建议都会非常感谢。发布的链接必须是公开的,并且没有任何密码保护,否则Facebook将无法解析打开的图形标签。如果您希望其他用户能够查看该特定页面,则需要在URL中添加一个

我有一个受密码保护的网站,用户可以在这里创建个人资料和添加照片。该网站使用PHP和Mysql存储用户数据和图片

有谁能告诉我,我如何允许用户在社交媒体(主要是Facebook)上共享一个特定页面,从而允许具有该链接的其他人查看该特定页面,并且只查看该页面,即使他们尚未在我的网站上创建自己的帐户


我不知道这是怎么做到的,所以任何建议都会非常感谢。

发布的链接必须是公开的,并且没有任何密码保护,否则Facebook将无法解析打开的图形标签。如果您希望其他用户能够查看该特定页面,则需要在URL中添加一个标志,这也将允许Facebook访问打开的图形标签

例如:
https://yourdomain.com/somelink/?facebookshare=true


如果GET参数存在,则显示页面并忽略用户授权。

我认为您在这里有两个问题:

  • 为Facebook共享对话框或FB上的直接URL共享建立内容“索引”

  • 如果用户在共享链接上点击,则允许用户访问受保护的站点

  • 我建议的解决方案是:

    • 正在检查用户代理字符串。FB将使用包含
      facebookexternalhit/1.1
      的代理字符串。请注意,其他方也可以轻易伪造该字符串
    • 检查推荐人是否包含
      www.facebook.com
      ,如果用户未经验证就到达您的网站


    没有更多信息,这个问题无法回答。如何保护页面?基于MySQL的登录系统?一个
    .htaccess
    文件?第二,有问题的页面是如何写的?密码在哪里?它如何检查用户是否已登录?它是基于会话的吗?它是基于cookies的吗?或者再次
    .htaccess
    ?共享密码,或者创建登录系统。别忘了提到这是一个巨大的安全漏洞。。。任何了解GET参数的人都可以在您的网站上使用它。这就是每个从Facebook共享打开页面的人。另外,你不能复制一个普通的链接,然后把它放在Facebook上。只有在你的网站上有一个内置的股票期权,这才有可能。谢谢,这是很有帮助的,给了我一个可能如何做到这一点的线索。