PHP Conference Ehime 2026

Où taint déclenche des avertissements

Lorsqu'une chaîne corrompue atteint l'un des points de sortie ci-dessous, taint émet un avertissement (par défaut un E_USER_WARNING ; le niveau est configurable via taint.error_level). Seuls les arguments de chaîne de premier niveau sont inspectés ; vider un tableau qui contient simplement des valeurs corrompues n'émet pas d'avertissement.

Points de sortie d'affichage
Point de sortieVérifié
echo, print l'expression affichée
printf(), vprintf() la chaîne de format et les valeurs substituées
print_r(), var_dump(), var_export() la valeur vidée, quand c'est une chaîne
exit/die avec un message le message
file_put_contents(), fwrite(), fputs() vers php://output les données écrites

Points de sortie du système de fichiers
Point de sortieVérifié
fopen(), opendir(), unlink() le chemin
file(), readfile(), file_get_contents(), highlight_file()/show_source() le chemin
copy(), rename(), move_uploaded_file() les chemins source et destination
mkdir(), rmdir(), touch() le chemin
include, include_once, require, require_once le chemin du fichier

Points de sortie SQL
Point de sortieVérifié
mysqli_query(), mysqli_prepare(), mysqli_real_query(), mysqli_multi_query() la chaîne de requête
mysql_query(), sqlite_query(), sqlite_single_query(), oci_parse(), pg_query(), pg_send_query() la chaîne de requête
mysqli::query(), mysqli::prepare(), mysqli::real_query(), mysqli::multi_query() la chaîne de requête
PDO::query(), PDO::prepare(), PDO::exec() la chaîne de requête
SQLite3::query(), SQLite3::prepare(), SQLite3::exec(), SQLiteDatabase::query(), SQLiteDatabase::singleQuery() la chaîne de requête

Points de sortie d'exécution de commandes
Point de sortieVérifié
exec(), system(), passthru(), shell_exec() (y compris l'opérateur backtick) la chaîne de commande
proc_open(), popen() la chaîne de commande
eval le code évalué
les appels dynamiques tels que $func(), $obj->$method(), call_user_func(), les callables tableaux le nom de fonction/méthode/classe en cours de résolution
preg_match(), preg_match_all(), preg_replace(), preg_split(), preg_grep(), preg_replace_callback() le motif (et le nom du callback pour preg_replace_callback())

Points de sortie d'en-têtes et cookies
Point de sortieVérifié
header() la chaîne d'en-tête
setcookie(), setrawcookie() le nom et la valeur du cookie

Autres points de sortie
Point de sortieVérifié
unserialize() la chaîne sérialisée
mail() le destinataire, le sujet, les paramètres supplémentaires et les en-têtes supplémentaires (le corps du message est du contenu et n'est pas vérifié)

Les avertissements suivent le format function_name() [sink]: message, où sink identifie l'opération vérifiée (par exemple echo, include ou le nom de la fonction) et le message décrit ce qui a été trouvé comme potentiellement corrompu.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top