杜郎俊赏 - dujun.io

634封面
2017-05-18

建站之图片旋转

手机拍摄的照片存在旋转的问题,借助 imagemagick 扩展解决。 安装扩展: sudo apt-get install imagemagick sudo apt-get install php-imagick 旋转图片: try { $imagick = new Imagick($imagePath); if ($orientation = $imagick->getImageOrientation()) { switch ($orientation) { case 8: //逆时针90° $degrees = -90; break; case 3: //180° $degrees = -180; break; case 6: //顺时针90° $degrees = 90; break; default: $degrees = 0; break; } if (0 !=...
2017-05-18

建站之 gravatar 缓存

为解决 gravatar 头像访问慢和被墙的问题,可以做本地图片备份。 $url = 'https://secure.gravatar.com/avatar/' . md5($mail) . '?s=36&r=G&d=404'; $header = get_headers($url); if (empty($header) || false === strpos($header[0], '200')) { //此邮箱不存在 gravatar 头像 } else { //抓取头像图片 $image = file_get_contents($url); }
2017-05-18

建站之 yaf 框架

用 yaf 框架重新开发了整站。 ubuntu 下安装命令: sudo apt-get install php7.0-dev sudo pecl install yaf 修改php.ini,追加内容 [yaf] extension=yaf.so yaf.use_namespace=1 yaf.environ=develop
2017-05-17

建站之动态密码

为了安全,后台登录增加了动态密码。基于 GoogleAuthenticator 实现。 用法很简单,看 github 说明即会。 创建二维码时需要翻墙访问 google。
2017-05-05

建站之文字排版

hanzi封面
汉字、字母、数字、标点符号等混合的情况下,排版的美观是非常重要的。如: 本站使用 hanzi.pro 的排版方案,在汉字与字母数字混排时自动增加间隔等。 调用非常简单,引入 css 和 js 就可以了。注意,js 要需要放在页面底部。 ctrl + a 就能明白效果了。
2017-05-05

建站之字体子集

webfont封面
本站主标题 杜郎俊赏 使用的是字体子集技术。 完整的字体文件一般很大,有些场景只需要固定的几个字,比如这个主标题只用到四个字,把用到的字抽离出来就小很多,可以做成 webfont。这就是字体子集技术。 百度 FEF 出品的 Fontmin 是非常方便的字体子集化工具。 下载客户端,安装后将字体文件拖入,填写要抽取的文字,点击生成就可以了。直接生成 ttf/eot/woff/svg/css。
2017-05-04

建站之防盗链

防止图片、视频等资源被盗链,nginx vhost 配置如下 location ~ .*\.(gif|jpg|jpeg|png|bmp|zip|mp4|webm)$ { valid_referers none *.dujun.io dujun.io; if ($invalid_referer) { rewrite ^/ https://cdn.dujun.io/image/403.png; } } 要点:需要增加 none 参数,否则低版本 iPhone 等唤起系统原生播放器来播放视频的情况会被误伤。
2017-05-04

建站之 CSP

Content Security Policy,简称 CSP,定义页面可以加载哪些资源,增强安全性。 我的配置如下 add_header Strict-Transport-Security "max-age=31536000"; add_header X-Frame-Options deny; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection '1; mode=block'; add_header Content-Security-Policy "default-src https: 'self'; script-src https: 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.dujun.io; style-src https: 'self'...
2017-05-04

建站之 HTTPS

本站部署了全站 https,基于 Let's Encrypt 提供的免费证书方案。 在 Ubuntu 中部署 安装 letsencrypt sudo apt-get install letsencrypt 生成证书 当前服务器 ip 必须是目标域名 dns 中。 必须先停止 nginx / apache 等服务。 按照屏幕指示操作,填写邮箱等信息。 sudo letsencrypt certonly --standalone -d dujun.io 生成的证书文件在 /etc/letsencrypt vhost 配置 listen 443 ssl; server_name dujun.io www.dujun.io; ssl_certificate /etc/letsencrypt/live/dujun.io/fullchain.pem; ssl_certificate_key...
2017-05-04

分页: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101