如何限制用户在PHP中更改URL

I would like to know that if there is a method in the controller which require arguments and the user changes the argument in the URL by hand, and presses enter it should display the default page. Below is my bootstrap, then I have already created a error controller for URL error. So please give some coding guide or if there is some thing in my code, change it. Thanks in advance.

<?php
    class App
    {
        protected $controller = 'indexController';
        protected $method = 'index';
        protected $params = array();
        public function __construct()
        {
            $url = $this->parseUrl();
            //print_r($url);
            if (isset($url[0]))
            {
                if (file_exists('app/controllers/'.$url[0].'.php'))
                {
                    $this->controller = $url[0];
                    unset($url[0]);

                }
                require_once('app/controllers/'.$this->controller.'.php');
                $this->controller = new $this->controller;
            }
            else 
                {
                    $error = new errorController();
                    $error->setError("Page Not Found");
                    echo $error->getError();
                }       

            if (isset($url[1]))
            {
                if (method_exists($this->controller,$url[1]))
                {
                    $this->method = $url[1];
                    unset($url[1]);
                }
                else
                {
                    $error = new errorController();
                    $error->setError("Page Not Found");
                    echo $error->getError();
                }

            }
            else
                {
                    $error = new errorController();
                    $error->setError("Page Not Found");
                    echo $error->getError();


                }

            $this->params = $url ? array_values($url) : array();
            call_user_func_array(array($this->controller,$this->method),$this->params);
        }
        public function parseUrl()
        {
            if (isset($_GET['url']))
            {
                return $url =explode('/',filter_var(rtrim($_GET['url'],'/'),FILTER_SANITIZE_URL));
            }
        }
    }

The method itself must check if the parameters provided are valid and throw an exception if not. Afterwards just catch the exception and trigger and error page to be displayed.

Seems like you could use POST and $_POST, instead of GET. Then it won't matter if the user includes or alters parameters because your PHP will ignore them.