Estoy tratando de prohibir el acceso a https://example2.com sin acceder primero a https://example1.com .
Solución #1. Entonces, mi solución inicial es verificar $_SERVER['HTTP_REFERER'] de example2.com ,
if ($_SERVER['HTTP_REFERER'] != "example1.com") { redirect to example1.com }; pero la solución anterior no funcionará para los piratas informáticos, ya que solo pueden usar javascript o python para agregar el elemento <a href="example2.com"> en el example1.com y luego hacer clic automáticamente en la etiqueta <a> para que el navegador sepa que el referente es de example1.com.
Solución #2. Mi segunda solución es enviar datos POST desde ejemplo1.com a ejemplo2.com. Como esto:
<form method="post" action="example2.com"> <input id="autoSubmit" name="veri" value="DoNotCheatPleaseWeWillBanYouGodIsWatchingYouHaveMercy"> </form>luego en ejemplo2.com
if(htmlspecialchars($_POST['veri']) != "DoNotCheatPleaseWeWillBanYouGodIsWatchingYouHaveMercy"){ header('Location: example1.com'); die(); } En el código anterior, si accede directamente a example2.com, lo redirigirá a example1.com. Por lo tanto, los piratas informáticos no pueden agregar este elemento de etiqueta en example1.com: <a href="example2.com">
pero nuevamente, la solución #2 también fue un fracaso ya que cualquier hacker puede agregar un elemento de formulario en el primer sitio web (example1.com) usando javascript o python. <form method="post" action="example2.com"><input id="autoSubmit" name="veri" value="DoNotCheatPleaseWeWillBanYouGodIsWatchingYouHaveMercy"></form>
No tengo ideas, incluso si combino ambos (Enviar POST y Verificar referencia), los piratas informáticos aún pueden acceder a mi otro sitio web directamente. Estoy pensando en enviar sesiones de PHP o cookies a example2.com pero todavía no puedo hacerlo o tal vez no sea posible. Si tienen alguna idea, por favor compartan. Gracias.