 10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》认证和会话管理失效 q 隐藏变量篡改 n 配置管理类(家法不严) q 不安全的数据存储 q 信息泄露和不正确的参数处理 应用安全问题根源 防火墙/IPS OS Web服务器 应用服务器 防火墙\IPS 数据库系统 遗留系统 Web 服务 目录服务 人力资源 计费 定制开发的应用代码 用户和 攻击者 网络层防护(防火墙, SSL, IDS, OS加固) tables) n 数据库服务器攻击,系统管理员帐户篡改(例如ALTER LOGIN sa WITH PASSWORD='xxxxxx') n 取得系统较高权限后,有可能得以在网页加入恶意链接以及XSS n 经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作 系统(例如xp_cmdshell "net stop iisadmin"可停止服务器的IIS服务) 23 ">"或类似"script"的关键字),很容易被XSS变种攻击绕过 验证机制 32 3.3.远程文件包含 33 概述 n Remote File Inclusion,远程代码包含 q 一些恶意用户利用网站服务器对文件包含过滤不严格而强行 使网站上的代码包含恶意用户自己的文件,以实现执行特定 脚本,达到对网站进行攻击的目的。 q PHP常见的包含文件的函数有include()、require()和0 码力 | 114 页 | 3.65 MB | 1 年前3 10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》认证和会话管理失效 q 隐藏变量篡改 n 配置管理类(家法不严) q 不安全的数据存储 q 信息泄露和不正确的参数处理 应用安全问题根源 防火墙/IPS OS Web服务器 应用服务器 防火墙\IPS 数据库系统 遗留系统 Web 服务 目录服务 人力资源 计费 定制开发的应用代码 用户和 攻击者 网络层防护(防火墙, SSL, IDS, OS加固) tables) n 数据库服务器攻击,系统管理员帐户篡改(例如ALTER LOGIN sa WITH PASSWORD='xxxxxx') n 取得系统较高权限后,有可能得以在网页加入恶意链接以及XSS n 经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作 系统(例如xp_cmdshell "net stop iisadmin"可停止服务器的IIS服务) 23 ">"或类似"script"的关键字),很容易被XSS变种攻击绕过 验证机制 32 3.3.远程文件包含 33 概述 n Remote File Inclusion,远程代码包含 q 一些恶意用户利用网站服务器对文件包含过滤不严格而强行 使网站上的代码包含恶意用户自己的文件,以实现执行特定 脚本,达到对网站进行攻击的目的。 q PHP常见的包含文件的函数有include()、require()和0 码力 | 114 页 | 3.65 MB | 1 年前3
 Laravel 5.6 中文文档注:要使用这个新特性,必须使用 memcached 或 redis 缓存驱动作为应用默认缓存驱动。此外,所有服务器必须和同一个中心缓存服务器进行通 信。 如果你的应用运行在多个服务器上,现在可以限定只在一台机器上运行调度任务。例如,假设你有一个在每周五晚上生成新报告的调度任务,如果任 务调度器运行在三个服务器上,这个调度任务就会在三台机器上运行并生成同样的报告三次,这样很不优雅,甚至很糟糕! 要指定任 要指定任务只在一台机器上运行,可以在定义调度任务时使用 onOneServer 方法,第一台获取到任务的机器会给这个任务上一把原子级别的锁来阻 止其他服务器同时运行同一个任务: $schedule->command('report:generate') ->fridays() ->at('17:00') 了,但是还有很多其他的小更新比如配置文件或注释的微调,就不会一一指出。你可以通 过 GitHub 比较工具 轻松查看变更以便选择那些对你而言更为重要的更新。 二、快速入门 安装配置 服务器要求 Laravel 框架对 PHP 版本和扩展有一定要求,不过这些要求 Laravel Homestead 都已经满足了,不过如果你没有使用 Homestead 的话(那真是一件 很遗憾的事情0 码力 | 377 页 | 14.56 MB | 1 年前3 Laravel 5.6 中文文档注:要使用这个新特性,必须使用 memcached 或 redis 缓存驱动作为应用默认缓存驱动。此外,所有服务器必须和同一个中心缓存服务器进行通 信。 如果你的应用运行在多个服务器上,现在可以限定只在一台机器上运行调度任务。例如,假设你有一个在每周五晚上生成新报告的调度任务,如果任 务调度器运行在三个服务器上,这个调度任务就会在三台机器上运行并生成同样的报告三次,这样很不优雅,甚至很糟糕! 要指定任 要指定任务只在一台机器上运行,可以在定义调度任务时使用 onOneServer 方法,第一台获取到任务的机器会给这个任务上一把原子级别的锁来阻 止其他服务器同时运行同一个任务: $schedule->command('report:generate') ->fridays() ->at('17:00') 了,但是还有很多其他的小更新比如配置文件或注释的微调,就不会一一指出。你可以通 过 GitHub 比较工具 轻松查看变更以便选择那些对你而言更为重要的更新。 二、快速入门 安装配置 服务器要求 Laravel 框架对 PHP 版本和扩展有一定要求,不过这些要求 Laravel Homestead 都已经满足了,不过如果你没有使用 Homestead 的话(那真是一件 很遗憾的事情0 码力 | 377 页 | 14.56 MB | 1 年前3
 Laravel 6.0 中文文档Laravel 的发布周期将保持不变。 兼容 Laravel Vapor Laravel 6.0 提供了对 Laravel Vapor 的兼容,这是一个针对 Laravel 应用的自动扩容无服务器部署平台。Vapor 对在 AWS Lambda 上 管理 Laravel 应用以及与 SQS 队列、数据库、Redis 集群、网络、 CloudFront CDN 进行交互的复杂性进行了抽象。 如果你的代码格式不是很完美,不必担心,StyleCI 会在提交代码时 自动为我们修正代码风格以保持和 Laravel 仓库代码一致,从而让 我们更加专注于代码内容而非风格。 第二部分:快速入门 安装配置 服务器要求 Laravel 框架对 PHP 版本和必需扩展有一定要求,不过这些要 求 Laravel Homestead 虚拟机都已经满足了,所以强烈推荐使用它 作为 Laravel 本地集成开发环境。 Laravel 中文学习资源:https://xueyuanjun.com 32 本地开发服务器 如果你在本地安装了 PHP,并且想要使用 PHP 内置的开发环境服 务器为应用提供服务,可以使用 Artisan 命令 serve: php artisan serve 该命令将会在本地启动开发环境服务器,这样在浏览器中通 过 http://localhost:8000 即可访问应用: 当然,更强大的本地开发环境选择还是0 码力 | 1442 页 | 14.66 MB | 1 年前3 Laravel 6.0 中文文档Laravel 的发布周期将保持不变。 兼容 Laravel Vapor Laravel 6.0 提供了对 Laravel Vapor 的兼容,这是一个针对 Laravel 应用的自动扩容无服务器部署平台。Vapor 对在 AWS Lambda 上 管理 Laravel 应用以及与 SQS 队列、数据库、Redis 集群、网络、 CloudFront CDN 进行交互的复杂性进行了抽象。 如果你的代码格式不是很完美,不必担心,StyleCI 会在提交代码时 自动为我们修正代码风格以保持和 Laravel 仓库代码一致,从而让 我们更加专注于代码内容而非风格。 第二部分:快速入门 安装配置 服务器要求 Laravel 框架对 PHP 版本和必需扩展有一定要求,不过这些要 求 Laravel Homestead 虚拟机都已经满足了,所以强烈推荐使用它 作为 Laravel 本地集成开发环境。 Laravel 中文学习资源:https://xueyuanjun.com 32 本地开发服务器 如果你在本地安装了 PHP,并且想要使用 PHP 内置的开发环境服 务器为应用提供服务,可以使用 Artisan 命令 serve: php artisan serve 该命令将会在本地启动开发环境服务器,这样在浏览器中通 过 http://localhost:8000 即可访问应用: 当然,更强大的本地开发环境选择还是0 码力 | 1442 页 | 14.66 MB | 1 年前3
 Laravel 5.1 中文文档自动载入标准。 本文档由 Laravel 学院(LaravelAcademy.org)提供 9 二、开始 安装及配置 1、安装 1.1 服务器要求 Laravel 框架有少量的系统要求,当然,Laravel Homestead 虚拟机满足所有这些要求:  PHP 版本 >= 5.5.9  PHP 扩展:OpenSSL Session Laravel 安装完成后,你还应该配置自己的本地环境,如数据库驱动、邮箱服务器、缓存驱 动等。 2.1.4 美化 URL  Apache 框架中自带的 public/.htaccess 文件支持 URL 中隐藏 index.php,如过你的 Laravel 应用 使用 Apache 作为服务器,需要先确保 Apache 启用了 mod_rewrite 模块以支持.htaccess 超全局变量$_ENV 中, 然后你就可以在应用中通过帮助函数 env 来获取这些变量值。实际上,如果你去查看 Laravel 的配置文件,就会发现很多选项已经在使用这些帮助函数了。 你可以尽情的按你所需对本地服务器上的环境变量进行修改,线上环境也是一样。但不要 把.env 文件提交到源码控制(svn 或 git 等)中,因为每个使用你的应用的不同开发者或服 务器可能要求不同的环境配置。 如果你是在一个团队中进行开发,你可能需要将0 码力 | 307 页 | 3.46 MB | 1 年前3 Laravel 5.1 中文文档自动载入标准。 本文档由 Laravel 学院(LaravelAcademy.org)提供 9 二、开始 安装及配置 1、安装 1.1 服务器要求 Laravel 框架有少量的系统要求,当然,Laravel Homestead 虚拟机满足所有这些要求:  PHP 版本 >= 5.5.9  PHP 扩展:OpenSSL Session Laravel 安装完成后,你还应该配置自己的本地环境,如数据库驱动、邮箱服务器、缓存驱 动等。 2.1.4 美化 URL  Apache 框架中自带的 public/.htaccess 文件支持 URL 中隐藏 index.php,如过你的 Laravel 应用 使用 Apache 作为服务器,需要先确保 Apache 启用了 mod_rewrite 模块以支持.htaccess 超全局变量$_ENV 中, 然后你就可以在应用中通过帮助函数 env 来获取这些变量值。实际上,如果你去查看 Laravel 的配置文件,就会发现很多选项已经在使用这些帮助函数了。 你可以尽情的按你所需对本地服务器上的环境变量进行修改,线上环境也是一样。但不要 把.env 文件提交到源码控制(svn 或 git 等)中,因为每个使用你的应用的不同开发者或服 务器可能要求不同的环境配置。 如果你是在一个团队中进行开发,你可能需要将0 码力 | 307 页 | 3.46 MB | 1 年前3
 Laravel 5.3 中文文档5.2 的基础上继续进行优化,提供了大量新功能和新特性:基于驱动的通知系统; 通过 Laravel Echo 提供强大的实时支持;通过 Laravel Passport 实现无痛的 OAuth2 服务器;通过 Laravel Scout 实现全文模型搜索;在 Laravel Elixir 中支持 Webpack;“可邮寄”的对象;明确分离 web 和 api 路由;基于闭包的控制台命令;存储上传文件的辅助函数;支持 }); Laravel Echo,通过 NPM 安装的全新的 JavaScript 包,将和 Laravel 5.3 一起发布,用于为订阅频 道以及在客户端 JavaScript 应用中监听服务器端事件提供了简单、优美的 API,Echo 包含对 Pusher 和 Socket.io 的支持: Echo.channel('orders.' + orderId) .li 和事件广播的内容,请参考其对应文档。 Laravel Passport(OAuth2 服务器) 注:Laracasts 上提供了关于这一新特性的免费视频教程。 Laravle 5.3 使用 Laravel Passport 让 API 认证变得简单。Laravel Passport 可以在几分钟内为应用 提供一个完整的 Oauth2 服务器实现,Passport 基于 Alex Bilbie 维护的 League0 码力 | 691 页 | 9.37 MB | 1 年前3 Laravel 5.3 中文文档5.2 的基础上继续进行优化,提供了大量新功能和新特性:基于驱动的通知系统; 通过 Laravel Echo 提供强大的实时支持;通过 Laravel Passport 实现无痛的 OAuth2 服务器;通过 Laravel Scout 实现全文模型搜索;在 Laravel Elixir 中支持 Webpack;“可邮寄”的对象;明确分离 web 和 api 路由;基于闭包的控制台命令;存储上传文件的辅助函数;支持 }); Laravel Echo,通过 NPM 安装的全新的 JavaScript 包,将和 Laravel 5.3 一起发布,用于为订阅频 道以及在客户端 JavaScript 应用中监听服务器端事件提供了简单、优美的 API,Echo 包含对 Pusher 和 Socket.io 的支持: Echo.channel('orders.' + orderId) .li 和事件广播的内容,请参考其对应文档。 Laravel Passport(OAuth2 服务器) 注:Laracasts 上提供了关于这一新特性的免费视频教程。 Laravle 5.3 使用 Laravel Passport 让 API 认证变得简单。Laravel Passport 可以在几分钟内为应用 提供一个完整的 Oauth2 服务器实现,Passport 基于 Alex Bilbie 维护的 League0 码力 | 691 页 | 9.37 MB | 1 年前3
 Laravel 5.2 中文文档在代码提交前修复代码风格。 在此之前,需要安装全局工具,然后通过在项目根目录下运行如下命令检查代码风格: php-cs-fixer fix 二、开始 安装 1、服务器要求 Laravel 框架有对服务器有少量要求,当然,Laravel Homestead 已经满足所有这些要求, 所以我们强烈推荐使用 Homestead 作为 Laravel 本地开发环境。 如果你没有使用 H false), 传递到 env 函数的第二个参数是默认值,如果环境变量没有被配置将会是个该默认值。 不要把 .env 文件提交到源码控制(svn 或 git 等)中,因为每个使用你的应用的开发者/ 服务器可能要求不同的环境配置。 如果你是在一个团队中进行开发,你需要将 .env.example 文件随你的应用一起提交到源码 控制中:将一些配置值以占位符的方式放置在 .env.example 文件中,这样其他开发者就会 开发所需要的工具及环境的 Vagrant 盒子 (Vagrant 提供了一个便捷的方式来管理和设置虚拟机),该盒子为我们提供了优秀的开发 环境,有了它,我们不再需要在本地环境安装 PHP、HHVM、Web 服务器以及其它工具 软件,我们也完全不用再担心误操作搞乱操作系统 —— 因为 Vagrant 盒子是一次性的, 如果出现错误,可以在数分钟内销毁并重新创建该 Vagrant 盒子! Homestead 可以运行在0 码力 | 377 页 | 4.56 MB | 1 年前3 Laravel 5.2 中文文档在代码提交前修复代码风格。 在此之前,需要安装全局工具,然后通过在项目根目录下运行如下命令检查代码风格: php-cs-fixer fix 二、开始 安装 1、服务器要求 Laravel 框架有对服务器有少量要求,当然,Laravel Homestead 已经满足所有这些要求, 所以我们强烈推荐使用 Homestead 作为 Laravel 本地开发环境。 如果你没有使用 H false), 传递到 env 函数的第二个参数是默认值,如果环境变量没有被配置将会是个该默认值。 不要把 .env 文件提交到源码控制(svn 或 git 等)中,因为每个使用你的应用的开发者/ 服务器可能要求不同的环境配置。 如果你是在一个团队中进行开发,你需要将 .env.example 文件随你的应用一起提交到源码 控制中:将一些配置值以占位符的方式放置在 .env.example 文件中,这样其他开发者就会 开发所需要的工具及环境的 Vagrant 盒子 (Vagrant 提供了一个便捷的方式来管理和设置虚拟机),该盒子为我们提供了优秀的开发 环境,有了它,我们不再需要在本地环境安装 PHP、HHVM、Web 服务器以及其它工具 软件,我们也完全不用再担心误操作搞乱操作系统 —— 因为 Vagrant 盒子是一次性的, 如果出现错误,可以在数分钟内销毁并重新创建该 Vagrant 盒子! Homestead 可以运行在0 码力 | 377 页 | 4.56 MB | 1 年前3
 08 Cookie, Session与HTTP请求 杨亮 《PHP语⾔程序设计》与HTTP请求 杨亮 Web基本流程 PC Mobile 服务器 (Apache) (IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html (html) Cookie 保存在浏览器端的⽤用户数据,⽤用以进⾏行会话控制 浏览器端脚本(JavaScript)设定Cookie 服务器端程序(PHP)通过HTTP请求命令浏览器设定Cookie 浏览器向服务器发送请求时会附加上相应的Cookie 服务器 PHP 浏览器 Cookie Set-Cookie:user=stefyang Cookie:user=stefyang 提交信息 name2 value2 name3 value3 name4 value4 五⼤大要素:名字、值、域、路径、过期时间 $_COOKIE[name] 所有Cookie都是放到http头信息中 服务器 PHP 浏览器 Cookie Set-Cookie:user=stefyang Cookie:user=stefyang time() 当前时间 time()+60*60 ⼀一个⼩小时后0 码力 | 12 页 | 1.30 MB | 1 年前3 08 Cookie, Session与HTTP请求 杨亮 《PHP语⾔程序设计》与HTTP请求 杨亮 Web基本流程 PC Mobile 服务器 (Apache) (IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html (html) Cookie 保存在浏览器端的⽤用户数据,⽤用以进⾏行会话控制 浏览器端脚本(JavaScript)设定Cookie 服务器端程序(PHP)通过HTTP请求命令浏览器设定Cookie 浏览器向服务器发送请求时会附加上相应的Cookie 服务器 PHP 浏览器 Cookie Set-Cookie:user=stefyang Cookie:user=stefyang 提交信息 name2 value2 name3 value3 name4 value4 五⼤大要素:名字、值、域、路径、过期时间 $_COOKIE[name] 所有Cookie都是放到http头信息中 服务器 PHP 浏览器 Cookie Set-Cookie:user=stefyang Cookie:user=stefyang time() 当前时间 time()+60*60 ⼀一个⼩小时后0 码力 | 12 页 | 1.30 MB | 1 年前3
 CmlPHP v2.x 开发手册
rgency.log 中),方便 排查,同时使用 \Cml\Log::xxx`相关方法记录的日志会分类存放在 该目录下。具体可参考日志 public目录 (可选) 该目录为站点对外目录,在服务器配置方便修改的情况下入口文件 也在这个目录下,在框架推荐的分应用模式下,上线后通过系统命 令会将 projxxx 下的所有应用下 Resource目录 映射到 public 下。详情查看 这样可以让缓存空间更合理的利用. //如果不想启用缓存直接配置为false 'cache_expire' => 3600, ], // 缓存服务器的配置 'default_cache' => [ 'on' => 0, //为1则启用,或者不启用 'driver' => 'Memcache', //'replicaSet' => '' //replicaSet名称 ], 'slaves'=>[], ], **/ // 缓存服务器的配置 'default_cache' => [ 'on' => 0, //为1则启用,或者不启用 'driver' => 'Memcache',0 码力 | 245 页 | 720.67 KB | 1 年前3 CmlPHP v2.x 开发手册
rgency.log 中),方便 排查,同时使用 \Cml\Log::xxx`相关方法记录的日志会分类存放在 该目录下。具体可参考日志 public目录 (可选) 该目录为站点对外目录,在服务器配置方便修改的情况下入口文件 也在这个目录下,在框架推荐的分应用模式下,上线后通过系统命 令会将 projxxx 下的所有应用下 Resource目录 映射到 public 下。详情查看 这样可以让缓存空间更合理的利用. //如果不想启用缓存直接配置为false 'cache_expire' => 3600, ], // 缓存服务器的配置 'default_cache' => [ 'on' => 0, //为1则启用,或者不启用 'driver' => 'Memcache', //'replicaSet' => '' //replicaSet名称 ], 'slaves'=>[], ], **/ // 缓存服务器的配置 'default_cache' => [ 'on' => 0, //为1则启用,或者不启用 'driver' => 'Memcache',0 码力 | 245 页 | 720.67 KB | 1 年前3
 CmlPHP v2.x 开发手册
获得最大 性能。从而从根本上避免了新手未使用缓存,或缓存使用不当造成的性能不佳的问题。也杜绝了多人 协同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务器、虚拟主机、VPS等多种环境, 绝大部分开发环境可直接运行,无需配置伪静态规则(部分低版本server只要修改框架URL配置即可, 框架会自动处理),快速上手开发。线上环境对SEO有要求时再配置伪静态即可。 mergency.log 中),方便排查,同时使用 \Cml\Log::xxx`相关方法记 录的日志会分类存放在该目录下。具体可参考日志 public目录 (可选) 该目录为站点对外目录,在服务器配置方便修改的情况下入口文件也在这个目录下,在框架推荐的 分应用模式下,上线后通过系统命令会将 projxxx 下的所有应用下 Resource目录 映射到 public 下。详情查看 静态资源管理 这样可以让缓存空间更合理的 利用. //如果不想启用缓存直接配置为false 'cache_expire' => 3600, ], // 缓存服务器的配置 'default_cache' => [ 'on' => 0, //为1则启用,或者不启用 'driver' => 'Memcache',0 码力 | 143 页 | 1.54 MB | 1 年前3 CmlPHP v2.x 开发手册
获得最大 性能。从而从根本上避免了新手未使用缓存,或缓存使用不当造成的性能不佳的问题。也杜绝了多人 协同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务器、虚拟主机、VPS等多种环境, 绝大部分开发环境可直接运行,无需配置伪静态规则(部分低版本server只要修改框架URL配置即可, 框架会自动处理),快速上手开发。线上环境对SEO有要求时再配置伪静态即可。 mergency.log 中),方便排查,同时使用 \Cml\Log::xxx`相关方法记 录的日志会分类存放在该目录下。具体可参考日志 public目录 (可选) 该目录为站点对外目录,在服务器配置方便修改的情况下入口文件也在这个目录下,在框架推荐的 分应用模式下,上线后通过系统命令会将 projxxx 下的所有应用下 Resource目录 映射到 public 下。详情查看 静态资源管理 这样可以让缓存空间更合理的 利用. //如果不想启用缓存直接配置为false 'cache_expire' => 3600, ], // 缓存服务器的配置 'default_cache' => [ 'on' => 0, //为1则启用,或者不启用 'driver' => 'Memcache',0 码力 | 143 页 | 1.54 MB | 1 年前3
 CmlPHP v2.x 开发手册
