hey ich versuche, zu überprüfen, ob der Benutzer eine doppelte Erweiterung Datei hochzuladen versuchen, so zu, dass ich mit dem folgenden CodeStopp doppelte Erweiterung uplaod
function ExtensionValide($sFileName) {
$fileNameInfo = array();
if (preg_match('/.php.|.js./',$sFileName)) {
return false; # Tentative de masquer des extensions dangereuses !
}
else {
$extension_valide = array('gif','png','jpg','jpeg','txt','pdf','html','mp3','csv');
$extension_upload = strtolower(substr(strrchr($sFileName,'.'),1));
$fileNameInfo[0] = in_array($extension_upload,$extension_valide);
$fileNameInfo[1] = ".$extension_upload";
$fileNameInfo[2] = basename($sFileName,$fileNameInfo[1]);
return $fileNameInfo;
}
}
aber das Problem nach wie vor, dass der Benutzer uplaod kann .PHP.png mit einem Großbuchstaben, so versuche ich zu finden, wenn es ein regulärer Ausdruck ist, der die thnig in preg_match('/.php.|.js./',$sFileName)
verarbeiten kann ich preg_match('/.any_string./',$sFileName)
sagen will, wie kann ich das tun
vielleicht können Sie http://php.net/manual/en/function.strtolower.php strtolower vor der Überprüfung verwenden? alle Buchstaben in Kleinbuchstaben umwandeln? – Danielius
@Danielius vielen Dank, dass du es richtig gemacht hast – PacMan
Kein Problem, viel Glück :) – Danielius