Coder avec l’aide de l’IA pour les développeurs
Francesca Donadoni
AI Curriculum Manager, DataCamp
Écrivez une fonction Python pour analyser les adresses e-mail.
Écrivez une fonction Python pour analyser les adresses e-mail. Elle doit passer les tests suivants :
- Accepte une adresse valide comme "[email protected]".
- Rejette une entrée invalide comme "user@@domain".
- Lève une ValueError pour une entrée vide.
Invite utilisateur : Générez des tests unitaires en Python pour une fonction qui traite les données de formulaire soumises par l'utilisateur et les insère dans une base de données SQL.
Réponse du modèle :
Voici une suite pytest prête à l'emploi qui couvre la validation, la normalisation, la sécurité contre les injections SQL et le comportement des transactions pour une fonction qui traite les données de formulaire et insère un enregistrement dans une base de données SQL.
@pytest.fixture() def conn(): """Base de données SQLite en mémoire avec une table utilisateurs.""" c = sqlite3.connect(":memory:") [...]
Invite utilisateur : Générez des tests unitaires Python en utilisant pytest pour la fonction suivante. Incluez des cas pour une entrée vide, des mots-clés SQL dans l'entrée et des caractères spéciaux. Supposons une connexion à une base de données simulée. <INSERT FUNCTION>
Réponse du modèle :
Voici un module de test pytest autonome qui utilise des simulations (pas de DB réelle) et couvre l'entrée vide, les mots-clés SQL et les caractères spéciaux. Il vérifie également le comportement de commit/close et que les exceptions sont gérées.
$$
Analysez la fonction Python suivante pour détecter d'éventuelles vulnérabilités et proposez des alternatives plus sûres si nécessaire.
$$
Examinez ce code pour des problèmes de sécurité web courants, y compris l'injection SQL, le XSS et les défauts de validation des entrées.

def login(username, password):
query = f"SELECT * FROM users WHERE username = '{username}' \
AND password = '{password}'"
result = db.execute(query)
return result.fetchone()
Voici un audit ciblé OWASP Top 10 de votre fonction de connexion, ainsi qu'une réécriture plus sûre.
username = "admin' --" → contourne la vérification du mot de passe. [...]Coder avec l’aide de l’IA pour les développeurs