Aşağıdaki komut dosyası, test.php, tüm wordpress sitelerin belirli bir dizine yerleştirilmesi amaçlanmıştır. Onun amacı, aşağıda $ kaynak adreste dosya yakala ve içinde bulunduğu dizine ayıklamak için. Yani onun yapmak amaçlanan bu.
Örneğin, ben bu komut mevcut olduğu tüm siteler listeler benim merkezi bir sunucu üzerinde bir pano arayüze sahip olacak. Ben sonra etkili seferde hepsine güncelleme dosyasını göndererek, her site üzerinde dolaşır ve bu komut bir çağrıyı gerçekleştiren bir cURL yordamı çalıştırmak olacaktır.
Çağrı şöyle yapılır ...
...processing site 1 update...
http://targetsite1.com/somedeepdirectory/test.php?query=updates.zip
...processing site 2 update...
http://targetsite2.com/somedeepdirectory/test.php?query=updates.zip
...etc until all my sites have been updated.
Benim soru olarak (1) nasıl güvenli (sertleştirilmiş), bu komut olmasıdır. ve (2) hangi kontrollerin ben daha çok yapmak yerine koymak gerekir ...
Ben kötü niyetli, beklenmedik filetypes için MyQuery de yükünü kontrol olarak en azından ben de MyQuery için karakter sayısını kısıtlamak olacağını düşünüyorum?
<?php
/ / Test.php
$source = 'http://mycentralserver.com/protected/'.$_GET['myquery'];
$target = '.';
$out_file = fopen(basename($source), 'w');
$in_file = fopen($source, 'r');
while ($chunk = fgets($in_file)) {
fputs($out_file, $chunk);
}
fclose($in_file);
fclose($out_file);
$zip = new ZipArchive();
$result = $zip->open(basename($source));
if ($result) {
$zip->extractTo($target);
$zip->close();
}
?>