Neden PHP'nin exec fonksiyonu ile çalışmak değil wget olabilir?

2 Cevap

Benim komut dosyası () wget exec çalışır ama (gerçi, hiçbir hata yükseltir) başarısız görünüyor. Ne sorun olabilir? Should nedense ben ayar PHP? Ben sadece Ubuntu üzerinde Apache ve PHP yüklü ...

2 Cevap

third parameter () exit code of wget bulmak için exec ekle.

Nedir senin $_GET['one']? Bir video dosyasının ismi? Bir numara? Bir url? Neler $file? Ne '$one?

Apaçık hata kaynakları:

  1. Bu değişkenlerin hepsi ayarlanmış mı? 1 $ boşsa, o zaman wget dosyanızı almak için gidecek yeri vardır. $ _GET ['Bir'] ve $ dosya boş ise, o zaman çıktı dosya büyük olasılıkla boş, ya $ dosya boş olduğunu dizini ($ _GET ['bir']) bulunamıyor ya çünkü, yok olacak , izin verilmeyen bir dizin adı, denemek için wget ve çıkış neden olur.
  2. Değişkenlerin herhangi 'yasadışı' karakterler. $file kabuk meta karakterleri içeriyor mu? ? Herhangi bir, * / \ vs ..? Bu tüm komut satırı berbat olacaktır.
  3. Neden zaten wget kullanıyorsunuz? Sen sadece sorun soran bir kabuk, ham sorgu parametrelerinin geçiyoruz. Uzak kullanıcıların sunucunuza herhangi bir şey çalıştırmak için izin verecek, hangi kabuk meta geçmek için önemsiz olacaktır. Aşağıdaki sorgu düşünün:

    http://example.com/fetch.php?one=;%20rm%20-rf%20/%20;

Lütfen komut hangi olur:

wget -O /var/www/videos/; rm -rf / ;/$file $one

ve şimdi komut mutlu web sunucunun kullanıcı için izinleri olan sunucuda her şeyi siliyor.