繁体   English   中英

URL参数中的Codeigniter斜杠

[英]Codeigniter slash in URL parameters

我有一个控制器,其方法接受2个参数用户名和密码,如下所示:

class Test extends CI_Controller {

    public function index($username= NULL, $password = NULL){
        if($username === NULL){
           echo "Error";          
        }else if($password === NULL){
            echo "Error";
        }else{
            echo "Your username is :"$username." and your password is :".$password;
        }            
    }
}

在我正在做的路径文件中:

$route['Upload/(:any)'] = "Test/index/$1";
$route['Upload/(:any)/(:any)'] = "Test/index/$1/$2";

并在配置文件中:

$config['permitted_uri_chars'] = '';

网址如下: mysite.com/Test/mike123/rtO;"*skj

我面临的问题是密码可以包含一个斜杠,可以使URL像下面那样打破它:

mysite.com/Test/mike123/rtO;"*//skj

网址必须像:mysite.com/Test/param1/param2一样运行我不想对其进行网址编码。 是否有任何解决方案来运行url并获取参数mike123rtO;"*//skj

谢谢

您正在尝试通过URL传递密码。 你知道这根本不安全吗? 您也不想对其进行编码。

我会通过POST传递密码,这更安全,然后直接通过URL传递。

但是,如果这是您想要的,您可以在传入此函数时对密码进行url_encode,并再次将url_decode返回到函数中以供进一步使用

使用像这样的jquery发送用户名和密码

var username = $("#username").val();

var password = $("#password").val();

var datastring ='username='+username+'&password='+password;

$.post(URL,datastring,function(){

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM