首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel:使用查询字符串参数重定向到安全路由

Laravel:使用查询字符串参数重定向到安全路由
EN

Stack Overflow用户
提问于 2014-08-16 13:46:39
回答 2查看 2.3K关注 0票数 1

使用Laravel 4,您可以使用以下代码生成一个指向指定路由的URL

代码语言:javascript
复制
$url = route('route-name');
$url = app('url')->route('route-name');    
$url = URL::to('route-name');

是否有可能生成到指定路由的安全 URL (https)?

我知道当你设置它时,你可以“强迫”一条路线是安全的。

代码语言:javascript
复制
Route::get('route-name', array('https', function()
{
    return 'Must be over HTTPS';
}));

然而,“武力”(似乎?)意味着使基于http的浏览不可见的路由。路由方法/函数不了解这一点,仍然生成http URL。

为了澄清,我设置了一条这样的路线

代码语言:javascript
复制
Route::get('/stack-overflow', array('as'=>'route-name', function(){

}));

这是一条具有stack-overflow路径和route-name名称的路由。我可以使用名称(route-name)生成明文route-name链接。我希望使用https路由名(而不是路径)生成一个安全的链接。我还希望生成的URL包含查询字符串参数

代码语言:javascript
复制
https://example.com/stack-overflow?foo=bar
EN

回答 2

Stack Overflow用户

发布于 2014-08-16 18:00:48

你在找网址::安全

代码语言:javascript
复制
URL::secure('absolute/path');
//generates https://domain.com/absolute/path

有一个指定的路线:

代码语言:javascript
复制
URL::secure(URL::route('route-name'));
票数 0
EN

Stack Overflow用户

发布于 2014-08-17 19:33:43

获取上面Razor的注释,您可以使用以下代码生成我在Laravel 4.2.8中寻找的安全的查询字符串参数URL

代码语言:javascript
复制
//first parameter is the configured route name, second is the list of 
//query string parameters, the third parameter (`$absolute`), ensures
//the protocol and server is stripped from the return value (giving us /path/to/route
//vs. http://example.com/path/to/route
$url_path   = URL::route('route-name',['foo'=>'bar'],false);

//with the URL path generated, we can use the secure URL generation to
//turn that path into an https url 
$secure_url = URL::secure($url_path);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25340763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档