Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
Evitar la introducción de valores indeseados en la url
<?php
function allowed_get_params($allowed_params = []){
$allowed_array = [];
foreach ($allowed_params as $param) {
if(isset($_GET[$param])){
$allowed_array[$param] = $_GET[$param];
}else{
$allowed_array[$param] = NULL;
}
}
return $allowed_array;
}
$get_params = allowed_get_params(['username', 'password']);
var_dump($get_params)
//allow-parameters.php?username=pablo&password=rqr&oooo=4
?>
Validar si se ha escrito algo
<?php
function has_presence($value){
$trimmed_value = trim($value);
return isset($trimmed_value) && $trimmed_value!=="";
}
if(has_presence(" ")){
echo "exito";
}else{
echo "fracaso";
}
?>
Validar longitud cadena
<?php
function has_length($value, $options=[]){
if(isset($options['max']) && (strlen($value) > (int)$options['max'])){
return false;
}
if(isset($options['min']) && (strlen($value) < (int)$options['min'])){
return false;
}
if(isset($options['exact']) && (strlen($value) != (int)$options['exact'])){
return false;
}
return true;
}
if(has_length("buenos dias", ["min"=>5, "max"=> 18])){
echo "exito";
}else{
echo "fracaso";
}
?>
Evaluar si un número cae dentro de cierto intervalo
<?php
function has_number($value, $options=[]){
if(!is_numeric($value)){
return false;
}
if(isset($options['max']) && ($value > (int)$options['max'])){
return false;
}
if(isset($options['min']) && ($value < (int)$options['min'])){
return false;
}
return true;
}
if(has_number(43, ["min"=> 33, "max"=>55])){
echo "exito";
}else echo "fracaso";
?>
Sanitización o filtrado
Consiste en procesar los datos de entrada para eliminar el posible código malicioso.
- htmlspecialchars() → HTML encode key chars.
- htmlentities() → HTML encode.
- strip_tags() → Elimina todas las etiquetas HTML y PHP.
- json_encode()
- mysqli_real_escape_string() → MySQL escape.
- addslashes()
Logging
<?php
$log_file = "errors.log";
function logger($level="ERROR", $msg=""){
global $log_file;
$log_msg = $level.": ".$msg.PHP_EOL;
file_put_contents($log_file, $log_msg, FILE_APPEND | LOCK_EX);
}
logger("ERROR","Un error ha ocurrido");
logger("DEBUG","i vale 7");
?>