Archivo

Archivo para diciembre, 2007

Configurar PHP

viernes, 14 de diciembre de 2007 Comments off

Al instalar PHP ya sea mediante los packs appserv, xampp (explicados en post anteriores) o manualmente, la configuracion por defecto sera mas que suficiente para los usuarios normales pero los usuarios avanzados que desarrollan script o tambien si usas script pesados tendras problemas y necesitaras cambiar ciertos valores.

Las configuraciones de PHP estan en un archivo de texto, este se llama php.ini y en Windows esta en c:\windows\php.ini y en Linux no se XD

Las variables son de este tipo nombre = «valor» o nombre = yes/no/numero

Hay muchas variables pero hablare de las que puedas modificar para mejorar el funcionamiento, el resto es conveniente dejarlas por defecto.

Variables importantes

safe_mode = off

El modo seguro de PHP protege al sistema realizando validaciones adicionales en funciones de archivos (determinar si pertenece el archivo al que esta corriendo el script), y bloqueando funciones peligrosas. Sin embargo no es conveniente usar esta funcion pues entorpece el funcionamiento de ciertos script y ademas sera removida en la version 6

disable_functions = funcion1, funcion2, funcion3

Esto deshabilita ciertas funciones por motivos de seguridad, para eso ingresa cada nombre separado por coma. Si no deshabilitaras ninguna funcion deja la variable en blanco.

max_execution_time = 30

Este es el tiempo maximo de ejecucion de un script, para script normales esta bien pero si son script pesado como subidas de archivos grandes esta operacion puede fallar por eso, entonces debes incrementar este nivel.

memory_limit = 8M

Es el limite de memoria que PHP puede usar, al igual que en el caso anterior los script pesados requiere mas memoria, en phpBB3 es necesario un mayor limite para usar ciertas funciones.

register_globals = Off

Esta caracteristica registra como variables corrientes los datos enviados por el usuario como

pagina.php?var1=val1&var2=val2 resulta

$var1 = ‘val1’;
$var2 = ‘val2’;

y tambien de otras variables como $_SERVER

$REMOTE_ADDR = ‘127.0.0.1’;

Esto puede reportar un riesgo de seguridad ya que si la variable no ha sido inicializada puede ser sobreescrita por la URL, por eso esta funcion debe ser puesta en OFF y sera removida en PHP 6

Categories: PHP, Tutoriales Tags: , ,

Tomar posesion de una carpeta

martes, 11 de diciembre de 2007 5 comentarios

Es comun la situacion de: tienes una cuenta con contraseña, luego la respaldas, formateas y cuando esta todo instalado vuelves a la carpeta y te aparece el error Acceso denegado

Acceso denegado Windows XP

Ademas al abrir las propiedades de la carpeta afectada te aparece asi

Propiedades de una carpeta bloqueada

Que aparentemente esta vacia pero en realidad puede no estarlo ya que como no tienes permisos para acceder, tampoco puede hacer un conteo de lo que tiene y por eso muestra 0 bytes

Para tener acceso a la carpeta des modificar los permisos, entonces debes abrir las propiedades de la carpeta y en la ficha seguridad darte permiso, pero y si no tengo la ficha seguridad?

En Herramientas -> Opciones de carpeta -> Ficha ver esta la siguiente opcion, desmarcala

opciones de carpeta

Una vez que pones aceptar vuelves a las propiedades de la carpeta y te aparecera la ficha seguridad

Ficha seguridad de una carpeta en Windows XP

Aqui vemos que aparece solamente SYSTEM con todos los privilegios lo que significa que los demas no tendran acceso.

Pero si te aparece este cuadro antes de darte permisos debes hacerte propietario de la carpeta o tomar posesion.

Mensaje de error que no eres propietario de la carpeta asi que no puedes hacer cambios en los permisos.

Clic en la imagen para agrandarla

Y la ficha seguridad asi

propiedades2.JPG

Entonces hacemos clic en Opciones avanzadas y en la ficha Propietario hacemos clic sobre nuestro nombre y presionamos Aplicar, ahora saldra nuestro nombre como propietario, ahora presionamos Aceptar hasta cerrar todos los cuadros de propiedades.

propietario.JPG

Como los cambios no se aplican inmediatamente es necesario cerrar y luego volver a abrir las propiedades, hacemos eso y ahora tenemos las opciones habilitadas

Ficha seguridad de una carpeta en Windows XP

Asi que presionamos Agregar, ingresamos el nombre de la cuenta que estes usando, luego hacemos clic en Control Total, columna Permitir y presionamos Aceptar, ahora tendras acceso a la carpeta y todo su contenido.

permisos2.JPG