用即可获得最大性能。从而从根本上避免了新手未使用缓存,或缓存使用不当造成的 性能不佳的问题。也杜绝了多人协同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务器、虚拟主机、 VPS等多种环境,绝大部分开发环境可直接运行,无需配置伪静态规则(部分低版本 server只要修改框架URL配置即可,框架会自动处理),快速上手开发。线上环境对SEO 有要求时再配置伪静态即可。 mergency.log 中),方便排查, 同时使用 \Cml\Log::xxx`相关方法记录的日志会分类存放在该目录下。具体可参考 日志 public目录 (可选) 该目录为站点对外目录,在服务器配置方便修改的情况下入口文件也在这个目录 下,在框架推荐的分应用模式下,上线后通过系统命令会将 projxxx 下的所有应用 下 Resource目录 映射到 public 下。详情查看 静态资源管理 ,这样可以让缓存空间更合理的 利用. //如果不想启用缓存直接配置为false 'cache_expire' => 3600, ], // 缓存服务器的配置 'default_cache' => [ 'on' => 0, //为1则启用,或者不启用 'driver' => 'Memcache',0 码力 | 251 页 | 973.37 KB | 1 年前3 CmlPHP v2.x 开发手册
用即可获得最大性能。从而从根本上避免了新手未使用缓存,或缓存使用不当造成的 性能不佳的问题。也杜绝了多人协同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务器、虚拟主机、 VPS等多种环境,绝大部分开发环境可直接运行,无需配置伪静态规则(部分低版本 server只要修改框架URL配置即可,框架会自动处理),快速上手开发。线上环境对SEO 有要求时再配置伪静态即可。 mergency.log 中),方便排查, 同时使用 \Cml\Log::xxx`相关方法记录的日志会分类存放在该目录下。具体可参考 日志 public目录 (可选) 该目录为站点对外目录,在服务器配置方便修改的情况下入口文件也在这个目录 下,在框架推荐的分应用模式下,上线后通过系统命令会将 projxxx 下的所有应用 下 Resource目录 映射到 public 下。详情查看 静态资源管理 ,这样可以让缓存空间更合理的 利用. //如果不想启用缓存直接配置为false 'cache_expire' => 3600, ], // 缓存服务器的配置 'default_cache' => [ 'on' => 0, //为1则启用,或者不启用 'driver' => 'Memcache',0 码力 | 251 页 | 973.37 KB | 1 年前3
共 14 条
- 1
- 2














