escapeshellcmd Kabuk özel karakterlerini önceler &reftitle.description; stringescapeshellcmd stringkomut 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 değilse öncelenir. Windows'a tüm bu karakterlere ek olarak % ve ! imleri bir şapka imi (^) ile öncelenir. &reftitle.parameters; komut Öncelenecek komut dizgesi. &reftitle.returnvalues; Öncelenmiş komut dizgesi. &reftitle.examples; - <function>escapeshellcmd</function> örneği ]]> &reftitle.notes; escapeshellcmd komut dizgesinin tamamı üzerinde kullanılmalıdır. Buna rağmen saldırganın keyfi sayıda bağımsız değişken aktarmasına izin verir. Tek bir bağımsız değişkeni öncelemek için bu işlev yerine escapeshellarg kullanılmalıdır. Windows üzerinde C:\Program Files\ProgramName\program.exe gibi yollarda sorunlu olan escapeshellcmd boşlukları öncelemez. Aşağıdaki kod parçası kullanılarak bu sorun ortadan kaldırılabilir: &reftitle.seealso; escapeshellarg exec popen system Çalıştırma İşleci