Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Utilisation de PDO à la place de mysqli #18

Open
romain-neil opened this issue May 17, 2021 · 2 comments
Open

Utilisation de PDO à la place de mysqli #18

romain-neil opened this issue May 17, 2021 · 2 comments

Comments

@romain-neil
Copy link
Contributor

Bonjour,
j'ai remarqué que dans plusieurs fichiers, il est utilisé l'extension mysqli pour différentes requêtes sur la base de donnée. Pour certaines requêtes, il n'y a aucun échapement des données envoyées par l'utilisateur, ce qui est, selon mon point de vue, plutôt une grosse faille de sécurité.

Exemple: $sql="SELECT * FROM eleves WHERE login='$tmp_ele[$loop]';";
(https://github.com/tbelliard/gepi/blob/master/cahier_notes/extraction_notes_cn.php#L171)

Je propose de commencer à travailler dans mon coin au portage vers PDO, avec notamment l'utilisation des requêtes préparées.

@romain-neil romain-neil changed the title Utilisation de PDo à la place de mysqli Utilisation de PDO à la place de mysqli May 17, 2021
@crob27
Copy link
Collaborator

crob27 commented May 17, 2021

Bonjour,

Les variables envoyées en POST, GET,... sont traitées par la fonction anti_inject() appelant des real_escape_string dans lib/traitement_data.inc.php
Il y a aussi un traitement avec HTMLpurifier des variables.

Par ailleurs, le passage à PDO me parait être un vaste chantier.

Bien cordialement

@romain-neil
Copy link
Contributor Author

Bonjour,

je trouve que les 465 lignes du fichier de traitement des caractères spéciaux dans les url risquent plus d'amener des erreurs, que d'utiliser une ligne avec la pdo.

Passer de l'utilisation de mysqli à pdo est pas des plus compliqué, les fonctions étant assez similaires.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants