- 博客(143)
- 资源 (6)
- 收藏
- 关注
原创 php 安全
web 安全1. sql 注入 通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令。 防御:首先过滤,然后进行参数绑定。2. XSS Cross Site Scripting 跨站脚本 原理:以不同方式给网页嵌入脚本,以达到攻击目的。 防御:过滤输入。$i
2017-10-28 20:36:15 591
原创 安装与学习laravel
安装 composer# 下载安装 composer 并设置为中国镜像# curl -O https://getcomposer.org/installer && php installer && rm -f installer && mv composer.phar /usr/local/bin/composer && ...
2017-07-25 14:54:54 958
原创 bug集合
bootstrap16.12.15在仿制bootstrap侧面导航栏时候,总是出来不来想要的效果。最后找出bug,原因是因为加载的jquery版本不对。Linux17.02.23我可以说脏话么,在这个钱荒的时刻,这个问题让我纠结了两天一夜,问题是什么呢。我在服务器上配置php+memcached,php总是一下子就能访问memcached。换到个人pc和虚拟机,总是...
2016-12-15 17:30:16 674
原创 学习docker
docker run centos echo 123 docker run -i -t centos /bin/bash 加 --name=contianer01 指定容器名称为 container01 -i --interactive=true -t --tty=true exit docker ps 查看正在运行的容器 do...
2020-01-02 15:05:50 297
原创 给亚马逊的 ec2 增加磁盘空间
lsblkLANG=en_US.UTF-8growpart /dev/vda 1xfs_growfs /dev/vda1
2019-12-03 10:38:54 853
原创 Laravel 6 核心概念(服务容器、服务提供者、facades、contracts、辅助函数、生命周期)
交流群 375462817视频配套文档群文件里面可以下载。快速入门 https://www.bilibili.com/video/av70545323/模型关系 https://www.bilibili.com/video/av73028135/认证授权 https://www.bilibili.com/video/av74879198/OAuth 2.0 https://www.bil...
2019-11-21 12:08:41 722
原创 Passport 授权码模式
交流群 375462817授权码模式哔哩哔哩提供一个“微信登陆”的链接,用户点击跳转到微信授权服务器。用户根据微信授权服务器提示登陆微信并确认授权给哔哩哔哩。微信授权服务器返回用户代理(浏览器)一个授权码。用户代理(浏览器)把这个授权码传给哔哩哔哩。哔哩哔哩凭借授权码向微信授权服务器请求令牌。微信授权服务器发送令牌给哔哩哔哩。服务器端(微信)配置composer creat...
2019-11-12 15:13:56 3324
原创 Passport 密码模式
交流群 375462817密码模式准备工作composer create-project --prefer-dist laravel/laravel laravel6.env 数据库配置修改数据库默认字符串长度php artisan make:request BaseRequest // request 和 response 都是 json 格式入口文件替换原生 Request 为 ...
2019-11-12 15:11:57 708
原创 OAuth 2.0
OAuth 2.0标准 https://tools.ietf.org/html/rfc6749 是什么OAuth 2.0 授权框架使得第三方可以获取对用户资源的访问(有限访问或者完全访问)。举个例子:通过你的允许,bilibili 可以去微信服务器获取你的头像,昵称,openid 等等。为什么传统授权方式,用户和第三方共享密码。缺点如下:未来可能持续需要访问各种受限资源。所以第三...
2019-11-12 15:06:35 238
原创 Laravel 6 内置 web 认证
交流群 375462817原理原理注册:用户注册成功后。在服务器端生成 session 文件。给用户传递 session (文件名)。登陆:用户使用账号密码登陆成功。在服务器端生成 session 文件。给用户传递 session (文件名)。认证:将用户传来的 session 作为文件名去查找文件,找到了就认证成功,否则失败。准备composer create-project ...
2019-11-12 15:04:41 314
原创 Laravel 6 api 认证
交流群 375462817api 认证原理注册:用户注册成功后,随机生成长字符串作为 token,原生 token 返回给用户。哈希后的 token 存到数据库里。登陆:用户使用账号密码登陆成功,随机生成长字符串作为 token,原生 token 返回给用户。哈希后的 token 存到数据库里。认证:将用户传来的 token 进行哈希,然后取数据库中查找哈希后的 token ,找到了就...
2019-11-12 15:01:04 406
原创 laravel6 内置 api 认证
api 认证原理注册:用户注册成功后,随机生成长字符串作为 token,原生 token 返回给用户。哈希后的 token 存到数据库里。登陆:用户使用账号密码登陆成功,随机生成长字符串作为 token,原生 token 返回给用户。哈希后的 token 存到数据库里。认证:将用户传来的 token 进行哈希,然后取数据库中查找哈希后的 token ,找到了就认证成功,否则失败。创建...
2019-11-09 11:38:26 1436
原创 laravel 6 内置 web 认证
原理原理注册:用户注册成功后。在服务器端生成 session 文件。给用户传递 session (文件名)。登陆:用户使用账号密码登陆成功。在服务器端生成 session 文件。给用户传递 session (文件名)。认证:将用户传来的 session 作为文件名去查找文件,找到了就认证成功,否则失败。准备composer create-project --prefer-dist ...
2019-11-09 11:36:37 834
翻译 Laravel Passport
composer require laravel/passportphp artisan migrate // 创建表来存储客户端和 access_tokenphp artisan passport:install // 生成加密 access_token 的 key、密码授权客户端、个人访问客户端Laravel\Passport\HasApiTokens Trait 添加到 App\Use...
2019-11-04 16:13:42 786
原创 访问者模式
<?php// 访问者设计模式是一种将算法与操作对象的结构分离的方法。// 这种分离的实际结果是能够在不修改那些对象结构的情况下向现有对象结构添加新操作。// 这是遵循开放/封闭原则的一种方法。// Visiteeinterface Animal{ public function accept(AnimalOperation $operation);}// Vi...
2019-10-20 19:41:00 239
翻译 模板方法模式
<?php// 用于定义操作中算法的程序框架,从而将某些步骤推迟到子类中。// 它允许重新定义算法的某些步骤,而不得更改算法的结构。abstract class Builder{ // Template method final public function build() { $this->test(); $thi...
2019-10-20 19:11:21 169
翻译 状态模式
<?phpinterface WritingState{ public function write(string $words);}class UpperCase implements WritingState{ public function write(string $words) { echo strtoupper($words);...
2019-10-20 19:01:09 196
翻译 规格模式
<?php// 每个规范类中都有一个称为 isSatisfiedBy 的方法,// 方法判断给定的规则是否满足规范从而返回 true 或 false。declare(strict_types=1);class Item{ private $price; public function __construct(float $price) { ...
2019-10-20 18:56:57 260
翻译 空对象模式
<?php// 返回一个对象或 null 应该用返回对象或者 NullObject 代替。// NullObject 简化了死板的代码,消除了客户端代码中的条件检查,// 例如 if (!is_null($obj)) { $obj->callSomething(); }// 只需 $obj->callSomething(); 就行。declare(strict_ty...
2019-10-20 18:01:21 218
翻译 备忘录模式
<?phpdeclare(strict_types=1);// 记忆模式是关于捕获和存储对象的当前状态的方式,以便以后可以平滑地恢复它。/** * Class EditorMemento */class EditorMemento{ /** * @var string */ protected $content; /** ...
2019-10-20 17:47:39 358
翻译 中介者模式
<?phpdeclare(strict_types=1);// 同类型的对象通过中介互动。interface ChatRoomMediator{ public function showMessage(User $user, string $message);}// Mediatorclass ChatRoom implements ChatRoomMediato...
2019-10-20 17:34:41 198
翻译 迭代器模式
<?phpdeclare(strict_types=1);namespace DesignPatterns\Behavioral\Iterator;/** * Class Book * * @package DesignPatterns\Behavioral\Iterator */class Book{ /** * @var string *...
2019-10-20 17:25:14 156
翻译 命令模式
<?php// 解耦了命令人和执行人// Receiverclass Bulb{ public function turnOn() { echo "Bulb has been lit"; } public function turnOff() { echo "Darkness!"; }}int...
2019-10-20 17:18:44 206
翻译 责任链模式
<?phpabstract class Account{ protected $successor; protected $balance; public function setNext(Account $account) { $this->successor = $account; } public funct...
2019-10-20 16:54:11 218
翻译 池模式
<?phpdeclare(strict_types=1);class WorkerPool implements \Countable{ /** * @var StringReverseWorker[] */ private $occupiedWorkers = []; /** * @var StringReverseWorke...
2019-10-20 15:57:38 237
翻译 多例模式
<?phpdeclare(strict_types=1);final class Multiton{ const INSTANCE_1 = '1'; const INSTANCE_2 = '2'; /** * @var Multiton[] */ private static $instances = []; /** ...
2019-10-20 15:25:50 264
翻译 建造者模式
<?php// 当一个对象可能有几种情况,避免构造函数伸缩时使用。// 与工厂模式的主要区别在于: 当创建是一个一步过程时,将使用工厂模式,// 而在创建是一个多步过程时,将使用构建器模式。/** * Class Burger */class Burger{ /** * @var int */ protected $size; ...
2019-10-20 15:20:08 369
原创 各种工厂模式
<?phpdeclare(strict_types=1);// 抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、// 抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、// 抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、抽象工厂、interface Product{ public function calcula...
2019-10-20 12:26:24 176
翻译 注册模式
<?phpdeclare(strict_types=1);namespace DesignPatterns\Structural\Registry;abstract class Registry{ const LOGGER = 'logger'; /** * this introduces global state in your applicatio...
2019-10-20 10:11:51 199
翻译 代理模式
<?phpdeclare(strict_types=1);/** * Interface Door */interface Door{ /** * @return mixed */ public function open(); /** * @return mixed */ public function...
2019-10-20 10:00:32 169
翻译 享元模式
<?phpdeclare(strict_types=1);// 有点像单例模式,节省内存资源,CPU 资源。class KarakTea{}// Acts as a factory and saves the teaclass TeaMaker{ protected $availableTea = []; public function make($p...
2019-10-20 09:34:50 178
翻译 流接口模式
<?phpdeclare(strict_types=1);// 写的代码就像是人类的母语一样// 典型例子:Query Builder,PHPUnit/** * Class Sql */class Sql{ /** * @var array */ private $fields = []; /** * @var ar...
2019-10-20 07:35:50 378
翻译 门面模式
<?phpdeclare(strict_types=1);// facade 就是使用一个简单的接口去执行很多复杂的方法。/** * Class Computer */class Computer{ /** * */ public function getElectricShock() { echo "Ouch!"...
2019-10-20 07:22:32 155
翻译 依赖注入模式
<?phpdeclare(strict_types=1);namespace DesignPatterns\Structural\DependencyInjection;class DatabaseConfiguration{ /** * @var string */ private $host; /** * @var in...
2019-10-20 07:10:30 227
翻译 装饰模式
<?php// 一看就懂,不解释interface Coffee{ public function getCost(); public function getDescription();}class SimpleCoffee implements Coffee{ public function getCost() { ret...
2019-10-20 07:04:29 183
原创 数据映射模式
<?php// 就是 ORM。在数据对象层和业务层中间加上映射层。//// CREATE TABLE `user` (// `id` int(11) NOT NULL AUTO_INCREMENT,// `name` varchar(32) CHARACTER SET utf8 DEFAULT NULL,// `mobile` varchar(11) CHARACTER...
2019-10-20 06:49:09 213
原创 桥模式
<?php declare(strict_types=1);namespace DesignPatterns\Structural\Bridge;// 多个 Formatters 抽象出 Formatter 接口// 多个 Services 抽象出 Service 接口// 两个接口之间有座桥,将两个接口的所有实例可以任意互联。/** * Interface Formatte...
2019-10-19 12:34:35 193
原创 EAV 实体属性值模式(多用于数据库)
<?php/** * Class Entity */class Entity{ /** * @var */ protected $name; /** * @var array */ protected $attribute = []; /** * Entity constructor. ...
2019-10-18 21:17:42 2166
翻译 适配器或包装器模式
解决两个接口不兼容的问题。<?php declare(strict_types=1);namespace DesignPatterns\Structural\Adapter;interface Book{ public function turnPage(); public function open(); public function getPag...
2019-10-18 20:19:53 211
原创 资源库模式
<?php/** * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = /O * ____/`---'\____...
2019-10-18 15:38:52 286
laravel5.5 包,预设 bootstrap 4
2018-03-16
laravel 5.5 中文语言包
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人