(PHP 4, PHP 5, PHP 7)
escapeshellcmd — Kabuk meta karakterlerini önceler
$komut
)escapeshellcmd() işlevi, içinde keyfi komutlar çalıştırarak bir kabuk komutunu kandırmak için kullanılabilecek bir dizgenin içerdiği karakterleri önceler. Bu işlev, exec() veya system() işlevlerine ya da çalıştırma işlecine aktarılmadan önce kullanıcı girdisi olarak alınan veriyi öncelemek için kullanılmalıdır.
Bir tersbölü çizgisi ile öncelenen karakterler şunlardır: #&;`|*?~<>^()[]{}$\, \x0A ve \xFF. ' ve " karakterleri sadece çiftler halinde kullanılmışsa öncelenir. Windows'a tüm bu karakterlere ek olarak % karakteri yerine bir boşluk yerleştirilir.
komut
Öncelenecek komut dizgesi.
Öncelenmiş komut dizgesi.
Örnek 1 - escapeshellcmd() örneği
<?php
$e = escapeshellcmd($userinput);
// $e boşluk içeriyorsa burada dikkate almayacağız
system("echo $e");
$f = escapeshellcmd($filename);
// ve burada tırnakları kullanıyoruz
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>