10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》T10 2010> 典型攻击 n 注入类(以其人之道还治其人之身) q SQL注入 q OS命令注入 q LDAP注入 q 远程文件包含 n 绕过防御类(凌波微步) q 目录遍历 q 不安全对象引用 n 跨站类(隔山打牛) q 跨站脚本 q 跨站请求伪造 n 资源消耗类(吸星大法) q 分布式拒绝服务 n 篡改仿冒类(瞒天过海) q 认证和会话管理失效 操作系统命令注入DEMO 风险 n 信息泄露 n 系统破坏 44 防护方法 n 尽量不要执行外部命令 n 运用 safe_mode_exec_dir指定可执行文件的路径 45 3.5.目录遍历攻击 46 概述 n Directory traversal ,目录穿越 q 指攻击者利用应用程序漏洞访问合法应用之外的数据或文件目 录,导致数据泄露或被篡改。 q 最常见的就0 码力 | 114 页 | 3.65 MB | 1 年前3
Laravel 6.0 中文文档Kernel 的 commands 方法会调用 load 方法,所 有 app/Console/Commands 目录下的命令都会通过 Artisan 自动注 册。实际上,你可以额外调用 load 方法来遍历其他目录下的 Artisan 命令: 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 556 /** * Register 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 641 静态 make 方法会创建一个新的集合实例,细节可查看创建集合部分 文档。 map() map 方法遍历集合并传递每个值给给定回调。该回调可以修改数据项 并返回,从而生成一个新的经过修改的集合: $collection = collect([1, 2, 3, 4, 5]); $multiplied 数组中手动注册事件及 对应监听器之外,还可以开启自动事件发现。当事件发现开启后, Laravel 将会通过遍历应用的 Listeners 目录自动查找并注册事件 及对应监听器。此外,任何显式定义在 EventServiceProvider 的 列表中的事件仍然会被注册。 Laravel 使用反射遍历监听器类来发现事件监听器,当 Laravel 发现 某个监听器类方法以 handle 开头,将会从方法签名中提取类型提示0 码力 | 1442 页 | 14.66 MB | 1 年前3
Yii 2.0 权威指南: w i d g e t ( [ ' p a g i n a t i o n ' = > $ p a g i n a t i o n ] ) ? > 这个视图包含两部分用以显示国家数据。第一部分遍历国家数据并以无序 轈 轔 轍 轌 列表渲染出来。 第二部分使用 譹 譩 譩 譜 護 譩 譤 譧 譥 譴 譳 譜 譌 譩 譮 譫 譐 譡 譧 譥 譲 去渲染从 操作中传来的分页信息。 小部件 L i n 像访问数组单元项一样访问属性 $ m o d e l [ ' n a m e ' ] = ' e x a m p l e ' ; e c h o $ m o d e l [ ' n a m e ' ] ; / / 迭代器遍历模型 f o r e a c h ( $ m o d e l a s $ n a m e = > $ v a l u e ) { e c h o " $ n a m e : $ v a l u e g u a g e ' ] ) ) . . . i f ( i s s e t ( $ _ S E S S I O N [ ' l a n g u a g e ' ] ) ) . . . / / 遍历所有s e s s i o n 变量,以下用法是相同的: f o r e a c h ( $ s e s s i o n a s $ n a m e = > $ v a l u e ) . . .0 码力 | 537 页 | 4.66 MB | 1 年前3
Laravel 5.6 中文文档$flights = $flights->reject(function ($flight) { return $flight->cancelled; }); 当然,你也可以像数组一样循环遍历该集合: foreach ($flights as $flight) { echo $flight->name; } 组块结果集 如果你需要处理数据量很大的 Eloquent Kernel 的 commands 方法会调用 load 方法,所有 app/Console/Commands 目录下的命令都会通过 Artisan 自动注册。实际上,你可 以额外调用 load 方法来遍历其他目录下的 Artisan 命令: /** * Register the commands for the application. * * @return void */ protected 方法允许你在运行时添加方法到 Collection 类,更多细节可以查看扩展集合部分文档。 make() 静态 make 方法会创建一个新的集合实例,细节可查看创建集合部分文档。 map() map 方法遍历集合并传递每个值给给定回调。该回调可以修改数据项并返回,从而生成一个新的经过修改的集合: $collection = collect([1, 2, 3, 4, 5]); $multiplied0 码力 | 377 页 | 14.56 MB | 1 年前3
CmlPHP v2.x 开发手册
则为数据变更时每五分钟更新一次mysql查询缓存 'var_page' => 'page', //分页时传递当前页数的变量名 'route_app_hierarchy' => 1, //路由找控制器的时候遍历 应用目录的层级,默认为1 ]; common.php common.php 为公用配置文件,也就是无论是cli还是product或者 是development的环境都会自动加载的配置文件0 码力 | 245 页 | 720.67 KB | 1 年前3
CmlPHP v2.x 开发手册
则为数据变更时每五分钟更新一次mysql查询缓存 'var_page' => 'page', //分页时传递当前页数的变量名 'route_app_hierarchy' => 1, //路由找控制器的时候遍历应用目录的层级,默认为1 ]; 23 common.php common.php 为公用配置文件,也就是无论是cli还是product或者是development的环境都会自动 加载的配置文件0 码力 | 143 页 | 1.54 MB | 1 年前3
Laravel 5.3 中文文档project...'); }); 更多详情请查看完整的 Artisan 文档。 $loop 变量 注:Laracasts 中有关于此特性的免费视频教程。 当我们在 Blade 模板中循环遍历的时候,$loop 变量将会在循环中生效。通过该变量可以访问很 多有用的信息,比如当前循环索引值,以及当前循环是第一个还是最后一个迭代: @foreach ($users as $user) $flights = $flights->reject(function ($flight) { return $flight->cancelled; }); 当然,你也可以像数组一样循环遍历该集合: 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 469 foreach 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 642 map() map 方法遍历集合并传递每个值给给定回调。该回调可以修改数据项并返回,从而生成一个新的 经过修改的集合: $collection = collect([1, 2, 3, 4, 5]); $multiplied0 码力 | 691 页 | 9.37 MB | 1 年前3
CmlPHP v2.x 开发手册
则为数据变更时每五分钟更新一次mysql查询缓存 'var_page' => 'page', //分页时传递当前页数的变量名 'route_app_hierarchy' => 1, //路由找控制器的时候遍历应用目录的层级,默认为1 ]; common.php common.php 为公用配置文件,也就是无论是cli还是product或者是development的环 境都会自动加载的配置文件 plugin0 码力 | 251 页 | 973.37 KB | 1 年前3
Laravel 5.1 中文文档还可以调用无参的 last 方法来获取集合的最后一个元素。如果集合为空。返回 null: collect([1, 2, 3, 4])->last(); // 4 map() map 方法遍历集合并传递每个值给给定回调。该回调可以修改数据项并返回,从而生成一个 新的经过修改的集合: $collection = collect([1, 2, 3, 4, 5]); $multiplied0 码力 | 307 页 | 3.46 MB | 1 年前3
Laravel 5.2 中文文档本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 208 map() map 方法遍历集合并传递每个值给给定回调。该回调可以修改数据项并返回,从而生成一 个新的经过修改的集合: $collection = collect([1, 2, 3, 4, 5]); $multiplied0 码力 | 377 页 | 4.56 MB | 1 年前3
共 10 条
- 1













