akoimeexx

Quick 'n Dirty Request Forwarding

Jun 28th, 2011
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.67 KB | None | 0 0
  1. <?php
  2.     /**
  3.      * Request Forwarding - A quick script in PHP
  4.      * written by @akoimeexx, inspired by @digininja
  5.      */
  6.    
  7.     switch ($_SERVER['REQUEST_METHOD']) {
  8.         case 'GET':
  9.             if(count($_GET) < 1) {
  10.                 echo 'no GET request variables defined';
  11.                 break;
  12.             }
  13.            
  14.             if(isset($_GET['url_redirect'])) {
  15.                 $curl_url = $_GET['url_redirect'] . (strpos($_GET['url_redirect'], '?') === FALSE ? '?' : ''). http_build_query($_GET);
  16.                 $curl_resource = curl_init($curl_url);
  17.                 unset($_GET['url_redirect']);
  18.                
  19.                 curl_setopt($curl_resource, CURLOPT_RETURNTRANSFER, true);
  20.                 $curl_referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "";
  21.                 curl_setopt($curl_resource, CURLOPT_REFERER, $curl_referrer);
  22.                
  23.                 echo curl_exec($curl_resource);
  24.                
  25.                 curl_close($curl_resource);
  26.             } else {
  27.                 echo 'no url_redirect was passed, or the resource target does not exist';
  28.             }
  29.             break;
  30.         case 'POST':
  31.             if(count($_POST) < 1) {
  32.                 echo 'no POST request variables defined';
  33.                 break;
  34.             }
  35.  
  36.             if(isset($_POST['url_redirect'])) {
  37.                 $curl_resource = curl_init($_POST['url_redirect']);
  38.                 unset($_POST['url_redirect']);
  39.                
  40.                 curl_setopt($curl_resource, CURLOPT_POST, true);
  41.                 curl_setopt($curl_resource, CURLOPT_RETURNTRANSFER, true);
  42.                 $curl_referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "";
  43.                 curl_setopt($curl_resource, CURLOPT_REFERER, $curl_referrer);
  44.                 curl_setopt($curl_resource, CURLOPT_POSTFIELDS, $_POST);
  45.                
  46.                 echo curl_exec($curl_resource);
  47.                
  48.                 curl_close($curl_resource);
  49.             } else {
  50.                 echo 'no url_redirect was passed, or the resource target does not exist';
  51.             }
  52.             break;
  53.     }
  54. ?>
Advertisement
Add Comment
Please, Sign In to add comment