ASIX/M17/UF3/PT1/217

De Lordwektabyte Wiki
< ASIX/M17/UF3‎ | PT1
La revisió el 11:35, 15 abr 2020 per Guillem (discussió | contribucions) (Guillem ha mogut M17/UF3/PT1/217 a ASIX/M17/UF3/PT1/217 sense deixar una redirecció: Crear subnivell ASIX)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

El hotlinking és fer referència a una imatge a la nostra web però que es demana des d'un altre servidor; de manera que si algú fa hotlinking d'una imatge del nostre WordPress, per a cada petició que rebi "l'atacant", tindrem nosaltres una petició perquè s'ha referenciat des de la nostra pàgina. Això pot suposar un increment de l'ample de banda i de les peticions que puguin commprometre la disponibilitat del nostre servidor; de manera que és interessant evitar que se serveixin arxius de la nostra pàgina des de dominis (referrers) que no siguin la nostra pròpia pàgina.

Això es pot aconseguir amb un conjunt de directives a l'arxiu .htaccess del directori base del nostre Wordpress

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wordpressm09.asix [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ https://www.unwantedwitness.or.ug/wp-content/uploads/2017/04/ERROR-404.jpg [NC,R,L]

D'aquesta manera, si jo des d'un altre servidor web faig referència a una imatge des d'aquella ruta però demanant-la des d'un domini que no correspongui al del propi servidor, mostraré una imatge d'error 404 (que, paradoxalment, faré servir hotlinking per a mostrar-la)

Faré la prova intentant mostrar una imatge des del servidor web del meu Fedora hotlinkejada des de la màquina virtual de wordpress. He creat un arxiu que serviré per la web amb el contingut

<html>
  <head>
    <title>Prova Hotlink wordpress</title>
  </head>
  <body>
    <h1>Prova hotlink</h1>
    <img src="http://wordpressm09.asix/wp-content/uploads/2019/02/cropped-abstract.jpg" alt="Prova portada hotlinkejada des de Wordpress" />
  </body>
</html>

Tot i això, amb la configuració mostrada al principi d'aquest apartat, no funciona perquè això està pensat per a dominis públics registrats en DNS de manera que, per a fer la prova, he modificat l'arxiu .htaccess per a fer-hi constar l'adreça IP en comptes d'un nom de domini que no està registrat

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://192.168.57.3 [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ https://www.unwantedwitness.or.ug/wp-content/uploads/2017/04/ERROR-404.jpg [NC,R,L]

Aleshores, si accedeixo a http://localhost per a veure la imatge de portada del meu wordpress, llançant la petició a ell, em trobo el següent

M17UF3PT1-22.png


És el resultat esperable, ja que es reescriu la petició i es deriva cap a una altra URL, en aquest cas, d'una imatge d'error 404.