/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/View
/FileViewFinder.php
/**
* Find the given view in the list of paths.
*
* @param string $name
* @param array $paths
* @return string
*
* @throws \InvalidArgumentException
*/
protected function findInPaths($name, $paths)
{
foreach ((array) $paths as $path) {
foreach ($this->getPossibleViewFiles($name) as $file) {
if ($this->files->exists($viewPath = $path.'/'.$file)) {
return $viewPath;
}
}
}
throw new InvalidArgumentException("View [$name] not found.");
}
/**
* Get an array of possible view files.
*
* @param string $name
* @return array
*/
protected function getPossibleViewFiles($name)
{
return array_map(function ($extension) use ($name) {
return str_replace('.', '/', $name).'.'.$extension;
}, $this->extensions);
}
/**
* Add a location to the finder.
*
* @param string $location
* @return void
Arguments
"View [homes.article.article_view] not found."
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/View
/FileViewFinder.php
}
}
/**
* Get the fully qualified location of the view.
*
* @param string $name
* @return string
*/
public function find($name)
{
if (isset($this->views[$name])) {
return $this->views[$name];
}
if ($this->hasHintInformation($name = trim($name))) {
return $this->views[$name] = $this->findNamespacedView($name);
}
return $this->views[$name] = $this->findInPaths($name, $this->paths);
}
/**
* Get the path to a template with a named path.
*
* @param string $name
* @return string
*/
protected function findNamespacedView($name)
{
list($namespace, $view) = $this->parseNamespaceSegments($name);
return $this->findInPaths($view, $this->hints[$namespace]);
}
/**
* Get the segments of a template with a named path.
*
* @param string $name
* @return array
Arguments
"homes.article.article_view"
array:1 [
0 => "/www/wwwroot/dun/resources/views"
]
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/View
/Factory.php
{
$data = array_merge($mergeData, $this->parseData($data));
return tap($this->viewInstance($path, $path, $data), function ($view) {
$this->callCreator($view);
});
}
/**
* Get the evaluated view contents for the given view.
*
* @param string $view
* @param array $data
* @param array $mergeData
* @return \Illuminate\Contracts\View\View
*/
public function make($view, $data = [], $mergeData = [])
{
$path = $this->finder->find(
$view = $this->normalizeName($view)
);
// Next, we will create the view instance and call the view creator for the view
// which can set any data, etc. Then we will return the view instance back to
// the caller for rendering or performing other view manipulations on this.
$data = array_merge($mergeData, $this->parseData($data));
return tap($this->viewInstance($view, $path, $data), function ($view) {
$this->callCreator($view);
});
}
/**
* Get the first view that actually exists from the given list.
*
* @param array $views
* @param array $data
* @param array $mergeData
* @return \Illuminate\Contracts\View\View
*/
Arguments
"homes.article.article_view"
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/helpers.php
}
if (! function_exists('view')) {
/**
* Get the evaluated view contents for the given view.
*
* @param string $view
* @param array $data
* @param array $mergeData
* @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory
*/
function view($view = null, $data = [], $mergeData = [])
{
$factory = app(ViewFactory::class);
if (func_num_args() === 0) {
return $factory;
}
return $factory->make($view, $data, $mergeData);
}
}
Arguments
"homes.article.article_view"
array:3 [
"categories" => array:4 [
0 => array:8 [
"id" => 3
"parent_id" => 0
"title" => "帮助中心"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:32:40"
"updated_at" => "2017-10-30 09:32:40"
"children" => array:9 [
0 => array:7 [
"id" => 5
"parent_id" => 3
"title" => "账户问题"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:35:40"
"updated_at" => "2017-10-30 09:35:40"
]
1 => array:7 [
"id" => 6
"parent_id" => 3
"title" => "选购指南"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:36:10"
"updated_at" => "2017-10-30 09:36:10"
]
2 => array:7 [
"id" => 7
"parent_id" => 3
"title" => "付款结算"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:36:27"
"updated_at" => "2017-10-30 09:36:27"
]
3 => array:7 [
"id" => 22
"parent_id" => 3
"title" => "最新消息"
"sort" => 0
"status" => 1
"created_at" => "2017-11-06 10:09:09"
"updated_at" => "2017-11-06 14:44:17"
]
4 => array:7 [
"id" => 23
"parent_id" => 3
"title" => "官方公告"
"sort" => 0
"status" => 1
"created_at" => "2017-11-06 10:09:35"
"updated_at" => "2017-11-06 14:44:24"
]
5 => array:7 [
"id" => 24
"parent_id" => 3
"title" => "新用户指南"
"sort" => 0
"status" => 1
"created_at" => "2019-07-17 17:03:11"
"updated_at" => "2019-07-17 17:03:11"
]
6 => array:7 [
"id" => 25
"parent_id" => 3
"title" => "服务器入门"
"sort" => 0
"status" => 1
"created_at" => "2019-07-17 17:03:32"
"updated_at" => "2019-07-17 17:03:32"
]
7 => array:7 [
"id" => 26
"parent_id" => 3
"title" => "进阶教程"
"sort" => 0
"status" => 1
"created_at" => "2019-07-17 17:03:41"
"updated_at" => "2019-07-17 17:03:41"
]
8 => array:7 [
"id" => 27
"parent_id" => 3
"title" => "常见问题"
"sort" => 0
"status" => 1
"created_at" => "2019-07-17 17:03:54"
"updated_at" => "2019-07-17 17:03:54"
]
]
]
1 => array:8 [
"id" => 4
"parent_id" => 0
"title" => "关于我们"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:32:52"
"updated_at" => "2017-10-30 14:17:04"
"children" => array:5 [
0 => array:7 [
"id" => 11
"parent_id" => 4
"title" => "新闻公告"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:47:28"
"updated_at" => "2017-10-30 09:47:28"
]
1 => array:7 [
"id" => 12
"parent_id" => 4
"title" => "业内资讯"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:47:57"
"updated_at" => "2017-10-30 09:47:57"
]
2 => array:7 [
"id" => 28
"parent_id" => 4
"title" => "服务器相关问题"
"sort" => 28
"status" => 1
"created_at" => "2020-01-02 11:47:12"
"updated_at" => "2020-01-02 11:47:12"
]
3 => array:7 [
"id" => 29
"parent_id" => 4
"title" => "安全相关问题"
"sort" => 29
"status" => 1
"created_at" => "2020-01-02 11:52:10"
"updated_at" => "2020-01-02 11:52:10"
]
4 => array:7 [
"id" => 30
"parent_id" => 4
"title" => "云主机相关问题"
"sort" => 30
"status" => 1
"created_at" => "2020-01-02 11:54:53"
"updated_at" => "2020-01-02 11:54:53"
]
]
]
2 => array:8 [
"id" => 15
"parent_id" => 0
"title" => "云服务器"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:44:29"
"updated_at" => "2017-10-30 11:44:29"
"children" => array:4 [
0 => array:7 [
"id" => 16
"parent_id" => 15
"title" => "控制台使用"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:46:44"
"updated_at" => "2017-10-30 11:53:15"
]
1 => array:7 [
"id" => 17
"parent_id" => 15
"title" => "基础类问题"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:47:15"
"updated_at" => "2017-10-30 11:47:15"
]
2 => array:7 [
"id" => 18
"parent_id" => 15
"title" => "网络类问题"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:47:46"
"updated_at" => "2017-10-30 11:47:46"
]
3 => array:7 [
"id" => 19
"parent_id" => 15
"title" => "安全类问题"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:48:22"
"updated_at" => "2017-10-30 11:48:22"
]
]
]
3 => array:8 [
"id" => 20
"parent_id" => 0
"title" => "常用工具"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:54:17"
"updated_at" => "2017-10-30 11:54:17"
"children" => array:1 [
0 => array:7 [
"id" => 21
"parent_id" => 20
"title" => "常用管理工具"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:54:55"
"updated_at" => "2017-10-30 11:54:55"
]
]
]
]
"article" => array:10 [
"id" => 170
"category_id" => 12
"title" => "互联网IT安全之服务器安全"
"abstract" => "现在在大互联网针对不同基础安全运维服务:透过.机房运维服务中的现场运维、故障排除,监测、例行检查等现场服务,加强机房信息系统的稳定性、连续性等。通过对机房的网络设备、主机"
"keyword" => null
"sort" => 0
"content" => """
<p>现在在大互联网针对不同基础安全运维服务:透过.机房运维服务中的现场运维、故障排除,监测、例行检查等现场服务,加强机房信息系统的稳定性、连续性等。通过对机房的网络设备、主机、数据库等应用系统进行漏洞扫描,并根据扫描结果进行综合分析,评估漏洞的危害大小,最终为客户提供可行的漏洞解决方案。<a href="http://www.59dun.com">高防服务器</a>成解决DDOS/CC的防护方案的重中之重了。</p>\r\n
\r\n
<p>安全配置检查:以安全基线工具,对网络设备、主机、数据库、中间件等常见应用的安全策略配置进行检查,输出专业的检查报告使客户充分掌握当前设备的配置情况,了解潜在的配置隐患。定期对客户IT系统、网络、安全产品等设备进行日志收集、人工分析并输出分析报告。做好重要分析日志包括IT系统Web日志,路由器、交换机、IDS/IPS入侵检测/防御设备、防火墙等各类日志。安全设备巡检主要内容为检查安全设备的运行状况,包括CPU、内存占有率,接口工作状态等。 高防服务器可以更好的让你避免攻击的伤害,保障网络畅通。</p>\r\n
\r\n
<p>安全设备厂家发布的产品升级信息,定期对网络安全设备进行升级,保持网络安全系统的软件处于最新状态。如有设备临时升级信息时,根据升级信息及时进行升级操作。59盾网络科技安全服务小组实时关注安全动态,为客户精心提供安全漏洞(补丁)通告服务。</p>\r\n
\r\n
<p>该通告包括安全威胁通告、安全服务器动态、恶意代码防范、紧急通告等多项内容。</p>\r\n
\r\n
<p>安全应急响应</p>\r\n
\r\n
<p>判断事件类别,通过远程和现场支持的形式协助客户对遇到的突发性安全事件进行紧急分析和处理。主要工作内容包括:突发事件相关信息的收集、事件的分析、报告提交、问题解决建议等。59盾网络科技安全专家协助客户进行特定内容的安全应急演练工作,一般包括应急演练的设计、环境搭建、演练配合实施、演练成果汇报等安全生命周期内容。应急演练可包含物理层、网络层、主机层、应用层等不同层次应急内容。</p>\r\n
\r\n
<p>网站安全监测,通过多种监控方式,对客户网站进行安全监测服务。当监测到用户网站遇到风险状况后,59盾科技的安全专家会在第一时间确认并通知用户,同时提供专业的解决方案建议。</p>\r\n
\r\n
<p>渗透测试:结合客户需求,对客户的内部系统、网站进行各种安全渗透测试,找出测试目标存在的安全问题,提出可操作的问题修补建议。渗透测试采用黑盒方式,测试人员站在攻击者的角度来对目标系统、59盾网站实施测试。网络架构分析,从网络建设的规范性、可靠性、边界安全、网络协议安全、网络安全管理等多个方面进行综合评估。评估结果包括定性和定量分析,使用户对网络中存在的风险了如指掌。对客户系统进行安全功能审核实施。安全功能审核主要针对B/S或C/S架构的应用,审核内容包括身份鉴别、授权、访问控制、数据安全、抗抵赖等多个基础。</p>\r\n
\r\n
<p>应用开发安全铺导:59盾科技在客户应用系统开发项目中,针对应用开发全过程推出应用开发安全辅导咨询服务,该服务以系统为单位,对项目组开发中进行应用需求、设计、开发、测试、发布等方面的安全辅助指导,以提高项目组开发团队的整体安全开发水平。</p>\r\n
\r\n
<p>在疑似入侵发生后,对客户的主机操作系统和应用运行环境的恶意代码排查,主要包括可疑文件、可疑服务、可疑进程、可疑端口、可疑的网络连接、网站WebShell后门等一系列内容的深入检查和分析。对客户的服务器系统、网站等Web应用程序,提供ASP、.NET(VB/C#)、JSP(JAVA)、PHP等主流语言所编写代码的安全审计,找出源代码中可能存在的安全隐患,提出针对性解决建议。代码审计采用白盒方式只针对源代码。根据GB/T 22239-2008信息系统安全等级保护基本要求和所属行业等级保护要求,结合组织自身情况和需求,对客户系统进行等保实施。在系统定级、差距分析、评估、整改、运维等各环节提供咨询和建设。</p>\r\n
\r\n
<p>安全体系规划</p>\r\n
\r\n
<p>我们专注于为用户提供优质的安全服务器,提供具有核心竞争力的安全服务器产品及解决方案,以专业技能、专业流程、专业品质,为用户实现业务的稳定运行,已成功为政府以及各行业企业用户提供了优质的安全服务。 五九盾网络。</p>
"""
"created_at" => "2018-01-10 13:42:30"
"updated_at" => "2018-01-10 13:42:30"
"pv" => 0
]
"id" => "170"
]
[]
/www
/wwwroot
/dun
/app
/Http
/Controllers
/Home
/HomeController.php
if (!$article) {
abort(404);
}
Article::where('id', $id)->increment('pv');
$pageData['article'] = $article;
return view('homes.solution.answer',$pageData);
}
public function article($id){
$categories = Article_category::where('status','=',1)->get()->toArray();
$categories = $this->get_attr($categories);
$id = $id ? $id : $categories[0]['children'][0]['id'];
$title = Article_category::where('id','=',$id)->value('title');
$article = Article::where('category_id','=',$id)->select('title','id','created_at','abstract')->orderBy('id','desc')->get()->toArray();
return view('homes.article.article',['categories'=>$categories,'article'=>$article,'id'=>$id,'title'=>$title]);
}
public function article_view($id){
$categories = Article_category::where('status','=',1)->get()->toArray();
$categories = $this->get_attr($categories);
$article = Article::where('id','=',$id)->first()->toArray();
return view('homes.article.article_view',['categories'=>$categories,'article'=>$article,'id'=>$id]);
}
private function get_attr($arr,$pid = 0){
$tree = array();
foreach($arr as $v){
if($v['parent_id'] == $pid){
$v['children'] = $this->get_attr($arr,$v['id']);
if($v['children'] == null){
unset($v['children']);
}
$tree[] = $v;
}
}
return $tree;
}
public function product_server_post(Request $request,$id){
$server = Product_server::find($id);
if(!$server) return redirect('/');
$server->remark = $request->get('remark');
$server->save();
Arguments
"homes.article.article_view"
array:3 [
"categories" => array:4 [
0 => array:8 [
"id" => 3
"parent_id" => 0
"title" => "帮助中心"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:32:40"
"updated_at" => "2017-10-30 09:32:40"
"children" => array:9 [
0 => array:7 [
"id" => 5
"parent_id" => 3
"title" => "账户问题"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:35:40"
"updated_at" => "2017-10-30 09:35:40"
]
1 => array:7 [
"id" => 6
"parent_id" => 3
"title" => "选购指南"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:36:10"
"updated_at" => "2017-10-30 09:36:10"
]
2 => array:7 [
"id" => 7
"parent_id" => 3
"title" => "付款结算"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:36:27"
"updated_at" => "2017-10-30 09:36:27"
]
3 => array:7 [
"id" => 22
"parent_id" => 3
"title" => "最新消息"
"sort" => 0
"status" => 1
"created_at" => "2017-11-06 10:09:09"
"updated_at" => "2017-11-06 14:44:17"
]
4 => array:7 [
"id" => 23
"parent_id" => 3
"title" => "官方公告"
"sort" => 0
"status" => 1
"created_at" => "2017-11-06 10:09:35"
"updated_at" => "2017-11-06 14:44:24"
]
5 => array:7 [
"id" => 24
"parent_id" => 3
"title" => "新用户指南"
"sort" => 0
"status" => 1
"created_at" => "2019-07-17 17:03:11"
"updated_at" => "2019-07-17 17:03:11"
]
6 => array:7 [
"id" => 25
"parent_id" => 3
"title" => "服务器入门"
"sort" => 0
"status" => 1
"created_at" => "2019-07-17 17:03:32"
"updated_at" => "2019-07-17 17:03:32"
]
7 => array:7 [
"id" => 26
"parent_id" => 3
"title" => "进阶教程"
"sort" => 0
"status" => 1
"created_at" => "2019-07-17 17:03:41"
"updated_at" => "2019-07-17 17:03:41"
]
8 => array:7 [
"id" => 27
"parent_id" => 3
"title" => "常见问题"
"sort" => 0
"status" => 1
"created_at" => "2019-07-17 17:03:54"
"updated_at" => "2019-07-17 17:03:54"
]
]
]
1 => array:8 [
"id" => 4
"parent_id" => 0
"title" => "关于我们"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:32:52"
"updated_at" => "2017-10-30 14:17:04"
"children" => array:5 [
0 => array:7 [
"id" => 11
"parent_id" => 4
"title" => "新闻公告"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:47:28"
"updated_at" => "2017-10-30 09:47:28"
]
1 => array:7 [
"id" => 12
"parent_id" => 4
"title" => "业内资讯"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 09:47:57"
"updated_at" => "2017-10-30 09:47:57"
]
2 => array:7 [
"id" => 28
"parent_id" => 4
"title" => "服务器相关问题"
"sort" => 28
"status" => 1
"created_at" => "2020-01-02 11:47:12"
"updated_at" => "2020-01-02 11:47:12"
]
3 => array:7 [
"id" => 29
"parent_id" => 4
"title" => "安全相关问题"
"sort" => 29
"status" => 1
"created_at" => "2020-01-02 11:52:10"
"updated_at" => "2020-01-02 11:52:10"
]
4 => array:7 [
"id" => 30
"parent_id" => 4
"title" => "云主机相关问题"
"sort" => 30
"status" => 1
"created_at" => "2020-01-02 11:54:53"
"updated_at" => "2020-01-02 11:54:53"
]
]
]
2 => array:8 [
"id" => 15
"parent_id" => 0
"title" => "云服务器"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:44:29"
"updated_at" => "2017-10-30 11:44:29"
"children" => array:4 [
0 => array:7 [
"id" => 16
"parent_id" => 15
"title" => "控制台使用"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:46:44"
"updated_at" => "2017-10-30 11:53:15"
]
1 => array:7 [
"id" => 17
"parent_id" => 15
"title" => "基础类问题"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:47:15"
"updated_at" => "2017-10-30 11:47:15"
]
2 => array:7 [
"id" => 18
"parent_id" => 15
"title" => "网络类问题"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:47:46"
"updated_at" => "2017-10-30 11:47:46"
]
3 => array:7 [
"id" => 19
"parent_id" => 15
"title" => "安全类问题"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:48:22"
"updated_at" => "2017-10-30 11:48:22"
]
]
]
3 => array:8 [
"id" => 20
"parent_id" => 0
"title" => "常用工具"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:54:17"
"updated_at" => "2017-10-30 11:54:17"
"children" => array:1 [
0 => array:7 [
"id" => 21
"parent_id" => 20
"title" => "常用管理工具"
"sort" => 0
"status" => 1
"created_at" => "2017-10-30 11:54:55"
"updated_at" => "2017-10-30 11:54:55"
]
]
]
]
"article" => array:10 [
"id" => 170
"category_id" => 12
"title" => "互联网IT安全之服务器安全"
"abstract" => "现在在大互联网针对不同基础安全运维服务:透过.机房运维服务中的现场运维、故障排除,监测、例行检查等现场服务,加强机房信息系统的稳定性、连续性等。通过对机房的网络设备、主机"
"keyword" => null
"sort" => 0
"content" => """
<p>现在在大互联网针对不同基础安全运维服务:透过.机房运维服务中的现场运维、故障排除,监测、例行检查等现场服务,加强机房信息系统的稳定性、连续性等。通过对机房的网络设备、主机、数据库等应用系统进行漏洞扫描,并根据扫描结果进行综合分析,评估漏洞的危害大小,最终为客户提供可行的漏洞解决方案。<a href="http://www.59dun.com">高防服务器</a>成解决DDOS/CC的防护方案的重中之重了。</p>\r\n
\r\n
<p>安全配置检查:以安全基线工具,对网络设备、主机、数据库、中间件等常见应用的安全策略配置进行检查,输出专业的检查报告使客户充分掌握当前设备的配置情况,了解潜在的配置隐患。定期对客户IT系统、网络、安全产品等设备进行日志收集、人工分析并输出分析报告。做好重要分析日志包括IT系统Web日志,路由器、交换机、IDS/IPS入侵检测/防御设备、防火墙等各类日志。安全设备巡检主要内容为检查安全设备的运行状况,包括CPU、内存占有率,接口工作状态等。 高防服务器可以更好的让你避免攻击的伤害,保障网络畅通。</p>\r\n
\r\n
<p>安全设备厂家发布的产品升级信息,定期对网络安全设备进行升级,保持网络安全系统的软件处于最新状态。如有设备临时升级信息时,根据升级信息及时进行升级操作。59盾网络科技安全服务小组实时关注安全动态,为客户精心提供安全漏洞(补丁)通告服务。</p>\r\n
\r\n
<p>该通告包括安全威胁通告、安全服务器动态、恶意代码防范、紧急通告等多项内容。</p>\r\n
\r\n
<p>安全应急响应</p>\r\n
\r\n
<p>判断事件类别,通过远程和现场支持的形式协助客户对遇到的突发性安全事件进行紧急分析和处理。主要工作内容包括:突发事件相关信息的收集、事件的分析、报告提交、问题解决建议等。59盾网络科技安全专家协助客户进行特定内容的安全应急演练工作,一般包括应急演练的设计、环境搭建、演练配合实施、演练成果汇报等安全生命周期内容。应急演练可包含物理层、网络层、主机层、应用层等不同层次应急内容。</p>\r\n
\r\n
<p>网站安全监测,通过多种监控方式,对客户网站进行安全监测服务。当监测到用户网站遇到风险状况后,59盾科技的安全专家会在第一时间确认并通知用户,同时提供专业的解决方案建议。</p>\r\n
\r\n
<p>渗透测试:结合客户需求,对客户的内部系统、网站进行各种安全渗透测试,找出测试目标存在的安全问题,提出可操作的问题修补建议。渗透测试采用黑盒方式,测试人员站在攻击者的角度来对目标系统、59盾网站实施测试。网络架构分析,从网络建设的规范性、可靠性、边界安全、网络协议安全、网络安全管理等多个方面进行综合评估。评估结果包括定性和定量分析,使用户对网络中存在的风险了如指掌。对客户系统进行安全功能审核实施。安全功能审核主要针对B/S或C/S架构的应用,审核内容包括身份鉴别、授权、访问控制、数据安全、抗抵赖等多个基础。</p>\r\n
\r\n
<p>应用开发安全铺导:59盾科技在客户应用系统开发项目中,针对应用开发全过程推出应用开发安全辅导咨询服务,该服务以系统为单位,对项目组开发中进行应用需求、设计、开发、测试、发布等方面的安全辅助指导,以提高项目组开发团队的整体安全开发水平。</p>\r\n
\r\n
<p>在疑似入侵发生后,对客户的主机操作系统和应用运行环境的恶意代码排查,主要包括可疑文件、可疑服务、可疑进程、可疑端口、可疑的网络连接、网站WebShell后门等一系列内容的深入检查和分析。对客户的服务器系统、网站等Web应用程序,提供ASP、.NET(VB/C#)、JSP(JAVA)、PHP等主流语言所编写代码的安全审计,找出源代码中可能存在的安全隐患,提出针对性解决建议。代码审计采用白盒方式只针对源代码。根据GB/T 22239-2008信息系统安全等级保护基本要求和所属行业等级保护要求,结合组织自身情况和需求,对客户系统进行等保实施。在系统定级、差距分析、评估、整改、运维等各环节提供咨询和建设。</p>\r\n
\r\n
<p>安全体系规划</p>\r\n
\r\n
<p>我们专注于为用户提供优质的安全服务器,提供具有核心竞争力的安全服务器产品及解决方案,以专业技能、专业流程、专业品质,为用户实现业务的稳定运行,已成功为政府以及各行业企业用户提供了优质的安全服务。 五九盾网络。</p>
"""
"created_at" => "2018-01-10 13:42:30"
"updated_at" => "2018-01-10 13:42:30"
"pv" => 0
]
"id" => "170"
]
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
}
}
Arguments
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
}
}
Arguments
array:2 [
0 => HomeController {#1047}
1 => "article_view"
]
array:1 [
"id" => "170"
]
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/ControllerDispatcher.php
{
$this->container = $container;
}
/**
* Dispatch a request to a given controller and method.
*
* @param \Illuminate\Routing\Route $route
* @param mixed $controller
* @param string $method
* @return mixed
*/
public function dispatch(Route $route, $controller, $method)
{
$parameters = $this->resolveClassMethodDependencies(
$route->parametersWithoutNulls(), $controller, $method
);
if (method_exists($controller, 'callAction')) {
return $controller->callAction($method, $parameters);
}
return $controller->{$method}(...array_values($parameters));
}
/**
* Get the middleware for the controller instance.
*
* @param \Illuminate\Routing\Controller $controller
* @param string $method
* @return array
*/
public function getMiddleware($controller, $method)
{
if (! method_exists($controller, 'getMiddleware')) {
return [];
}
return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
return static::methodExcludedByOptions($method, $data['options']);
Arguments
"article_view"
array:1 [
"id" => "170"
]
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Route.php
protected function runCallable()
{
$callable = $this->action['uses'];
return $callable(...array_values($this->resolveMethodDependencies(
$this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
)));
}
/**
* Run the route action and return the response.
*
* @return mixed
*
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
*/
protected function runController()
{
return $this->controllerDispatcher()->dispatch(
$this, $this->getController(), $this->getControllerMethod()
);
}
/**
* Get the controller instance for the route.
*
* @return mixed
*/
public function getController()
{
if (! $this->controller) {
$class = $this->parseControllerCallback()[0];
$this->controller = $this->container->make(ltrim($class, '\\'));
}
return $this->controller;
}
/**
Arguments
Route {#881}
HomeController {#1047}
"article_view"
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Route.php
*
* @throws \UnexpectedValueException
*/
protected function parseAction($action)
{
return RouteAction::parse($this->uri, $action);
}
/**
* Run the route action and return the response.
*
* @return mixed
*/
public function run()
{
$this->container = $this->container ?: new Container;
try {
if ($this->isControllerAction()) {
return $this->runController();
}
return $this->runCallable();
} catch (HttpResponseException $e) {
return $e->getResponse();
}
}
/**
* Checks whether the route's action is a controller.
*
* @return bool
*/
protected function isControllerAction()
{
return is_string($this->action['uses']);
}
/**
* Run the route action and return the response.
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/app
/Http
/Middleware
/Token.php
$res = file_get_contents($url);
$profile = json_decode($res, true);
$userId = $profile['data']['user']['id'];
$user = User::find($userId);
Auth::loginUsingId($userId);
if (Auth::check()) {
$time = time();
setcookie('laravel_name', $user->name, $time + 3600, '/', env('SESSION_DOMAIN'));
setcookie('laravel_utokens', md5($user->password . $time) . $time, $time + 3600, '/', env('SESSION_DOMAIN'));
$request->session()->forget('token');
$request->session()->push('token', $token);
} else {
if ($request->ajax()) {
return ['code' => 1, 'msg' => 'token错误',];
} else {
return redirect('/login');
}
}
}
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1048
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#1042 …}
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/app
/Http
/Middleware
/SeoMiddleware.php
setcookie('word', mb_convert_encoding(urldecode($data[0]),'UTF-8','UTF-8,GBK,GB2312,BIG5'), time() + 24 * 60 * 60 * 365, '/');
setcookie('pageurl',$url, time() + 24 * 60 * 60 * 365, '/');//用来和百度线索对接
setcookie('refer', $refer, time() - 1, '/');
}
$tmp['url'] =substr( $refer,0,250);
if (!$_COOKIE['refer']) {
$tmp['ip'] = $ip;
Seo::create($tmp);
}
setcookie('refer', $refer, time() + 24 * 60 * 60 * 365, '/');
}
$customerId = $request->get('customerId');
if ($customerId) {
if (Admin_user::find(intval($customerId))) {
setcookie('customerId', $customerId, time() + 24 * 60 * 60 * 365, '/','.59dun.com');
}
}
return $next($request);
}
public function getIp()
{
if (!empty($_SERVER["HTTP_CLIENT_IP"])) {
$cip = $_SERVER["HTTP_CLIENT_IP"];
} else if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (!empty($_SERVER["REMOTE_ADDR"])) {
$cip = $_SERVER["REMOTE_ADDR"];
} else {
$cip = '';
}
preg_match("/[\d\.]{7,15}/", $cip, $cips);
$cip = isset($cips[0]) ? $cips[0] : 'unknown';
unset($cips);
return $cip;
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1443
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1048 …}
$pipe: "App\Http\Middleware\Token"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/app
/Http
/Middleware
/CheckResponse.php
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class CheckResponse
{
private $except = [
'info',
'login',
'logout',
'register',
'doRegister',
'captcha/default',
];
public function handle(Request $request, Closure $next)
{
$response = $next($request);
if ($request->ajax() || $request->isMethod('post')) {
return $response;
}
$response->headers->remove('Cache-Control');
$path = $request->path();
Log::info('path ', [$path]);
if (!in_array($path, $this->except)) {
$interval = 3600;
header("Etag: " . time().rand());
header("Cache-Control: max-age=$interval");
}
return $response;
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1444
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1443 …}
$pipe: "App\Http\Middleware\SeoMiddleware"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Middleware
/SubstituteBindings.php
*/
public function __construct(Registrar $router)
{
$this->router = $router;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->router->substituteBindings($route = $request->route());
$this->router->substituteImplicitBindings($route);
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1445
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1444 …}
$pipe: "App\Http\Middleware\CheckResponse"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/VerifyCsrfToken.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException;
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
/**
* Determine if the application is running unit tests.
*
* @return bool
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1446
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1445 …}
$pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/View
/Middleware
/ShareErrorsFromSession.php
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// If the current session has an "errors" variable bound to it, we will share
// its value with all view instances so the views can easily access errors
// without having to bind. An empty bag is set when there aren't errors.
$this->view->share(
'errors', $request->session()->get('errors') ?: new ViewErrorBag
);
// Putting the errors in the view for every view allows the developer to just
// assume that some errors are always available, which is convenient since
// they don't have to continually run checks for the presence of errors.
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1447
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1446 …}
$pipe: "App\Http\Middleware\VerifyCsrfToken"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Session
/Middleware
/StartSession.php
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->sessionHandled = true;
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Laravel sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
if ($this->sessionConfigured()) {
$request->setLaravelSession(
$session = $this->startSession($request)
);
$this->collectGarbage($session);
}
$response = $next($request);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
if ($this->sessionConfigured()) {
$this->storeCurrentUrl($request, $session);
$this->addCookieToResponse($response, $session);
}
return $response;
}
/**
* Perform any final actions for the request lifecycle.
*
* @param \Illuminate\Http\Request $request
* @param \Symfony\Component\HttpFoundation\Response $response
* @return void
*/
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1448
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1447 …}
$pipe: "Illuminate\View\Middleware\ShareErrorsFromSession"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Cookie
/Middleware
/AddQueuedCookiesToResponse.php
* Create a new CookieQueue instance.
*
* @param \Illuminate\Contracts\Cookie\QueueingFactory $cookies
* @return void
*/
public function __construct(CookieJar $cookies)
{
$this->cookies = $cookies;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
foreach ($this->cookies->getQueuedCookies() as $cookie) {
$response->headers->setCookie($cookie);
}
return $response;
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1449
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1448 …}
$pipe: "Illuminate\Session\Middleware\StartSession"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Cookie
/Middleware
/EncryptCookies.php
* Disable encryption for the given cookie name(s).
*
* @param string|array $cookieName
* @return void
*/
public function disableFor($cookieName)
{
$this->except = array_merge($this->except, (array) $cookieName);
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return $this->encrypt($next($this->decrypt($request)));
}
/**
* Decrypt the cookies on the request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Request
*/
protected function decrypt(Request $request)
{
foreach ($request->cookies as $key => $c) {
if ($this->isDisabled($key)) {
continue;
}
try {
$request->cookies->set($key, $this->decryptCookie($c));
} catch (DecryptException $e) {
$request->cookies->set($key, null);
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1450
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1449 …}
$pipe: "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/app
/Http
/Middleware
/MobileCheck.php
$urlString = "59duns";
$request_url = $request->url();
if(strpos($request_url, $urlString) == false){
//包含
$url_extension = ltrim($request->path(),'/');
if(is_mobile()) {
$customerId = $request->get('customerId');
if ($customerId) {
if (Admin_user::find(intval($customerId))) {
setcookie('customerId', $customerId, time() + 24 * 60 * 60 * 365, '/');
}
return redirect('https://m.59dun.com'.($url_extension?'/'.$url_extension:'').'?customerId='.$customerId,301);
}else{
return redirect('https://m.59dun.com'.($url_extension?'/'.$url_extension:''),301);
}
}
}
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1451
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1450 …}
$pipe: "App\Http\Middleware\EncryptCookies"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/app
/Http
/Middleware
/BlackIP.php
{
// if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// $ips = $_SERVER['HTTP_X_FORWARDED_FOR'];
// $ip = storage_path('blackips/'.$ips);
// if(!is_file($ip)) {
// $logins = ['num' => 1, 'time' => time()];
// file_put_contents($ip,json_encode($logins));
// }else{
// $logins = json_decode(file_get_contents($ip),true);
// }
// if ($logins['num'] > 10 && ((time() - $logins['time']) <= 60)) {
// file_put_contents(storage_path("black_ip.txt"), $ips."\r\n", FILE_APPEND);
// return redirect("errors/403");
// } else {
// unlink($ip);
// }
// $logins['num'] = $logins['num'] + 1;
// file_put_contents($ip,json_encode(['num' => $logins['num'], 'time' => $logins['time']]));
// }
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#1452
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#1037 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#1451 …}
$pipe: "App\Http\Middleware\MobileCheck"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
return $destination($passable);
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
* Sort the given middleware by priority.
*
Arguments
Closure {#1042
class: "Illuminate\Routing\Router"
this: Router {#25 …}
parameters: {
$request: {}
}
use: {
$route: Route {#881 …}
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param Route $route
* @param Request $request
* @return mixed
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Arguments
Route {#881}
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
{
$this->current = $route = $this->routes->match($request);
$this->container->instance(Route::class, $route);
return $route;
}
/**
* Return the response for the given route.
*
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#881}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
* @return mixed
*/
public function respondWithRoute($name)
{
$route = tap($this->routes->getByName($name))->bind($this->currentRequest);
return $this->runRoute($this->currentRequest, $route);
}
/**
* Dispatch the request to the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
{
return function ($request) {
$this->app->instance('request', $request);
return $this->router->dispatch($request);
};
}
/**
* Call the terminate method on any terminable middleware.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Http\Response $response
* @return void
*/
public function terminate($request, $response)
{
$this->terminateMiddleware($request, $response);
$this->app->terminate();
}
/**
* Call the terminate method on any terminable middleware.
*
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/fideloper
/proxy
/src
/TrustProxies.php
{
$this->config = $config;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->setTrustedProxyHeaderNames($request);
$this->setTrustedProxyIpAddresses($request);
return $next($request);
}
/**
* Sets the trusted proxies on the request to the value of trustedproxy.proxies
*
* @param \Illuminate\Http\Request $request
*/
protected function setTrustedProxyIpAddresses($request)
{
$trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
// We only trust specific IP addresses
if (is_array($trustedIps)) {
return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
}
// We trust any IP address that calls us, but not proxies further
// up the forwarding chain.
// TODO: Determine if this should only trust the first IP address
// Currently it trusts the entire chain (array of IPs),
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#215
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#38 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#217 …}
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/TransformsRequest.php
* The additional attributes passed to the middleware.
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} else {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#208
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#38 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#215 …}
$pipe: "App\Http\Middleware\TrustProxies"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/TransformsRequest.php
* The additional attributes passed to the middleware.
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} else {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#175
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#38 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#208 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/ValidatePostSize.php
class ValidatePostSize
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Http\Exceptions\PostTooLargeException
*/
public function handle($request, Closure $next)
{
$max = $this->getPostMaxSize();
if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
throw new PostTooLargeException;
}
return $next($request);
}
/**
* Determine the server 'post_max_size' as bytes.
*
* @return int
*/
protected function getPostMaxSize()
{
if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
return (int) $postMaxSize;
}
$metric = strtoupper(substr($postMaxSize, -1));
$postMaxSize = (int) $postMaxSize;
switch ($metric) {
case 'K':
return $postMaxSize * 1024;
case 'M':
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#174
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#38 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#175 …}
$pipe: "App\Http\Middleware\TrimStrings"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/CheckForMaintenanceMode.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*/
public function handle($request, Closure $next)
{
if ($this->app->isDownForMaintenance()) {
$data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
}
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#173
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#38 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#174 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ValidatePostSize"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/dingo
/api
/src
/Http
/Middleware
/Request.php
{
try {
if ($this->validator->validateRequest($request)) {
$this->app->singleton(LaravelExceptionHandler::class, function ($app) {
return $app[ExceptionHandler::class];
});
$request = $this->app->make(RequestContract::class)->createFromIlluminate($request);
$this->events->fire(new RequestWasMatched($request, $this->app));
return $this->sendRequestThroughRouter($request);
}
} catch (Exception $exception) {
$this->exception->report($exception);
return $this->exception->handle($exception);
}
return $next($request);
}
/**
* Send the request through the Dingo router.
*
* @param \Dingo\Api\Http\Request $request
*
* @return \Dingo\Api\Http\Response
*/
protected function sendRequestThroughRouter(HttpRequest $request)
{
$this->app->instance('request', $request);
return (new Pipeline($this->app))->send($request)->through($this->middleware)->then(function ($request) {
return $this->router->dispatch($request);
});
}
/**
* Call the terminate method on middlewares.
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#170
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#38 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#173 …}
$pipe: "Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode"
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
return $destination($passable);
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
}
/**
* Send the given request through the middleware / router.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendRequestThroughRouter($request)
{
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
Arguments
Closure {#217
class: "Illuminate\Foundation\Http\Kernel"
this: Kernel {#29 …}
parameters: {
$request: {}
}
}
/www
/wwwroot
/dun
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
$router->middlewareGroup($key, $middleware);
}
foreach ($this->routeMiddleware as $key => $middleware) {
$router->aliasMiddleware($key, $middleware);
}
}
/**
* Handle an incoming HTTP request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function handle($request)
{
try {
$request->enableHttpMethodParameterOverride();
$response = $this->sendRequestThroughRouter($request);
} catch (Exception $e) {
$this->reportException($e);
$response = $this->renderException($request, $e);
} catch (Throwable $e) {
$this->reportException($e = new FatalThrowableError($e));
$response = $this->renderException($request, $e);
}
$this->app['events']->dispatch(
new Events\RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/wwwroot
/dun
/public
/index.php
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
?>
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#1038
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#33 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#1040
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#881 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article_view/170.html"
#requestUri: "/article_view/170.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#1470}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}