Myslím, že zde máte dva problémy:
-
Mít obsah „indexovaný“ pro dialog sdílení na Facebooku nebo přímé sdílení URL na FB
-
Umožnit uživatelům přístup na chráněný web, pokud kliknou na sdílený odkaz.
Řešení, která bych navrhoval, jsou:
- Kontrola řetězce User Agent. FB použije řetězec agenta, který obsahuje
facebookexternalhit/1.1
Uvědomte si, že toto mohou snadno zfalšovat i jiné strany. - Kontrola, zda referrer obsahuje
www.facebook.com
pokud uživatelé přijdou na váš web neověření
Viz