杜郎俊赏 - 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°...

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'...

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...

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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176