Ben temelde sadece güzel bir ön yapılandırma dosyasına sonunda, benim uygulama için bir kurulum / yükleyici komut dosyası yazıyorum. Yapılandırma değişkenleri biri mysql için çalıştırılabilir yoludur. Kullanıcı bunu yazdığınız sonra (örneğin: /path/to/mysql-5.0/bin/mysql
ya da kendi sistem PATH içinde ise sadece mysql
), ben bunun doğru olduğunu doğrulamak istiyorum. Benim ilk tepki "--version"
ne geri geliyor görmek için birlikte çalışan denemek olacaktır. Ancak, hızlı bir şekilde bu kod satırı yazmadan bana yol gerçekleştirdi:
shell_exec($somethingAUserHasEntered . " --version");
... Hangi besbelli Bir Çok kötü bir şey. Şimdi, bu büyük olasılıkla zaten sisteme nispeten yüksek düzeyi erişimi var, ama yine de ben yukarıdaki çözüm Ben yazmak istediğim bir şey olduğunu sanmıyorum güvenilen sadece kullanıcılar ve olanlar için tasarlanmış bir kurulum komut dosyası.
Yürütülebilir yolunu doğrulamak için daha iyi bir yolu var mı? Belki de bir büyük bir güvenlik açığını göstermiyor hangi?