He realizado algunos tips, basados en mi experiencia de este fabuloso lenguaje de programación para sitios webs. Aquí va la lista. Se aceptan sugerencias:
- Siempre al poner en producción un desarrollo, habilitar el error_reporting(0) en cabecera, en caso de error, el cliente no verá un mensaje feo en pantalla.
- Siempre esconder la tecnología utilizada, vale decir todos los .php , arreglalos con mod_rewrite.
- Siempre validar los parámetros que se entregan. Todos los datos que vienen de INTERNET deben ser validados. Ejemplo:
if(is_numeric($_GET['variable'])) // Integer
if(is_string($_GET['variable'])) // String
if($this->Session->check('Usuario')) // Chequear usuario valido - Para evitar un SQL Injection o un XSS Atack, utilizar la funcion addslashes. Ejemplo:
$variable = addslashes(trim($_GET['variable'])) - Todos los datos que se envien deben ser codificados en UTF-8 para ser internacionalizados.
- Siempre formatear los numeros en formato €. Ejemplo:
Resultado: €1.000,20
$total = number_format($euro,2,'.',','); - El formato de fecha SIEMPRE debe ser DIA-MES-Aí‘O, esto se realiza con la función date. Ejemplo:
$fecha = date('d-m-Y', strtotime($fecha)); - Al comunicarse con flash, se debe tener en cuenta el crossdomain.xml. Ejemplo:
<cross-domain-policy>
<allow-access-from domain="â€*.atobiz.comâ€"></allow-access-from>
</cross-domain-policy> - Al realizar pagos y demases, guardar SIEMPRE el precio en una session, ya que por $_GET o $_POST puede ser hackeado.
- Siempre encriptar los password con md5, ningún password puede quedar almacenado en texto plano.
- Siempre para comprobar si existen datos, utilizar las funciones isset o empty, ejemplo:
if(isset($_POST['valor']))
if( ¡empty($_POST['valor'])) - Si se esta utilizando un textarea, siempre traspasar el contenido a la funcion htmlspecialchars. Ejemplo:
$texto = htmlspecialchars($_POST['texto']); - Ningun directorio puede quedar visible para las personas. Para regular esto, poner un index.html en el directorio, para que al ser visualizado quede la pantalla en blanco.
- Register Globals esta obsoleto, usar $_GET o $_POST.
- NUNCA transpasar datos de usuario via $_GET.
- $_POST es para enviar información, $_GET es para recibir.
- Utilizar Javascript para validar datos no es suficiente, recuerda que hay clientes que tienen esto deshabilitado.
- Nunca utilizar terminaciones .inc ,estas pueden ser vistas por los usuarios, ya que el servidor las entiende como texto plano.

