[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/_test/cases/inc/ -> common_clientip.test.php (source)

   1  <?php
   2  
   3  require_once  DOKU_INC.'inc/init.php';
   4  require_once  DOKU_INC.'inc/common.php';
   5  
   6  class common_clientIP_test extends UnitTestCase {
   7  
   8      function test_simple_all(){
   9          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  10          $_SERVER['HTTP_X_REAL_IP']       = '';
  11          $_SERVER['HTTP_X_FORWARDED_FOR'] = '';
  12          $out = '123.123.123.123';
  13          $this->assertEqual(clientIP(),$out);
  14      }
  15  
  16      function test_proxy1_all(){
  17          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  18          $_SERVER['HTTP_X_REAL_IP']       = '77.77.77.77';
  19          $_SERVER['HTTP_X_FORWARDED_FOR'] = '';
  20          $out = '123.123.123.123,77.77.77.77';
  21          $this->assertEqual(clientIP(),$out);
  22      }
  23  
  24      function test_proxy2_all(){
  25          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  26          $_SERVER['HTTP_X_REAL_IP']       = '';
  27          $_SERVER['HTTP_X_FORWARDED_FOR'] = '77.77.77.77';
  28          $out = '123.123.123.123,77.77.77.77';
  29          $this->assertEqual(clientIP(),$out);
  30      }
  31  
  32      function test_proxyhops_all(){
  33          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  34          $_SERVER['HTTP_X_REAL_IP']       = '';
  35          $_SERVER['HTTP_X_FORWARDED_FOR'] = '77.77.77.77,66.66.66.66';
  36          $out = '123.123.123.123,77.77.77.77,66.66.66.66';
  37          $this->assertEqual(clientIP(),$out);
  38      }
  39  
  40      function test_simple_single(){
  41          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  42          $_SERVER['HTTP_X_REAL_IP']       = '';
  43          $_SERVER['HTTP_X_FORWARDED_FOR'] = '';
  44          $out = '123.123.123.123';
  45          $this->assertEqual(clientIP(true),$out);
  46      }
  47  
  48      function test_proxy1_single(){
  49          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  50          $_SERVER['HTTP_X_REAL_IP']       = '77.77.77.77';
  51          $_SERVER['HTTP_X_FORWARDED_FOR'] = '';
  52          $out = '77.77.77.77';
  53          $this->assertEqual(clientIP(true),$out);
  54      }
  55  
  56      function test_proxy2_single(){
  57          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  58          $_SERVER['HTTP_X_REAL_IP']       = '';
  59          $_SERVER['HTTP_X_FORWARDED_FOR'] = '77.77.77.77';
  60          $out = '77.77.77.77';
  61          $this->assertEqual(clientIP(true),$out);
  62      }
  63  
  64      function test_proxyhops_single(){
  65          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  66          $_SERVER['HTTP_X_REAL_IP']       = '';
  67          $_SERVER['HTTP_X_FORWARDED_FOR'] = '77.77.77.77,66.66.66.66';
  68          $out = '66.66.66.66';
  69          $this->assertEqual(clientIP(true),$out);
  70      }
  71  
  72      function test_local_all(){
  73          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  74          $_SERVER['HTTP_X_REAL_IP']       = '';
  75          $_SERVER['HTTP_X_FORWARDED_FOR'] = '127.0.0.1';
  76          $out = '123.123.123.123,127.0.0.1';
  77          $this->assertEqual(clientIP(),$out);
  78      }
  79  
  80      function test_local1_single(){
  81          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  82          $_SERVER['HTTP_X_REAL_IP']       = '';
  83          $_SERVER['HTTP_X_FORWARDED_FOR'] = '127.0.0.1';
  84          $out = '123.123.123.123';
  85          $this->assertEqual(clientIP(true),$out);
  86      }
  87  
  88      function test_local2_single(){
  89          $_SERVER['REMOTE_ADDR']          = '127.0.0.1';
  90          $_SERVER['HTTP_X_REAL_IP']       = '';
  91          $_SERVER['HTTP_X_FORWARDED_FOR'] = '123.123.123.123';
  92          $out = '123.123.123.123';
  93          $this->assertEqual(clientIP(true),$out);
  94      }
  95  
  96      function test_local3_single(){
  97          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
  98          $_SERVER['HTTP_X_REAL_IP']       = '';
  99          $_SERVER['HTTP_X_FORWARDED_FOR'] = '127.0.0.1,10.0.0.1,192.168.0.2,172.17.1.1,172.21.1.1,172.31.1.1';
 100          $out = '123.123.123.123';
 101          $this->assertEqual(clientIP(true),$out);
 102      }
 103  
 104      function test_local4_single(){
 105          $_SERVER['REMOTE_ADDR']          = '127.0.0.1';
 106          $_SERVER['HTTP_X_REAL_IP']       = '';
 107          $_SERVER['HTTP_X_FORWARDED_FOR'] = '192.168.0.5';
 108          $out = '192.168.0.5';
 109          $this->assertEqual(clientIP(true),$out);
 110      }
 111  
 112      function test_garbage_all(){
 113          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
 114          $_SERVER['HTTP_X_REAL_IP']       = '';
 115          $_SERVER['HTTP_X_FORWARDED_FOR'] = 'some garbage, or something, 222';
 116          $out = '123.123.123.123';
 117          $this->assertEqual(clientIP(),$out);
 118      }
 119  
 120      function test_garbage_single(){
 121          $_SERVER['REMOTE_ADDR']          = '123.123.123.123';
 122          $_SERVER['HTTP_X_REAL_IP']       = '';
 123          $_SERVER['HTTP_X_FORWARDED_FOR'] = 'some garbage, or something, 222';
 124          $out = '123.123.123.123';
 125          $this->assertEqual(clientIP(true),$out);
 126      }
 127  
 128      function test_garbageonly_all(){
 129          $_SERVER['REMOTE_ADDR']          = 'argh';
 130          $_SERVER['HTTP_X_REAL_IP']       = '';
 131          $_SERVER['HTTP_X_FORWARDED_FOR'] = 'some garbage, or something, 222';
 132          $out = '0.0.0.0';
 133          $this->assertEqual(clientIP(),$out);
 134      }
 135  
 136      function test_garbageonly_single(){
 137          $_SERVER['REMOTE_ADDR']          = 'argh';
 138          $_SERVER['HTTP_X_REAL_IP']       = '';
 139          $_SERVER['HTTP_X_FORWARDED_FOR'] = 'some garbage, or something, 222';
 140          $out = '0.0.0.0';
 141          $this->assertEqual(clientIP(true),$out);
 142      }
 143  
 144      function test_malicious(){
 145          $_SERVER['REMOTE_ADDR']          = '';
 146          $_SERVER['HTTP_X_REAL_IP']       = '';
 147          $_SERVER['HTTP_X_FORWARDED_FOR'] = '<?php set_time_limit(0);echo \'my_delim\';passthru(123.123.123.123);die;?>';
 148          $out = '123.123.123.123';
 149          $this->assertEqual(clientIP(),$out);
 150      }
 151  
 152  
 153  }
 154  
 155  //Setup VIM: ex: et ts=4 enc=utf-8 :


Generated: Wed Dec 3 01:30:02 2008 Cross-referenced by PHPXref 0.7