Avatar billede blackscorpion Nybegynder
05. marts 2007 - 22:28 Der er 8 kommentarer og
1 løsning

Tjek om ip er oppe uden brug af Fsockopen.

Hej E.

Har kigget på http://www.eksperten.dk/spm/764631 og der bruger de fsockopen.

Nu er det sådan at fsockopen er disabled på mit webhotel af sikkerhedsgrunde.

Er der nogen anden måde at tjekke om et ip er oppe ?
Avatar billede noob2003 Nybegynder
05. marts 2007 - 22:43 #1
ping ip ??
Avatar billede blackscorpion Nybegynder
06. marts 2007 - 16:35 #2
hvordan ?
Avatar billede noob2003 Nybegynder
06. marts 2007 - 17:13 #3
måske en løsning

<?php



// Address error handling.



ini_set('display_errors', 1);

error_reporting(E_ALL ^ E_NOTICE);



// Obtain POST data.



$ping_ip_addr = $_POST['ping_ip_addr']; // input

$ping_count = $_POST['ping_count']; // select



// Remove any slashes if Magic Quotes GPC is enabled.



if (get_magic_quotes_gpc())

{

$ping_ip_addr = stripslashes($ping_ip_addr);

}



// Create arrays.



$ping_count_array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 25); // Ping count



?>



<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">



<head>

<title>Ping</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<meta name="author" content="firstbase" />

<style type="text/css">



body

{

margin: 0;

padding: 10px;

background-color: ffffff;

}



div.output

{

margin: 0;

padding: 10px;

background-color: eeeeee;

border-style: solid;

border-width: 1px;

border-color: 000000;

}



</style>

</head>



<body>

<h1>Ping</h1>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<p><label for="ping_ip_addr">IP address:</label><br />

<input name="ping_ip_addr" id="ping_ip_addr" type="text" value="<?php echo $_POST['submit'] == 'Ping' ? htmlentities($ping_ip_addr, ENT_QUOTES) : $_SERVER['REMOTE_ADDR'];; ?>" size="40" maxlength="15" /></p>

<p><label for="ping_count">Ping count:</label><br />

<select name="ping_count" id="ping_count">

<?php



foreach ($ping_count_array as $ping_count_item)

{

echo '<option' . ($ping_count == $ping_count_item ? ' selected="selected"' : '') . '>' . $ping_count_item . '</option>' . "\n";

}



?>

</select></p>

<p><input type="submit" name="submit" value="Ping" /></p>

</form>

<p>Ping may take a while, please be patient.</p>

<?php



if ($_POST['submit'] == 'Ping') // Form has been submitted.

{

echo '<div class="output">' . "\n";



/**************************************************************************/



// Check for spoofed form submission.



$illegal = FALSE;



if (strlen($ping_ip_addr) > 15)

{

$illegal = TRUE;

}



if (!in_array($ping_count, $ping_count_array))

{

$illegal = TRUE;

}



/**************************************************************************/



if (!$illegal) // Form submission was not spoofed.

{

if (ereg('^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$', $ping_ip_addr)) // Acquired data contains no problems.

{

// Display result.



echo '<pre>' . "\n" .

'ping -c ' . $ping_count . ' ' . $ping_ip_addr . "\n\n";



system('ping -c ' . $ping_count . ' ' . $ping_ip_addr); // Ping IP address.



echo '</pre>' . "\n" .

'<p>Ping complete.</p>' . "\n";

}

else // Acquired data contains problems!

{

echo '<p>Please enter a valid IP address.</p>' . "\n";

}

}

else // Form submission was spoofed!

{

echo '<p>An illegal operation was encountered.</p>' . "\n";

}



echo '</div>' . "\n";

}



?>

</body>



</html>
Avatar billede noob2003 Nybegynder
06. marts 2007 - 17:14 #4
Avatar billede blackscorpion Nybegynder
06. marts 2007 - 19:40 #5
får det her output:


ping -c 25 ***.**.***.**

Ping complete.
Avatar billede blackscorpion Nybegynder
06. marts 2007 - 19:57 #6
if(!fopen("$IP","r")){
echo "Server is currently Down!";
}
else {
echo "Server is currently Up!";
}

Den her virker..

MEN... når min webserver IKKE kører får jeg en :

Warning: fopen(http://***.***.***.***:80): failed to open stream: Connection refused in /home/www/***********/index.php on line 5
Server is currently Down!

Hvordan slipper jeg af med den warning ?
Avatar billede blackscorpion Nybegynder
06. marts 2007 - 19:58 #7
http://dk2.php.net/manual/en/function.error-reporting.php

dk2.php.net er min ven, ved jeg godt. :)

error_reporting(0);


Men smid et svar n00b2003. ;)
Avatar billede noob2003 Nybegynder
06. marts 2007 - 22:01 #8
er det svar nok ;)
Avatar billede blackscorpion Nybegynder
07. marts 2007 - 11:01 #9
ahhh nu strammer du den. :P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester