Switch language
zh
Switch theme
Light
  • php-生成文件流,-不生成本地文件

    $string = "I tried, honestly! 中文"; $stream = fopen('data://text/plain,' . $string,'r'); //file_put_contents('./a.txt', $stream); //echo stream_get_contents($stream); echo $stream; $string = 'Some bad-ass string'; $stream = fopen('php://memory','r+'); fwrite($stream, $string); rewind($stream); echo stream_get_contents($stream); 参考自: Creating streams from strings in PHP
  • 类的-static-及-self

    使用 self:: 或者 CLASS 对当前类的静态引用,指向 定义当前方法所在的类. 使用 static 对当前类的静态引用,指向 使用当前方法所在的类. 参见php.net 后期静态绑定
  • csrf-跨站请求伪造

    CSRF(Cross-site request forgery)跨站请求伪造, 定义: 攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。 利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。 一个典型的CSRF攻击有着如下的流程: 受害者登录a.com,并保留了登录凭证(Cookie)。 攻击者引诱受害者访问了b.com。 b.com 向 a.com 发送了一个请求:a.com/act=xx。浏览器会默认携带a.com的Cookie。 a.com接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求。 a.com以受害者的名义执行了act=xx。 攻击完成,攻击者在受害者不知情的情况下,冒充受害者,让a.com执行了自己定义的操作。 前后端分离时, 不使用 cookie, 则不会有 csrf 危险
  • php-的-session-文件

    由于 http 无状态性, 一般 MVC 可以使用session 用于存储用户信息. <?php session_start(); // 开启 session, 将会生成一个 session_id, 通过 http 响应头返回给浏览器, 浏览器存储到本地的 cookie 中, 下次 http 请示会自动携带给服务端; // 同时会在服务端生成一个文件 如 sess_2rh6hq44kjbtagri2r88dj16b1 (后面一串为 session_id), 当前会话(通过 id保持) 的数据, 会保存在该文件中, 如 session('name', 'test') session_unset(); // 注销当前会话下的 session 变量, 但不会删除当前 sess_xxxx... 文件, 而是清空文件里的内容(key: value)
  • laravel-composer-dump-autoload-失败

    报 class xxx not found // 1. 执行 php artisan config:clear // 2. 再不行就执行 php artisan clear-compiled // 3. 再不行就把 vendor/composer/ 文件夹里 autoload_ 开头的文件删除
  • composer-version-constraint

    Tilde ~2.1, means 2.1.0 <= version < 3.0.0 ~2.1.1, means 2.1.1 <= version < 2.2.0 Caret // - ^2.1, means 2.1.0 <= version < 3.0.0 ^2.1.1, means 2.1.0 <= version < 3.0.0 Wildcard 2.1.*, means 2.1.0 <= version < 2.2.0 reference: composer
  • 查询字段是否含有中文

    SELECT col FROM table WHERE length(col)!=char_length(col) 通过查询长度和字符个数是否相等, 相等则不包含中文, 不相等则包含中文 原文见cnblog
  • laravel-多对多关联时,-会出现-pivot-字段,-如何删除

    $user->roles->makeHidden('pivot'); // 或者在 model 中 protect $hidden = ['pivot'];
  • laravel-wechat-公众号更换url时报-token-验证失败

    VerifyCsrfToken 中间件, 排除 微信相关的 路由, 见文档 是否开启了 debugbar, 关闭之, 见github
  • golang-删除-slice-中的部分元素

    golang 对 slice 的操作全在 [:] 中 和 append // 删除切片的第三个元素 sslice := []int{0,1,2,3,4} sslice = append(sslice[:2], sslice[3:]...) Notice sslice[A:B], 包涵 A, 不包括 B; 若 A = B,包涵 A append 第一个参数为 切片, 第二(三,四)个参数为 元素, 若为 切片, 可以使用 … 分解 (析构) 为元素
🍀