08 Cookie, Session与HTTP请求 杨亮 《PHP语⾔程序设计》对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript PHP基本⾓角⾊色 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 ng Cookie:user=stefyang 提交信息 name1 value1 name2 value2 name3 value3 name4 value4 五⼤大要素:名字、值、域、路径、过期时间 $_COOKIE[name] 所有Cookie都是放到http头信息中 服务器 PHP 浏览器 Cookie Set-Cookie:user=stefyang Cookie:user=stefyang0 码力 | 12 页 | 1.30 MB | 1 年前3
 Laravel 5.3 中文文档还让定义可能在应用消费你的 API 期间被请求的访问令牌域变得简单: Passport::tokensCan([ 'place-orders' => 'Place new orders', 'check-status' => 'Check order status', ]); 此外,Passport 还包含了用于验证访问令牌认证请求包含必要令牌域的中间件: Route: false。 Eloquent 作用域 Eloquent 作用域现在会以第一个作用域约束的布尔值为准,例如,如果你的作用域以 orWhere 开 头,则将不再被转化为正常的 where。如果你现在的代码中使用了这个特性(在循环中添加了多 个 orWhere 约束),需要验证第一个条件是否是正常的 where 以避免布尔逻辑问题。 如果你的作用域约束都是以 where 开头则不需要做任何调整,你可以通过 $user]); } } 在本例中,UserController 需要从数据源获取用户,所以,我们注入了一个可以获取用户的服 务 UserRepository , 其 扮 演 的 角 色 类 似 使 用 Eloquent 从 数 据 库 获 取 用 户 信 息 。 注 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质0 码力 | 691 页 | 9.37 MB | 1 年前3
 Yii 2.0 权威指南, ] ; } 譃 譯 譲 譳 跨域资源共享 轃 轏 轒 轓 1 9 机制允许一个网页的许多资源(例如字体、轊 轡 轶 轡 轓 轣 轲 轩 轰 轴 等) 这些资源可以通过其他域名访问获取。 特别是 轊 轡 轶 轡 轓 轣 轲 轩 轰 轴 的 轁 轊 轁 轘 调用可 使用 轘 轍 轌 轈 轴 轴 轰 轒 轥 轱 轵 轥 轳 轴 机制, 由于同源安全策略该跨域请求会被网页浏览 器禁止。轃 轏 轒 轓 轓 定义浏览器和服务器交互时哪些跨域请求允许和禁止。 譃 譯 譲 譳 警 譩 譬 譴 譥 譲 应在授权輯 认证过滤器之前定义, 以保证 轃 轏 轒 轓 头部被发 送。 u s e y i i \ f i l t e r s \ C o r s ; u s e y i i \ h e l p e r s \ A r r a y H e l p e r ; p u b l i c f u n c 表示数据库中的数据,也可以是一个基于通用模型的类 (继承自譹 譩 譩 譜 譢 譡 譳 譥 譜 譍 譯 譤 譥 譬 ), 来获取任意的输入数据,如登录表单。 提 提 提示 示 示: : : 如果一个表单的输入域与数据库的字段不匹配,或者它 存在只适用于它的特殊的格式或者方法, 则最好为它创建一个 单独的继承自 譹 譩 譩 譜 譢 譡 譳 譥 譜 譍 譯 譤 譥 譬 的模型。 在接下来的例子中,我们展示了通用模型如何用于登录表单:0 码力 | 537 页 | 4.66 MB | 1 年前3
 Laravel 5.1 中文文档Laravel 5.1 里,中间件可以接受额外的自定义参数,例如,如果你的应用需要在执行给定 的 action 之前验证被授予指定“角色”的认证用户,可以创建一个 RoleMiddleware 来接收角 色名称作为额外参数: 域);日志中间件可以记录所有进入站点的请求。 Laravel 框架内置了一些中间件,包括维护模式中间件、认证、CSRF 保护中间件等等。所 有的中间件都位于 app/Http/Middleware 目录。 $flight->forceDelete(); // 强制删除所有关联模型... $flight->history()->forceDelete(); 7、查询作用域 作用域允许你定义一个查询条件的通用集合,这样就可以在应用中方便地复用。例如,你需 要频繁获取最受欢迎的用户,要定义一个作用域,只需要简单的在 Eloquent 模型方法前加 上一个 scope 前缀:0 码力 | 307 页 | 3.46 MB | 1 年前3
 Laravel 5.6 中文文档vendor\bin\homestead make 接下来,在终端中运行 vagrant up 命令然后在浏览器中通过 http://homestead.test 访问站点。不要忘记在 /etc/hosts 文件中添加域 名 homestead.test(已配置的话忽略)。 安装 MariaDB 如果你希望使用 MariaDB 来替代 MySQL,可以添加 mariadb 配置项到 Homestead.yaml 命令来实现了。 通过 TLS 让站点更安全 默认情况下,Valet 使用 HTTP 协议,如果你想要使用 HTTP/2 通过加密的 TLS 为站点提供服务,可以使用 secure 命令。例如,如果你的站点域 名是 blog.com,可以使用如下命令: valet secure blog 本文档由 Laravel 学院提供 Laravel 学院致力于提供优质 Laravel 中文学习 经过认证,中间件会将用户重定向到登录页面,而如果用户已经经过认证,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理很多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件 可以记录所有进入站点的请求,从而方便我们构建系统日志系统。 Laravel 框架自带了一些中间件,包括认证、CSRF 保护中间件等等。所有的中间件都位于 app/Http/Middleware0 码力 | 377 页 | 14.56 MB | 1 年前3
 Laravel 6.0 中文文档,而如果用 户已经经过认证,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理很多其它任务。比如: CORS 中间件可以用于为离开站点的响应添加合适的头(跨域); 日志中间件可以记录所有进入站点的请求,从而方便我们构建系统日 志系统。 Laravel 框架自带了一些中间件,包括认证、CSRF 保护中间件等等。 所有的中间件都位于 app/Http/Middleware 管理跨进程的锁 有时候,你可能想要在一个进程中获取锁,在另一个进程中释放锁。 例如,你可以在 Web 请求期间获取锁,然后在该请求触发的某个队 列任务最后释放这把锁。在这种场景下,你应该传递锁的域「所有者 令牌」到队列任务以便该任务可以使用给定令牌重新实例化锁: // 在控制器中... $podcast = Podcast::find($id); $lock = Cache::lock('foo' users where name = '学院君' or (votes > 1 00 and title <> 'Admin') 注:无论何时都需要对 orWhere 调用进行分组以避免应 用全局作用域时出现与预期不符 的行为。 where exists 子句 whereExists 方法允许你编写 where exists SQL 子句, whereExists 方法接收一个闭包参数,该闭包获取一个查询构建器0 码力 | 1442 页 | 14.66 MB | 1 年前3
 Laravel 5.2 中文文档Laravel 5.2。 2、Laravel 5.2 Laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支 持、隐式模型绑定、简化 Eloquent 全局作用域、可选择的认证脚手架、中间件组、访问频 率限制、数组输入验证优化等等。 多认证驱动 在之前的 Laravel 版本中,框架只支持默认的、基于 session 的认证驱动,且在单个应 用中只能拥 学院致力于提供优质 Laravel 中文学习资源 4 Eloquent 全局作用域优化 在之前的 Laravel 版本,Eloquent 全局作用域的实现是复杂且容易出错的,但在 Laravel 5.2 中,全局查询作用域只需实现一个简单的方法 apply 即可。 关于全局作用域详情请查看全局作用域文档。 升级指南 从 5.1 升级到 5.2.0 更新依赖 更新 composer 方法时,任何添加到 $casts 的属性, 如 date 或 datetime,现在都会被转化为字符串。这使得在 $dates 数组中制定的日期转化 变得简单方便。 全局作用域 我们重写了全局作用域的实现以便于使用,全局作用域不再需要 remove 方法,因此可以在 所有你使用到该方法的地方将其移除。 如果你曾经在 Eloquent 查询构建器上调用过了 getQuery 方法以获取底层查询构建器实0 码力 | 377 页 | 4.56 MB | 1 年前3
 07 PHP的输⼊、表单与⽂件上传 杨亮 《PHP语⾔程序设计》对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript PHP基本⾓角⾊色 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求0 码力 | 12 页 | 1.12 MB | 1 年前3
 10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》并且要求浏览器用相同的ID与每次后续的请求一起发 送回服务器。因此,Session ID与用户身份关联起来; n WEB服务器与浏览器间交互Session ID的方式包括 Cookie、URL重写、隐藏域; 原理 n Session存储在服务器端,并通过Session ID与各个 用户关联。对于大部分的WEB应用,除非程序通知服 务器删除一个Session,否则服务器会一直保留。程 序一般都是在用户点击退出按钮时发出指令去删除 大部分情况下浏览器在每次向服务器请求时自动提交认证凭 证(包括Session cookie、Basic authentication header、IP 地址、客户侧SSL证书和Windows域认证) q 在执行关键操作时,没有对用户进行再次确认 n 与XSS区别 q XSS基于Web网站的漏洞和客户端对网站的信任,利用客户 端窃取cookie等 q CSRF基于站点对已认证用户的信任,实现对网站的利用 关闭任何有关程序代码的错误信息 n 将所有可能之错误信息统一以单独一种形式输出,避 免数据被收集 3.12.隐藏域篡改 96 概述 n Hidden field tampering,又称隐藏变量篡改 q 由于HTTP的无状态特性,很多应用借助Form中的隐藏域在 请求之间保持数据,攻击者通过修改隐藏域的内容,实现对 服务器端的欺骗,达到攻击目的,为自己谋取利益 97 概述 n 透视Google界面0 码力 | 114 页 | 3.65 MB | 1 年前3
 06 PHP基本语法 — 条件、循环、函数  杨亮 《PHP语⾔程序设计》Ctrl-V 良好的代码⻛风格 代码的可读性 为什么⾃自⼰己写有函数 • 代码的可读性 • 代码的可重⽤用性 • 实现功能的模块化 • 实现递归调⽤用 • 使变量名不⾄至于太⻓长(作⽤用域) PHP中的函数 $res = my_function($val1, $val2); functon my_function($param1, $param2) { //function $arg."
"; 9 } 10 } 11 ?> 变量作⽤用域 • 局部变量(函数中定义),从定义处到函数结束 • 全局变量(⾮非函数中定义),从定义出到⽂文件尾,但 不包括其中的函数 • 超全局变量(下节课会讲到),所以地⽅方 • require和include都不影响变量作⽤用域,只是起到了 将代码⽚片段组合的作⽤用 • 局部变量加上关键字global,可令其变为全局变量,0 码力 | 25 页 | 1.30 MB | 1 年前3
共 14 条
- 1
 - 2
 













