akoimeexx icon

Quick 'n Dirty Request Forwarding

akoimeexx | PRO | 06/28/11 03:02:23 PM UTC | 0 ⭐ | 261 👁️ | Never ⏰ | []
PHP |

1.67 KB

|

None

|

0 👍

/

0 👎

<?php
    /**
     * Request Forwarding - A quick script in PHP
     * written by @akoimeexx, inspired by @digininja
     */
    
    switch ($_SERVER['REQUEST_METHOD']) {
        case 'GET':
            if(count($_GET) < 1) {
                echo 'no GET request variables defined'; 
                break;
            }
            
            if(isset($_GET['url_redirect'])) {
                $curl_url = $_GET['url_redirect'] . (strpos($_GET['url_redirect'], '?') === FALSE ? '?' : ''). http_build_query($_GET);
                $curl_resource = curl_init($curl_url);
                unset($_GET['url_redirect']);
                
                curl_setopt($curl_resource, CURLOPT_RETURNTRANSFER, true);
                $curl_referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "";
                curl_setopt($curl_resource, CURLOPT_REFERER, $curl_referrer);
                
                echo curl_exec($curl_resource);
                
                curl_close($curl_resource);
            } else {
                echo 'no url_redirect was passed, or the resource target does not exist';
            }
            break;
        case 'POST':
            if(count($_POST) < 1) {
                echo 'no POST request variables defined'; 
                break;
            }
 
            if(isset($_POST['url_redirect'])) {
                $curl_resource = curl_init($_POST['url_redirect']);
                unset($_POST['url_redirect']);
                
                curl_setopt($curl_resource, CURLOPT_POST, true);
                curl_setopt($curl_resource, CURLOPT_RETURNTRANSFER, true);
                $curl_referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "";
                curl_setopt($curl_resource, CURLOPT_REFERER, $curl_referrer);
                curl_setopt($curl_resource, CURLOPT_POSTFIELDS, $_POST);
                
                echo curl_exec($curl_resource);
                
                curl_close($curl_resource);
            } else {
                echo 'no url_redirect was passed, or the resource target does not exist';
            }
            break;
    }
?>

Comments