Şeyler yapmak için knockd Kullanımı | PHP ile TCP / UDP İstekleri gönderme

4 Cevap php

Ben knockd http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wiki iyi bir ssh oturum açmadan Apache'yi yeniden başlatmanız mümkün oldu olacağını, merak ediyordum. Ama benim programlama soru ben bir webclient üzerinden vurmak böylece PHP ile TCP / UDP paketleri göndermek için bir yol olup olmadığını oldu.

Ben bu bunu yapmanın en güvenli yolu olmadığının farkında değilim, ama ben sadece svn güncelleme gibi şeyler yapmak istiyorum, bunu yapmak için ssh kullanarak gibi içinde herhangi şifreleri apache yeniden başlatın.

4 Cevap

Sen () işlevlerini fsockopen kullanabilir ... ama söylediğim olmuştu yapıyorsun (ve bunu yapıyorsun yolu) bir güvenlik standpoit çok riskli olanı .. ssh yolu :)

Bu dosya göründüğünde: (/ tmp / restart.apache ex) ve gerçekten uzaktan erişimi (non-ssh) kullanarak apache sunucusunu yeniden başlatmak istiyorsanız sadece belirli bir dosya için saatler küçük bir php-cini, yaratabilirsiniz run exec ("/ etc / init.d / apache restart") (veya ne olursa olsun komut dağıtımı için). Bu Sunucu root olarak çalıştırmanız gerekir ... ve bir şey bütün güvenlik şey bu arbitrarly idam alamadım emin olmak gerekir, sizin kadar bu şekilde olduğunu ...

Sizin portknock ideea ... basit bir port tarayıcı yanlışlıkla apacheyi yeniden başlayabilir :) portknock doğrudan değil apache ile, bir ssh auth ile birlikte kullanılmak üzere oneririz :)

Cidden, not kendi yapmaya çalışıyor ne yapmak istiyorsun.

SSH gibi güvenli protokolün çeşit yoluyla uzak sunucuyu aramanın içine bakmak gerekir. Ve istemci tarafında, (tercihen bir keyfile sadece tabanlı bir kimlik doğrulama mekanizması ile) uzaktan SSH komutları çalıştırır küçük bir PHP programını uygulama / komut dosyası var.

Neden "svn update" çağıran bir PHP komut dosyası yok? O inşaat büyük, sürece dosyaları kullanıcı tarafından yazılabilir olarak Apache çalışır. Sadece web sitesi güncellemek için bu URL'yi çarptı

SVN için, bütün PHP api var, php.net üzerinde SVN arama deneyin