J'ai découvert une erreur sur mon script de pagination dans les CodeIgniter:est-ce une vulnérabilité de codeigniter?
$this->db->where("by_id",$user_id);
$this->db->order_by("date","desc");
$this->db->limit(10,$from);
$query = $this->db->get("status");
L'URL ressemble à ceci: serveur/demo/page/10
donc si le serveur de type d'utilisateur/nedjma/baniss/1000000000000000000000
Numéro d'erreur: 1064
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de '1000000000000000000000, 10' à la ligne 5
SELECT * FROM (
status
) OÙby_id
= '58' ORDER BYdate
desc LIMITE 1000000000000000000000, 10
pouvez-vous me dire s'il vous plaît quel est le bogue?
Désolé compagnon, juste enlevé le lien vers ce site étant donné qu'il était ouvert à SQL Injection. Quelqu'un d'autre répondra en détail (je ne sais pas assez sur php) mais vous devez valider la variable '$ from', pour vous assurer que c'est un nombre * seulement *. –
@silky, la validation de la variable 'from' s'avère être une réponse valide dans toutes les langues, pas seulement PHP. –
Vineet: Oui, je ne sais pas du tout de ma tête comment confirmer que c'est un int en php; des langages fous non typés: P –