Nota: Como ves en la ultima imagen aparecen unos nombres extraños como S-1-5-21-1974661952… , esos nombres eran las antiguas cuentas en la instalacion que formateaste, si es asi puedes eliminarlos. Otro caso, como el mio es que tengo tambien Windows Vista en este PC y las cuentas que aparecen ahi son las que corresponden a ese sistema, asi que si las elimino perdere el acceso a ella y tendre que repetir el proceso en dicho SO, aunque si esta el grupo administradores al momento de entrar te aparecera el UAC.

Tutorial como cambiar la hora en SMF

domingo, 9 de diciembre de 2007 4 comentarios

Un administrador n00b de un foro SMF me pidio ayuda para configurar la hora ya que correspondia y lo estan molestando los usuarios XD

Clic en Leer mas para comenzar

Leer más…

Personalizar pagina de error HTTP 404

sábado, 8 de diciembre de 2007 5 comentarios

Una de las paginas mas visitadas es la de error 404 ya que llegan mediante enlaces caducados, errores de tipeo, buscadores con indices desactualizados, cuando los buscadores buscan el robots.txt de tu sitio o los navegadores cuando buscan el favicon.ico, pero la pagina de error predeterminada

Not Found
The requested URL /archivo/que/no/existe was not found on this server.
______________________________________________________________
Apache {version} at {nombre_del_host} – {modulos instalados}

Esa pagina la podemos personalizar para que pueda lucir asi por ejemplo

Error 404
El archivo que has solicitado no existe en el servidor

(Link home)
(Codigo adsense)
(Codigo google analytics y/o statcounter)

Y asi el visitante puede buscar la pagina en otras secciones del sitio, ademas puedes instalar codigos estadistica, mantener diseño sitio, etc…

Para cambiar esta pagina debes hacer estas dos cosas:

  1. Crear la(s) pagina(s) de error y guardarlas como HTML, PHP, etc
  2. Configurar el servidor para que las use cuando haya un error HTTP.

Para crear las paginas puedes usar desde el bloc de notas hasta Frontpage o Dreamweaver y ahi incorporar diseño, CSS, scripts, etc.

La configuracion del servidor dependera de cual sea, en el mayor de los casos es Apache, si es asi continua…

Debes crear un archivo archivos .hta_ccess el que debe contener lo siguiente:
ErrorDocument 404 /error.html

Obviamente cambias error.html por el nombre que le hayas puesto, debes dejar el / inicial.

Este mismo procedimiento puedes hacer para personalizar las paginas de otros errores, aqui hay una lista de los mas comunes

  • 400 = Error en la peticion del navegador al servidor
  • 401 = La pagina usa Autenticacion HTTP y se ha presionado el boton cancelar en el cuadro que te pide usuario/contraseña
  • 403 = No tienes permisos de acceso a la carpeta, se puede restringir poniendo Deny from All en un archivos .hta_ccess dento de la carpeta a bloquear.
  • 404 = El descrito anteriormente, archivo/carpeta no existente en el servidor
  • 500 = Error interno del servidor, ocurre cuando el archivos .hta_ccess tiene errores de sintaxis o el script CGI arroja errores, el detalle lo puedes ver en el log del servidor.
  • 503 = Servidor fuera de servicio temporalmente

Para personalizar todos estos errores puedes crear una pagina para cada uno y poner en el archivos .hta_ccess

ErrorDocument 400 /error400.htm
ErrorDocument 401 /error401.htm
ErrorDocument 402 /error402.htm
ErrorDocument 403 /error403.htm
ErrorDocument 404 /error404.htm
ErrorDocument 500 /error500.htm
ErrorDocument 501 /error501.htm
ErrorDocument 503 /error503.htm

Asi para evitar crear tantos archivos puedes usar PHP y solo crear una pagina con un parametro donde ira el codigo del error, el script puedes personalizarlo para colocar los mensajes de cada error, asi quedaria el archivos .hta_ccess

ErrorDocument 400 /error.php?error=400
ErrorDocument 401 /error.php?error=401
ErrorDocument 402 /error.php?error=402
ErrorDocument 403 /error.php?error=403
ErrorDocument 404 /error.php?error=404
ErrorDocument 500 /error.php?error=500
ErrorDocument 501 /error.php?error=501
ErrorDocument 503 /error.php?error=503

El script seria asi mas o menos

[sourcecode language=»php»]

Error

Volver al home

[/sourcecode]


Aqui yo he hecho uno para macroflood, lo pueden ver en funcionamiento aqui: 400 401 403 404 500 y aplicado 404

Este ejemplo lo pueden descargar tambien, incluye todos los errores explicados, la opcion de notificar admin y una imagen de Nelson de Los Simpsons para errores de acceso denegado (401 y 403)

DESCARGAR EJEMPLO

No olviden dejar su post si funciono el codigo, opiniones, etc xD

NOTA: He tenido que poner los archivos .hta_ccesscomo imagen pues si los ponia como texto el servidor me arrojaba error 406.