Page tree
Skip to end of metadata
Go to start of metadata

Utilidades

Aceptar só peticións nunha URL determinada

Os espazos web son accesibles a través de varias URLs:

Por diversos motivos (por comodidade, para simplificar o acceso, etc.), o usuario pode querer acceder só por unha de elas.

Un xeito sinxelo de facer esto, e redirixir todas as peticións a http://usuario.webs.uvigo.es, é poñer, nun arquivo .htaccess na raíz do sitio web (dentro do directorio public) un arquivo similar ó seguinte (substituíndo "usuario" polo seu usuario web):

.htaccess
  RewriteCond %{HTTP_HOST} =usuario.webs2.uvigo.es
  RewriteRule ^(.*)$    http://usuario.webs.uvigo.es/$1 [L,R=301]

  RewriteCond %{HTTP_HOST} ^(webs([0-9]+).uvigo.es|webs.uvigo.es)$
  RewriteCond %{REQUEST_URI} ^/usuario/
  RewriteRule ^/usuario/(.*)$    http://usuario.webs.uvigo.es/$1 [L,R=301]


Limitar acceso a páxinas web (.htaccess)

Arquivo .htaccess

Para limitar o acceso a unha ruta no servidor web pódese facer incluíndo un arquivo de nome ".htaccess". Se non se indica expresamente limita o acceso á carpeta na que está ubicado e a todas as que estén por baixo de ela. Pode terse un arquivo de este tipo en calquera carpeta do seu espazo web.

O contido é similar ó seguinte:

.htaccess
AuthType Basic
AuthName "Zona Restrinxida"
AuthUserFile "/var/www/vhosts/usuario/private/.htpasswd"
Require valid-user

Arquivo .htpasswd (contrasinais e usuarios)

O arquivo .htpasswd (AuthUserFile) é un arquivo que contén os usuarios e contrasinais aceptados para o acceso a esta páxina web.

(info) Compre que en "AuthUserFile" indique a ruta do arquivo .htpasswd de xeito absoluto, como: /var/www/vhosts/usuario/private/.htpasswd (esta é a ubicación que recomendamos para este arquivo).

Ten un formato do tipo:

usuario1:$1$TxjLW0lq$G3THdh2ZxuQxxXM3awSP3.
usuario2:$1$0QtBsYvb$kwVA8UyJn37gV8h6JXH5T1

Onde o primeiro campo son os usuarios admitidos (usuario1, usuario2, ....) e o segundo un "hash" do contrasinal. Este arquivo pode crearse coa utilidade "htpasswd" ou directamente creando o "hash" md5 do contrasinal elexido.

  • Empregando htpasswd

    @
    htpasswd -b  .htpasswd usuario3 o-meu-contrasinal
  • Empregando mkpasswd para crear o contrasinal

    @
    mkpasswd -m md5 o-meu-contrasinal

Recomendacións

  • (info) A ubicación do arquivo .htpasswd é recomendable que esté fora do espazo publicado (public), a tal efecto pode ubicarse dentro da carpeta "private" no seu espazo web
  • (info) Pode indicar que restrinxe o acceso só a un usuario ou a uns usuarios específicos nunha ubicación, indicando:

    AuthType Basic
    AuthName "Zona Restrinxida"
    AuthUserFile "/var/www/vhosts/usuario/private/.htpasswd"
    Require user usuario1 usuario2

Redirixir o espazo web a outra ubicación

Se desexa que o seu espazo web se redirixa a outra ubicación, por telo migrado a un sitio externo, por exemplo:

Debe, na raíz do espazo publicado (directorio public ), engadir un arquivo .htaccess co contido

Redirect / https://usuario.dominio.com

Se a redirección e permanente , pode modifiar esta configuración, indicando

Redirect permanent / https://usuario.dominio.com


Execución periódica de tarefas (cron)

Pódense executar tarefas periódicas (cron) coas seguintes limitacións:

  • Só scripts en php
  • Executaranse coas mesmas limitacións que o resto da aplicación
  • Deben de estar ubicadas nos directorios

    DirectorioDescrición
    cron/hourlyTarefas executadas cada hora
    cron/dailyTarefas executadas cada día
    cron/weeklyTarefas executadas cada semana
    cron/monthlyTarefas executadas cada mes

Erros comúns

As variables dun formulario aparecen como vacías

A partir de PHP 5.4 non se acepta xa a recollida de variables de formularios HTML mediante variables globais de PHP ("register_globals"), polo que un códgo como o seguinte non serve para recoller unha variable dun formulario:

[...]
<input type="text" name="variable1">
[...]
<?php  
  [...]
  global $variable1 ;
  [...] 

No seu lugar é preciso recoller de xeito explícito a variable:

<?php
  [...]
  // Se e con GET
  $variable1 = $_GET['variable1'] ;
  // Se e con POST
  $variable1 = $_POST['variable1'] ;
  [...]

Algúns navegadores non aceptan as "cookies" do sitio

Se o usuario contén o caracter "_", algúns navegadores (en concreto Internet Explorer, pero pode pasar con outros) non aceptarán as cookies, o que pode provocar problemas na navegación dos usuarios. A solución é empregar ou solicitar un usuario distinto, ou modificar o usuario para que non conteña o caracter "_" (algo que recomendamos) ou solicitar un nome (host virtual) alternativo que permita acceder sen este caracter no nome do sitio.

Despois dun cambio de contrasinal para o acceso a base de datos aparece un erro en phpmyadmin

(info) É preciso pechar a sesión en http://portal.webs.uvigo.es e voltar a abrila, o máis sinxelo é pechar o navegador que esté empregando.


  • No labels