Advertisement
carbonize

fsockopen

Feb 6th, 2013
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.55 KB | None | 0 0
  1. <!DOCTYPE HTML>
  2. <html lang="en-US">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <title></title>
  6. </head>
  7. <body>
  8. <form action="" method="GET">
  9. <input type="text" name="ip" value="<?php echo (isset($_GET['ip'])) ? $_GET['ip'] : '';?>" /><br />
  10. <input type="checkbox" value="1" name="getMethod" /> use fsockopen<br />
  11. <input type="submit" value="Check IP" />
  12. </form>
  13.  
  14. <?php
  15. if(isset($_GET['ip']))
  16. {
  17.   if(isset($_GET['getMethod']))
  18.   {
  19.     echo '<h3>Trying with fsockopen...</h3>';
  20.     $SFSdata = fetchURL($_GET['ip']);
  21.   }
  22.   else
  23.   {
  24.     echo '<h3>Trying with file_get_contents...</h3>';
  25.     $SFSurl = 'http://www.stopforumspam.com/api?ip=' . $_GET['ip'] . '&f=serial';
  26.     $SFSdata = file_get_contents($SFSurl);
  27.   }
  28.   if(!empty($SFSdata))
  29.   {
  30.     echo $SFSdata . '<br />';
  31.     $SFSdata = unserialize($SFSdata);
  32.     echo '<pre>';
  33.     print_r($SFSdata);
  34.     echo '</pre>';
  35.     if(isset($SFSdata['ip']['confidence']))
  36.     {
  37.       echo 'Confidence: ' . $SFSdata['ip']['confidence'] . '<br />';
  38.       if($SFSdata['ip']['confidence'] >= 50)
  39.       {
  40.         echo 'Blocked';
  41.       }
  42.     }
  43.   }
  44.   else
  45.     echo 'hmmm';
  46.  
  47. }
  48.  
  49. function fetchURL($ip)
  50. {
  51.   $fp = fsockopen('www.stopforumspam.com', 80);
  52.   $out = "GET /api?ip=' . $ip . '&f=serial HTTP/1.1\r\n";
  53.   $out .= "Host: www.stopforumspam.com\r\n";
  54.   $out .= "Connection: Close\r\n\r\n";
  55.   fwrite($fp, $out);
  56.   while (!feof($fp))
  57.   {
  58.     $foo = fgets($fp);
  59.     if(strpos($foo, 'a:2:{') === 0)
  60.     {
  61.       $SFSdata = $foo;
  62.     }
  63.   }
  64.   fclose($fp);
  65.   return $SFSdata;
  66. }
  67. ?>
  68. </body>
  69. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement