Para o meu site ASP.NET MVC, quero permitir o acesso a uma determinada página, só se o usuário vier de um link em outra página específica (essa página pode ser de um URL completamente diferente).
Exemplo:
Eu quero permitir que um usuário acesse www.MySite.com/thispage, só se eles vêm de um link no www.MySite.com/thatpage ou www.MyOtherSite.com/thatpage
Como pode ser isto alcançado?
Respostas:
3 para resposta № 1Você vai querer verificar o HTTP_REFERER cabeçalho
Você pode fazer isso com
Request.UrlReferrer
Dito isto, isto não é real segurança. Alguém poderia definir o cabeçalho de referência do navegador manualmente.
Se isso é apenas um meio de impedir o hotlinking,está tudo bem. Mas se você está apenas usando isso para manter as pessoas longe de informações privadas / seguras, você vai querer implementar alguma forma real de autenticação / autorização.
0 para resposta № 2
Você pode restringi-lo com o Referer, no entanto, isso pode ser facilmente manipulado por isso, se isso é muito importante para você ... eu iria outra rota.
O que você pode fazer é usar.htaccess para impedir que o link de referência recebido chegue ao seu site. Você pode negar o tráfego de entrada do site ou link em questão completamente. Ou talvez você simplesmente redirecione ou encaminhe o tráfego de entrada do site ou vincule a outro local.
Isso pode ser aplicado a qualquer site da Web com .htaccess, desde que seu host tenha o mod_rewrite ativado.
Se você estiver usando o Dolphin e ele estiver instalado em seu diretório root / main / http docs / public_html, você deverá adicionar: yoursite () com / .htaccess
Se você estiver usando o Dolphin e ele estiver instalado em uma subpasta / subdiretório, adicione a: yoursite () com / dolphin-directory / .htaccess
Adicionar ao arquivo .htaccess após a linha RewriteEngine on like:
RewriteEngine on
RewriteCond% {HTTP_REFERER} baddomain.com [NC] RewriteRule. * - [F]
Para encaminhar ou redirecionar o tráfego do site indesejado ou vincular a outro local, adicione:
RewriteEngine on
RewriteCond% {HTTP_REFERER} baddomain.com [NC] RewriteRule. * http://en.wikipedia.org/ [R, L]
Nota: -Alterar a linha RewriteCond: baddomain.com para o link ou site que você deseja evitar. -Alterar a linha RewriteRule: http://en.wikipedia.org/ ao link ou site para o qual você deseja redirecionar ou encaminhá-lo.
- Certifique-se de baixar e fazer o backup do arquivo .htaccess original antes de editá-lo. O Htaccess é extremamente sensível e precisa estar exatamente correto, ou pode eliminar todo o erro do site.
--- E certifique-se de testar depois para garantir que tudo esteja funcionando corretamente. Você não quer bloquear acidentalmente todo o tráfego para seu site.
Você pode sempre acompanhar os sites que eles visitam, como as grandes agências, portanto, bloqueá-los se eles não estão vindo de sua utopia :)