És possible protegir el contingut d’un directori de manera que només aquells que vulguem hi puguin accedir.

Hi han diferents maneres de fer-ho:

Directori sub

Si creeu un directori anomenat sub, tot el contingut d’aquest directori només podrà ser accessible des de màquines amb IP de la de la UB.

Protecció amb fitxer .htaccess

El fitxer .htaccess l’haureu de crear vosaltres i es pot crear  amb qualsevol editor de textos, com per exemple la Llibreta del Windows. Has de tenir en compta que no ha de tenir cap extensió; així, per exemple, la Llibreta de Windows per defecte li posa la extensió .txt, així que hauries de renombrar-lo i deixar-lo com a .htaccess

Aquest fitxer conté un seguit de directrius de permisos i restriccions que definireu segons la vostra necessitat. Al directori on coloquem aquest fitxer, i als subdirectoris que en pengin, s’aplicarà la política de restricció o permís que es defineixi el fitxer .htaccess.

Atenció!! Algunes sol.lucions son diferents depenent de la versió de Apache en la que s’està executant el vostre espai de hostatgeria web. Per saber quina versió de Apache és podeu consultar:

https://www.ub.edu/tecnicweb/quina-versio-de-apache-sesta-executant-en-el-meu-espai-dhostatgeria/

Exemples de directrius

  • Restricció per IP:  només hi poden accedir-hi les IP 161.116.111.222 i 161.116.222.333

Apache 2.2

<Limit GET POST>
order deny,allow
deny from all
allow from 161.116.111.222 161.116.222.333
</Limit>

Apache 2.4

<Limit GET POST>
Require ip 161.116.111.222 161.116.222.333
</Limit>

  • Restricció per IP: només poden accedir-hi les IP que començen per 161.116 (IP de la UB)

Apache 2.2

<Limit GET POST>
order deny,allow
deny from all
allow from 161.116
</Limit>

Apache 2.4

<Limit GET POST>
Require ip 161.116
</Limit>

  •  Directriu que s’aplica als fitxers que compleixin un patró (en aquest cas ~ “\.pl$” correspon als arxius amb extensio .pl. En aquest cas es permet l’accés als fitxers *.pl a tohotm.

Apache 2.2

<Files ~ "\.pl$">
order deny,allow
allow from all
</Files>

Apache 2.4

<Files ~ "\.pl$">
Require all granted

</Files>

  • Directriu que permet l’accés mitjançant codi i contrasenya


AuthType Basic
AuthName "Etiqueta de la finestra d'autenticació de l'aplicació"
AuthUserFile <camí>passwords.pw
Require valid-user

El fitxer passwords.pw l’heu de crear vosaltres amb l’utilitat htpasswd.exe. i s’ha de colocar en el mateix lloc que el fitxer .htaccess.
<camí> es el camí absolut dins la màquina i per a un usuari anomenat nom_usuari prodria ser: /www/wub/nom_usuari

  • Directriu que permet l’accés mitjançant autenticació UB. L’autenticació UB és el codi i contrasenya que tots els col·lectius de la UB (PDI, PAS i alumnat) tenen i que, entre altres coses, ens permeten accedir al correu UB, intranet, ...

AuthType UB
UBAuthType mi_var (opcional)
Require valid-user o Require [user mail1 mail2…|group col1col2 …]

AuthType UB Indica que el tipus d’autenticació serà la pròpia de la UB
UBAuthType mi_var Indica amb quina dada de l’autenticació (mi_var) identificarem l’usuari. Un cop l’usuari estigui identificat, el valor per a meu_var passa a la variable d’entorn REMOTE_USER.
Els valors possibles són:

MAIL : adreça de correu @ub.edu de l’usuari UB autenticat .
DNI : dni de l’usuari UB autenticat .
UID : codi amb el qual s’accedeix a l’autenticació UB .
NIUB : número d’identificació UB de l’usuari UB autenticat.

Aquesta línia és opcional. Si no es posa, s’assumeix per defecte UBAuthType MAIL.
Cal anar amb compte a fer servir el DNI i el NIUB, ja que no s’assegura la unicitat per a diferents colectius.

Require

Indica quina és la condició requerida per accedir-hi:

  • valid-user: indica que hi podrà accedir tothom que tingui una autenticació UB correcta.
  • user valor1 valor2 …: indica que tothom que tingui el camp indicat en UBAuthType igual als valors indicats, hi podrà accedir. Es pot combinar amb l’opció group
  • (en Apache 2.2) group  grup1 grup2… : indica que només determinats col·lectius hi poden accedir. Es pot combinar amb l’opció user.
  • (en Apache 2.4) ubgroup grup1 grup1 … : indica que només determinats col·lectius hi poden accedir. Es pot combinar amb l’opció user.
    • Valors possibles de l’opció group i ubgroup (els més habituals):
  PDI : personal docent i investigador
  PAS : personal d’administració i serveis
  PER2 : personal amb perfil doble (PDI i PAS)
  PEX : personal extern (no contractat)
  FPE : codis assignats a unitats, no a persones
  CAR : càrrecs
  EST : estudiants
  ANT : antics alumnes

Exemples:

 Permís d’accés a tothom que estigui autenticat correctament a la UB.


AuthType UB
Require valid-user

El valor de la variable d’entorn REMOTE_USER és l’adreça de correu de l’usuari autenticat.

Permís d’accés a uns usuaris amb adreça de correu determinada amb autenticació UB prèvia.

AuthType UB
UBAuthType MAIL
Require user fulano@ub.edu mengano@ub.edu

El valor de la variable d’entorn REMOTE_USER és l’adreça de correu de l’usuari autenticat.

Permís d’accés a uns usuaris amb UID determinat amb autenticació UB prèvia.

AuthType UB
UBAuthType UID
Require user 3589999 23666454

El valor de la variable d’entorn REMOTE_USER és el UID de l’usuari autenticat .
Tenen permís els usuaris prèviament autenticats a la UB que tinguin com a UID 3589999 i 23666454.

Permís d’accés als membres del col·lectiu PDI amb autenticació UB prèvia.

Apache 2.2
AuthType UB
Require group PDI

Apache 2.4
AuthType UB
Require ubgroup PDI

Permís d’accés per a usuaris i col·lectiu.

Apache 2.2

AuthType UB
UBAuthType DNI
Require user 3589999 23666454 group PDI

Apache 2.4
AuthType UB
UBAuthType DNI
Require user 3589999 23666454 ubgroup PDI

Tenen permís els usuaris prèviament autenticats a la UB que tinguin els DNI 3589999 i 23666454 i que pertanyin al col·lectiu PDI .

Aquestes diferents directrius es poden combinar entre elles.

Permís d’accés a tothom des de ordinadors connectats a la xarxa UB o que estiguin autenticats correctament a la UB.

Apache 2.2

AuthType UB
Require valid-user
Order allow,deny
Allow from 161.116
Satisfy any

Apache 2.4

AuthType UB
<RequireAny>
Require valid-user
Require ip 161.116
</RequireAny>

Podeu trobar més informació