Hola, buenos días
Tengo una duda de qué método usar para protección de variables de formulario, para prevenir Inyección SQL, estaba leyendo en varias páginas y los métodos que usan son los siguiente, pero según ciertas condiciones:
Con htmlentities:
Código PHP:
$nombre= htmlentities($_POST['nombre']); -> dicen que depende de la codificación
Con filter_var
Código PHP:
$cadena= filter_var($envio, FILTER_SANITIZE_STRING); -> que si se usa htmlspecialchars o htmlentities ya no son necesarios
$email= filter_var($envio, FILTER_SANITIZE_EMAIL);
$numero = filter_var($envio, FILTER_SANITIZE_NUMBER_INT);
Con mysqli_real_escape_string
Código PHP:
mysqli_real_escape_string($enlace, $ciudad); -> que hace todo lo de las demás
O con htmlspecialchars (qué tiene parámetros adicionales)
Código PHP:
htmlspecialchars($cadena); -> dicen que depende de la codificación
¿Qué me recomendarían usar para enviar información a mi base de datos desde un formulario? Por ejemplo, yo tengo mi página códificada en UTF-8 con las siguientes variables:
Código PHP:
$obj -> id = $_GET['client'];
$obj -> client = $_POST['client'];
$obj -> rfc = $_POST['rfc'];
$obj -> address = $_POST['address'];
$obj -> countries = $_POST['countries'];
$obj -> code = $_POST['code'];
$obj -> zones = $_POST['zones'];
$obj -> city = $_POST['city'];
$obj -> phone = $_POST['phone'];
$obj -> email = $_POST['email'];
$obj -> date_update = date('Y-m-d H:m:s');
Entonces, pues literalmente ya me hice pelotas con qué debería usar :/
De antemano les agradezco por sus comentarios.
Saludos!!