Laravel5.1 学习笔记2, 路由

安装的说明请看文档, laravel 安装

#基本路由

你将在 app/Http/routes.php 文件定义大部分路由, 这些路由将被App\Providers\RouteServiceProvider 类所装载. 最基本的laravel路由仅仅包含一个URI和 闭包。

Route::get(‘/‘, function () {    return ‘Hello World‘;});

Route::post(‘foo/bar‘, function () {    return ‘Hello World‘;});

Route::put(‘foo/bar‘, function () {    //});

Route::delete(‘foo/bar‘, function () {    //});

登记一个面向多个请求方法的路由

有时候要注册一个路由给多个HTTP请求方法,需要用到 Route facade 的 match 方法

Route::match([‘get‘, ‘post‘], ‘/‘, function () {    return ‘Hello World‘;});

甚或注册一个路由响应所有HTTP请求,使用 any 方法

Route::any(‘foo‘, function () {    return ‘Hello World‘;});

通常情况下,你将会需要为你的路由生成URL, 你可以使用 url 辅助函数来操作

$url = url(‘foo‘);

 

#路由参数 

    #必要参数 Required Parameters

    #可选参数 Optional Parameters

    #正则表达式限制 Regular Expression Constraints

#命名路由

#路由群组

#CSRF保护

Laravel 提供简易方法,可以保护你的应用程序不受CSRF(跨网站请求伪造)攻击。 跨网站请求伪造是一种恶意攻击, 借以代表经过身份验证的用户执行未经授权的命令。

 

Laravel会自动在在每一位用户的session中放置随机的 token  这个token将被用来确保经过验证的用户是实际发出请求至应用程序的用户。

 

插入CSRF Token到表单

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<input type="hidden" name="_token" value="{{ csrf_token() }}">

上面下一行是在Blade 模板引擎的写法

你不需要手动验证POST, PUT, DELETE请求的CSRF token。 VerifyCsrfToken HTTP中间件 将保存在Session中的和请求输入的token配对来验证token。

 

X-CSRF-TOKEN

除了寻找 CSRF token 作为「POST」参数,中间件也检查 X-XSRF-TOKEN 请求头,比如,你可以把 token 存放在 meta 标签中, 然后使用 jQuery 将它加入到所有的请求头中:

<meta name="csrf-token" content="{{ csrf_token() }}" />

$.ajaxSetup({    headers: {        ‘X-CSRF-TOKEN‘: $(‘meta[name="csrf-token"]‘).attr(‘content‘)    }});

现在所有的 AJAX 请求会自动加入 CSRF token:

$.ajax({  url: "/foo/bar",})
X-XSRF-TOKEN

Laravel 也在 cookie 中存放了名为 XSRF-TOKEN 的 CSRF token。你可以使用这个 cookie 值来设置 X-XSRF-TOKEN 请求头。一些 Javascript 框架,比如 Angular ,会自动设置这个值。

注意: X-CSRF-TOKENX-XSRF-TOKEN 的不同点在于前者使用的是纯文本而后者是一个加密的值,因为在 Laravel 中 cookies 始终是被加密过的。如果你使用 csrf_token() 函数来作为 token 的值, 你需要设置 X-CSRF-TOKEN 请求头。

 

 

 

时间: 2024-10-13 23:56:48

Laravel5.1 学习笔记2, 路由的相关文章

FreakZ学习笔记:路由应答机制

FreakZ学习笔记:路由应答机制 路由应答机制是建立在路由发现和路由请求完成之后进行的,换句话说就是在通信链路建立完成之后,帧信息被传输到目的节点时,由目的节点进行的应答机制:路由应答机制在NWK.c下的mac_data_ind函数被调用,该函数的功能在另一篇文章<FreakZ学习笔记:接收过程详解>中有解释,这里不再赘述:相应代码如下: switch (cmd.cmd_frm_id) { case NWK_CMD_RTE_REQ: if(nib.dev_type != NWK_END_DE

CCNA学习笔记七——路由概述

静态路由协议: 动态路由协议:AS(自治系统):执行统一路由策略的一组设备的集合 EGP(外部网关协议): BGP:边界网关协议 IGP(内部网关协议): 距离矢量协议: RIP:V1,V2 IGRP EIGRP 链路状态路由协议: OSPF IS-IS 静态路由: 特点: 路由表是手工设置的 除非网络管理员干预,否则静态路由不会发生变化 路由表的形成不需要占用网络资源 适合环境 一般用于网络规模很小,拓扑结构固定的网络中 默认路由: 特点: 在所有路由类型中,默认路由优先级最低 适用环境: 一

TtinkPHP学习笔记之路由解析

TP框架URL地址可以有以下几种: http://域名/index.php?m=模块&c=控制器&a=方法         基本get模式 http://域名/index.php/模块/控制器/方法                         路径模式pathinfo http://域名/模块/控制器/方法                                         rewrite重写模式(需要apache开启对.htaccess的支持) http://域名/ind

angular学习笔记(十七)-路由和切换视图

本篇介绍angular中如何通过判断url的hash值来显示不同的视图模板,并使用不同的控制器: 下面,通过一个例子,来一步一步说明它的用法: 我们要做一个邮箱应用,打开的时候显示的是邮件列表: 然后点击邮件主题,可以查看该邮件的详细内容: 点击返回列表,再回到列表页 一. 创建index页面: <!DOCTYPE html> <html> <head> <title>14.1路由和视图切换</title> <meta charset=&q

Codeigniter入门学习笔记09—路由

很久很久以前学习Codeigniter的笔记记录,很随意,但都是自己记录的,希望对需要的人有所帮助. 本文使用word2013编辑并发布 Postbird | There I am , in the world more exciting! Postbird personal website : http://www.ptbird.cn 路由 1.更改默认路由文件 ????application/config/routes.php ????默认控制器 ???? 2.伪静态 ????control

laravel5.4学习--laravel基本路由

最基本的 Laravel 路由只接收一个 URI 和一个闭包,并以此提供一个非常简单且优雅的定义路由方法: Route::get('foo', function () {return 'Hello World';}); 默认路由文件 laravel5.4的默认路由文件定义在Routes文件夹下的web.php中,所有的路由都通过这个文件进行自动加载 有效的路由方法 Route::get($uri, $callback);Route::post($uri, $callback);Route::pu

FreakZ学习笔记:路由发现机制

路由发现机制 路由发现机制只有在发送通信包的过程中会被调用,而接收过程因为发送时候已经进行了通信链路的扫描和连接,所以不会再进行路由发现机制. 路由的所有处理机制都是在NWK层进行的,当然,路由发现机制也一样.当协议栈进行数据发送时,会依次按照APP->APS->NWK->MAC->PHY->Radio的层次关系来进行,APS层执行完成之后,会跳转到NWK层的nwk_data_req函数,该函数为NWK数据请求服务,接收APS层的数据并且加上NWK层的包头,然后将数据打包.n

Ionic学习笔记4_ionic路由(页面切换)

1.1.  ionic路由机制: 状态 1.2.  ion-nav-view <body ng-controller="firstCtrl"> <a class="button" ui-sref="map">map</a> <a class="button" ui-sref="music">music</a> <a class="b

Laravel5.1学习笔记3 HTTP中间件

HTTP 中间件 简介 建立中间件 注册中间件 可终止中间件 简介 HTTP 中间件提供一个方便的机制来过滤进入应用程序的 HTTP 请求,例如,Laravel 默认包含了一个中间件来检验用户身份验证,如果用户没有经过身份验证,中间件会将用户导向登录页面,然而,如果用户通过身份验证,中间件将会允许这个请求进一步继续前进. 当然,除了身份验证之外,中间件也可以被用来执行各式各样的任务,CORS 中间件负责替所有即将离开程序的响应加入适当的响应头,一个日志中间件可以记录所有传入应用程序的请求. La