Uzak Sunucu Dosya İstatiktikleri Sınıfı

PHP
72 lines
<?php
class UzakDosyaKontrol {
var $hata;
var $hatano;
var $hatamesaj;
var $sunucu;
var $tarih;
var $boyut;
var $tip;
var $httpcevir = array('Server' => 'sunucu',
'Last-Modified' => 'tarih',
'Content-Length' => 'boyut',
'Content-Type' => 'tip'
);
var $istatistik = array('sunucu' => '',
'tarih' => '',
'boyut' => '',
'tip' => ''
);
function UzakDosyaKontrol($sunucu, $file, $port = 80) {
$file = preg_replace("#^\/|^#i", "/", $file);
$this->hata = false;
$fp = fsockopen ($sunucu, $port, $this->hatano, $this->hatamesaj, 30);
if($fp) {
fputs ($fp, "HEAD $file HTTP/1.0\r\n");
fputs ($fp, "Host: $sunucu\r\n" );
fputs ($fp, "\r\n");
while(!feof($fp)) {
$satir = fgets($fp,4096);
if(preg_match("/^([a-zA-Z\-]+): ([[:ascii:]]+)$/", $satir, $dizi)) {
if(isset($this->httpcevir[$dizi[1]])) {
$this->istatistik[$this->httpcevir[$dizi[1]]] = $dizi[2];
}
}
}
} else {
$this->hata = true;
}
}
function sunucugetir() {
return $this->istatistik['sunucu'];
}
function tarihgetir() {
return date("d.m.Y H:i:s",strtotime($this->istatistik['tarih']));
}
function boyutgetir() {
return $this->istatistik['boyut'];
}
function tipgetir() {
return $this->istatistik['tip'];
}
function hatagetir() {
return $this->hata;
}
function hatamesajgetir() {
return $this->hatamesaj;
}
function hatanogetir() {
return $this->hatano;
}
}
$r = new UzakDosyaKontrol('www.google.com.tr', 'images/branding/googlelogo/2x/googlelogo_color_272x92dp.png');
if($r->hata) {
echo $r->hatamesajgetir(), '(', $r->hatanogetir(), ')<br>';
}else{
echo $r->sunucugetir(),
'<br>',$r->tarihgetir(),
'<br>',$r->boyutgetir(),
'bayt<br>',$r->tipgetir(), '<br>';
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
4 lines
sffe
08.12.2016 02:00:57
13504 bayt
image/png
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Sunucu Kullanılabilir Port Kontrol Sınıfı

PHP
25 lines
<?php
class porttara {
var $liste=["80||HTTP","443||SSL","2083||CPanelSSL","2082||CPanel","2087||WHMSSL","2086||WHM","2096||WebMailSSL","2095||WebMail","2077||Webdisk","2078||WebdiskSSL","8443||PleskSSL","8880||Plesk","21||FTP","990||FTPs","22||SFTP","2222||SFTPShare","25||SMTP","26||SMTP","587||SMTP","465||SMTPSSL","110||POP3","995||POP3SSL","143||IMAP","993||IMAPSSL","3306||MySQL","1433||MSSQL","5432||PostgreSQLServer","53||DomainNameServer","9998||PleskWebmail","9001||DotNetPanel"];
var $host="127.0.0.1";
var $sonuc=[];
public function tara() {
$this->liste=array_unique($this->liste);
foreach($this->liste as $liste){
$parca=explode("||",$liste);
if(count($parca) == 2) {
$sc=socket_create (AF_INET, SOCK_STREAM, getprotobyname("TCP"));
if(@socket_connect($sc,$this->host,$parca[0])){
$this->sonuc[]=$parca[0]."||<b style='color:green'>Açık</b>||".$parca[1];
}else{
$this->sonuc[]=$parca[0]."||<i style='color:red'>Kapalı</i>||".$parca[1];
}
}
}
}
}
$tara=new porttara;
$tara->host="127.0.0.1";
$tara->tara();
print_r($tara->sonuc);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
33 lines
Array
(
[0] => 80||Açık||HTTP
[1] => 443||Kapalı||SSL
[2] => 2083||Kapalı||CPanelSSL
[3] => 2082||Kapalı||CPanel
[4] => 2087||Kapalı||WHMSSL
[5] => 2086||Kapalı||WHM
[6] => 2096||Kapalı||WebMailSSL
[7] => 2095||Kapalı||WebMail
[8] => 2077||Kapalı||Webdisk
[9] => 2078||Kapalı||WebdiskSSL
[10] => 8443||Kapalı||PleskSSL
[11] => 8880||Kapalı||Plesk
[12] => 21||Kapalı||FTP
[13] => 990||Kapalı||FTPs
[14] => 22||Kapalı||SFTP
[15] => 2222||Kapalı||SFTPShare
[16] => 25||Kapalı||SMTP
[17] => 26||Kapalı||SMTP
[18] => 587||Kapalı||SMTP
[19] => 465||Kapalı||SMTPSSL
[20] => 110||Kapalı||POP3
[21] => 995||Kapalı||POP3SSL
[22] => 143||Kapalı||IMAP
[23] => 993||Kapalı||IMAPSSL
[24] => 3306||Açık||MySQL
[25] => 1433||Kapalı||MSSQL
[26] => 5432||Kapalı||PostgreSQLServer
[27] => 53||Kapalı||DomainNameServer
[28] => 9998||Kapalı||PleskWebmail
[29] => 9001||Kapalı||DotNetPanel
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Uzak Sunucuya Erişim Kontrolü

PHP
29 lines
<?php
class durum{
function sunucu($adres){
if(strstr($adres,"/")){$adres = substr($adres, 0, strpos($adres, "/"));}
return $adres;
}
function durum($adres="",$port=80,$zamanasimi=3) {
if($adres=="") $adres = $_SERVER['REMOTE_ADDR'];
$churl = fsockopen($adres, $port, $errno, $errstr, $zamanasimi);
if (!$churl){
echo 'Sunucu Çevrimdışı';
} else{
echo 'Sunucu Çevrimiçi';
}
}
function portkontrol($adres,$zamanasimi,$port) {
if($adres=="") $adres = $_SERVER['REMOTE_ADDR'];
$churl = @fsockopen($adres, $port, $errno, $errstr, $zamanasimi);
if (!$churl){
echo "Port $port çalışmıyor";
}else{
echo "Port $port çalışıyor";
}
}
}
$durum = new durum("216.58.212.46");
echo '<br>';
$durum->portkontrol("216.58.212.46",1,80);//google ip
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
Sunucu Çevrimiçi
Port 80 çalışıyor
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX