<?xml version="1.0" encoding="UTF-8"?>
<rss>
<channel>
<title>Rick 's BLOG</title>
<link>https://www.rickw.cn/</link>
<Description>Rick 's BLOG</Description>
<language>zh-cn</language>
<copyright>Copyright 2004-2025 Rick</copyright>
<webMaster>redcheek@gmail.net</webMaster>
<image>
	<title>Rick 's BLOG</title> 
	<url>https://www.rickw.cn/images/logos.gif</url> 
	<link>https://www.rickw.cn/</link> 
	<description>Rick 's BLOG</description> 
</image>
<item>
<link>https://www.rickw.cn/blogview/313</link>
<title><![CDATA[新博客系统更新]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-12-20 00:43:57</pubDate>
<guid>https://www.rickw.cn/blogview/313</guid>
	
<description><![CDATA[2023年12月20日，修复上传了老论坛的附件文件。原文章中引用的论坛图片和附件应该可以正常访问了。<br />
<br />
博客前台功能已经完成，模版样式进行了部分调整。前台引入部分Bootstrap样式。<br />
前台增加了风格模版切换功能。后续准备基于Bootstrap做一个新的风格模版。<br />
后台样式完全基于Bootstrap，后台功能完成50%。]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/309</link>
<title><![CDATA[新博客系统功能更新上线]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-12-17 00:03:36</pubDate>
<guid>https://www.rickw.cn/blogview/309</guid>
	
<description><![CDATA[2023-12-11恢复上传旧的附件文件，服务器和程序对附件下载进行了配置和更新，老的博客文章中的附件可以正常下载。<br />
2023-12-17&nbsp;TrackBack引用通告功能完整实现并上线运行。（之前有考虑删除这个功能，最后还是保留了。）<br />
<br />
目前新博客系统前台功能（除网络书签外）已经全部实现并上线运行。<br />
网络书签功能的去留待定。]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/289</link>
<title><![CDATA[查看网站日志发现被扫描了，nginx如何预防性的设置防止帐号信息泄漏？]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-12-04 19:39:06</pubDate>
<guid>https://www.rickw.cn/blogview/289</guid>
	
<description><![CDATA[大概分类了一下访问。扫描的访问一般是工具提交的。<br />
特点是访问网站中的特定目录或者文件。<br />
这一类工具应该是通过特定目录和文件来确定网站系统程序，然后利用网站程序的漏洞进行攻击。<br />
<br />
还有一些是访问git，vscode等代码管理工具的配置信息。<br />
这一类的风险比较高，如果操作失误将帐号配置信息上传到网站上了就可能会导致信息泄漏。<br />
然后引发更大的风险。<br />
<br />
下面这样的地址(实际日志中的比较多，这里只简单列举几个例子)：<br />
<div class="txt_main">https://www.rickw.cn/actuator/gateway/routes<br />
https://www.rickw.cn/console/<br />
https://www.rickw.cn/version<br />
https://www.rickw.cn/Autodiscover/Autodiscover.xml<br />
https://www.rickw.cn/wp-content/plugins/td-composer/license.txt<br />
http://www.rickw.cn/wp-content/plugins/userpro/skins/elegant/style.css<br />
https://www.rickw.cn/geoserver/web/<br />
https://www.rickw.cn/static/admin/javascript/hetong.js<br />
https://www.rickw.cn/Public/home/js/check.js<br />
https://www.rickw.cn/WuEL<br />
http://www.rickw.cn/telescope/requests<br />
http://www.rickw.cn/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application<br />
</div><br />
上这些扫描应该是判断网站程序是什么系统。<br />
<br />
下面是配置信息的扫描地址（这个安全隐患比较大，误操作的话就容易出现事故）<br />
<div class="txt_main">https://www.rickw.cn/.git/config<br />
https://www.rickw.cn/core/.env<br />
https://www.rickw.cn/.env<br />
http://www.rickw.cn/config.json<br />
http://www.rickw.cn/.DS_Store<br />
http://www.rickw.cn/.vscode/sftp.json</div><br />
<br />
.env一般php开发框架都会在跟目录有一个，这里面可能会有配置数据库的连接帐号信息等。<br />
.git&nbsp;.DS_Store是源代码管理工具的配置文件。<br />
如果你的网站使用了通过源代码管理工具自动更新的话，这里面可能会有源代码管理系统的帐号密码。<br />
<br />
.vscode这个，如果你使用vscode开发，并通过vscode上传代码到服务器，可能会设置了服务器的sftp帐号信息。<br />
<br />
<strong>对于这一类我们可以提前进行预防，在nginx中配置&nbsp;"."&nbsp;点开头的文件夹和文件禁止访问。<br />
然后对于网站中有json配置的，也可以预防禁止访问json文件。</strong><br />
<script type="text/javascript">window.attachEvent("onload",function (){AutoSizeDIV('CODE_4X29fDACkZFo')})</script><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" class="code_head"><tr><td></td><td align="right"><a href="javascript:CopyText(document.all.CODE_4X29fDACkZFo);">[复制到剪贴板] </a></td></tr></table><div class="code_main" id="CODE_4X29fDACkZFo" style="overflow-y:auto;overflow-x:auto;width: 98%;min-height:40px;max-height:500px;"><code><span style="color: #000000"><br />
<span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location&nbsp;</span><span style="color: #007700">^~&nbsp;/.&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">deny&nbsp;all</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;</span><br />
</span><br />
</code></div><br />
上面的写法会禁止网站根目录下的.文件和目录。<br />
<br />
如果还要禁止子目录，可以采用正则表达式的写法。<br />
<script type="text/javascript">window.attachEvent("onload",function (){AutoSizeDIV('CODE_tmzrZQVWazRQ')})</script><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" class="code_head"><tr><td></td><td align="right"><a href="javascript:CopyText(document.all.CODE_tmzrZQVWazRQ);">[复制到剪贴板] </a></td></tr></table><div class="code_main" id="CODE_tmzrZQVWazRQ" style="overflow-y:auto;overflow-x:auto;width: 98%;min-height:40px;max-height:500px;"><code><span style="color: #000000"><br />
<span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location&nbsp;</span><span style="color: #007700">~&nbsp;(.*)/</span><span style="color: #0000BB">\</span><span style="color: #007700">.(.+)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">deny&nbsp;all</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;</span><br />
</span><br />
</code></div><br />
<br />
禁止json文件的写法：<br />
<script type="text/javascript">window.attachEvent("onload",function (){AutoSizeDIV('CODE_bdVAxu0vK1sl')})</script><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" class="code_head"><tr><td></td><td align="right"><a href="javascript:CopyText(document.all.CODE_bdVAxu0vK1sl);">[复制到剪贴板] </a></td></tr></table><div class="code_main" id="CODE_bdVAxu0vK1sl" style="overflow-y:auto;overflow-x:auto;width: 98%;min-height:40px;max-height:500px;"><code><span style="color: #000000"><br />
<span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location&nbsp;</span><span style="color: #007700">~&nbsp;(.*)</span><span style="color: #0000BB">\</span><span style="color: #007700">.</span><span style="color: #0000BB">json&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">deny&nbsp;all</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;</span><br />
</span><br />
</code></div><br />
<br />
<br />
<br />
]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/286</link>
<title><![CDATA[开启SSL证书,nginx配置http跳转https以及CodeIgniter 4系统配置注意事项]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-12-03 19:53:34</pubDate>
<guid>https://www.rickw.cn/blogview/286</guid>
	
<description><![CDATA[今天在阿里云的控制中心申请了SSL的域名证书。阿里云每年可以免费申请20个ssl证书，证书有效期90天。<br />
只有单域名的证书，不支持通配符。Let's&nbsp;Encrypt可以申请通配符的SSL证书。<br />
域名证书申请下来后，在nginx中进行配置开启ssl，并配置http的访问自动跳转到https的网址。<br />
配置好后在新的博客系统上发现了一个小问题，需要对CodeIgniter4进行参数调整。<br />
下面详细介绍CodeIgniter4的参数调整，以及nginx的参数配置信息。<br />
<br />
在发日志的界面出现“此表单不安全,因此,系统已关闭自动填充功能”<br />
<img src="https://ooo.0x0.ooo/2023/12/03/OABx5t.png" border="0" style="max-width:90%;height:auto;"  alt="按此在新窗口打开图片" onmouseover="this.style.cursor='hand';" onclick="showImage(this);" /><br />
<br />
出现这个问题的原因是，Post的提交地址还是对应的http网站。<br />
这个需要修改CodeIgniter4的App\Config\App.php&nbsp;的默认网址参数，将参数设置为&nbsp;https的默认网址。<br />
<div class="txt_main">/**<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;--------------------------------------------------------------------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Base&nbsp;Site&nbsp;URL<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;--------------------------------------------------------------------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;URL&nbsp;to&nbsp;your&nbsp;CodeIgniter&nbsp;root.&nbsp;Typically,&nbsp;this&nbsp;will&nbsp;be&nbsp;your&nbsp;base&nbsp;URL,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;WITH&nbsp;a&nbsp;trailing&nbsp;slash:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;http://example.com/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />
&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;string&nbsp;$baseURL&nbsp;=&nbsp;'https://www.rickw.cn/';</div><br />
<br />
然后查阅了一下CodeIgniter4手册和安全建议，还要设置Cookie的安全性。<br />
修改文件：App\Config\Cookie.php<br />
<div class="txt_main">/**<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;--------------------------------------------------------------------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Cookie&nbsp;Secure<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;--------------------------------------------------------------------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Cookie&nbsp;will&nbsp;only&nbsp;be&nbsp;set&nbsp;if&nbsp;a&nbsp;secure&nbsp;HTTPS&nbsp;connection&nbsp;exists.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />
&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;bool&nbsp;$secure&nbsp;=&nbsp;true;</div><br />
<br />
这样设置后Cookie将只在https的访问中传送，在http的访问中不会传输。<br />
这样可以避免Cookie被嗅探、劫持等风险。<br />
<br />
<strong>Nginx配置&nbsp;http&nbsp;跳转到&nbsp;https</strong><br />
<div class="txt_main">server&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;80;<br />
&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;www.rickw.cn&nbsp;rickw.cn;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;rewrite&nbsp;^/(.*)$&nbsp;https://www.rickw.cn/$1&nbsp;permanent;<br />
}</div><br />
<br />
<strong>Nginx中配置SSL站点</strong><br />
主要是将阿里云下载的证书文件&nbsp;pem和key上传到服务器中，然后参考下面修改一下证书文件的路径即可。<br />
<div class="txt_main">server{<br />
&nbsp;&nbsp;&nbsp;listen&nbsp;443&nbsp;ssl;<br />
&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[::]:443&nbsp;ssl;<br />
&nbsp;&nbsp;&nbsp;server_name&nbsp;www.rickw.cn&nbsp;rickw.cn;<br />
<br />
&nbsp;&nbsp;&nbsp;#填写证书文件绝对路径<br />
&nbsp;&nbsp;&nbsp;ssl_certificate&nbsp;/cert/&lt;cert-file-name&gt;.pem;<br />
&nbsp;&nbsp;&nbsp;#填写证书私钥文件绝对路径<br />
&nbsp;&nbsp;&nbsp;ssl_certificate_key&nbsp;/cert/&lt;cert-file-name&gt;.key;<br />
<br />
&nbsp;&nbsp;&nbsp;ssl_session_cache&nbsp;shared:SSL:1m;<br />
&nbsp;&nbsp;&nbsp;ssl_session_timeout&nbsp;5m;<br />
<br />
&nbsp;&nbsp;&nbsp;ssl_ciphers&nbsp;ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;<br />
&nbsp;&nbsp;&nbsp;ssl_protocols&nbsp;TLSv1.1&nbsp;TLSv1.2&nbsp;TLSv1.3;<br />
<br />
&nbsp;&nbsp;&nbsp;ssl_prefer_server_ciphers&nbsp;on;<br />
<br />
</div><br />
<br />
]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/281</link>
<title><![CDATA[新博客系统功能更新上线]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-12-01 01:17:06</pubDate>
<guid>https://www.rickw.cn/blogview/281</guid>
	
<description><![CDATA[前台功能已经差不多完成了。可能会有极个别遗漏的，在后续开发中如果发现会马上修复。<br />
用户模块，留言板，评论，友情链接申请都已经上线并开放访问了。<br />
<br />
剩余的主要是系统后台管理部分的功能了。<br />
继续推进后台管理模块的开发。]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/270</link>
<title><![CDATA[新的博客系统正式上线试运行了！上线第一帖。]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-11-25 23:57:51</pubDate>
<guid>https://www.rickw.cn/blogview/270</guid>
	
<description><![CDATA[新博客系统前台功能基本上完成了。重新上传部署到了服务器上。<br />
<br />
通过在线系统发布第一条日志。<br />
<div class="txt_main">之前都是在开发环境中进行记录开发过程中的日志。</div><br />
<br />
目前还有&nbsp;用户模块，后台管理模块没有完成。<br />
<br />
前台的评论和留言板功能已经实现，暂时关闭。等用户模块完成后再开放。<br />
]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/267</link>
<title><![CDATA[迁移博客园和云栖社区的帖子]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-11-23 20:34:55</pubDate>
<guid>https://www.rickw.cn/blogview/267</guid>
	
<description><![CDATA[新的博客系统前台的功能完成的七七八八了，准备正式上线试运行了。<br />
<br />
在这之前还要先完成数据库的结构设计，并冻结结构变更。<br />
<br />
然后是将之前在博客园和云栖社区的文章也迁移到新系统中。]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/264</link>
<title><![CDATA[新博客系统线上部署测试]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-11-20 18:17:33</pubDate>
<guid>https://www.rickw.cn/blogview/264</guid>
	
<description><![CDATA[新的系统已经完成前台功能的60%左右，可以显示日志列表，查看日志内容。<br />
因为服务器是linux的环境的和本地windows系统以及php版本都不一样。<br />
为了提前验证系统环境的兼容性。<br />
2023年11月20日，新的系统初次进行线上部署测试。<br />
<br />
还有很多功能没有完成，很多链接都还是无效的。可能会404。<br />
<br />
windows本地php版本是8.2&nbsp;IIS环境。<br />
<br />
服务器是&nbsp;Alibaba&nbsp;Cloud&nbsp;Linux，nginx+php-fpm，php&nbsp;7.4<br />
<br />
<strong>经过上线测试，发现了如下问题并解决：</strong><br />
<div class="txt_main">1，可写文件夹的权限问题，修改&nbsp;writable&nbsp;目录权限为&nbsp;777。<br />
<div class="txt_main">&nbsp;chmod&nbsp;777&nbsp;-R&nbsp;writable</div><br />
<br />
2，php扩展的问题，CodeIgniter4框架的多语言实现依赖intl扩展。通过安装该扩展解决<br />
<div class="txt_main">yum&nbsp;install&nbsp;php-intl</div><br />
</div>]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/263</link>
<title><![CDATA[旧系统mdb数据迁移到mysql中， NaviCat Premium 导入mdb的问题]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-11-19 17:44:01</pubDate>
<guid>https://www.rickw.cn/blogview/263</guid>
	
<description><![CDATA[新系统开发已经有一定的进展，是时候进行旧数据的迁移操作了。<br />
<br />
2023年11月19日&nbsp;完成了原博客系统数据库的迁移。<br />
<br />
迁移使用的工具是&nbsp;NaviCat&nbsp;Premium&nbsp;X64，迁移过程中遇到了问题：invalid&nbsp;variant&nbsp;operation<br />
<br />
<strong>错误消息是&nbsp;&nbsp;invalid&nbsp;variant&nbsp;operation</strong><br />
<div class="txt_main">出现问题的原因是&nbsp;缺少&nbsp;64位的&nbsp;Access&nbsp;Engine&nbsp;组件。<br />
可以从微软官网下载安装64位的组件：<br />
<a target="_blank" href="https://www.microsoft.com/zh-CN/download/details.aspx?id=13255">https://www.microsoft.com/zh-CN/download/details.aspx?id=13255</a><br />
</div><br />
<br />
<strong>安装后就可以正常导入了。<br />
<br />
Navicat&nbsp;导入&nbsp;Access&nbsp;mdb&nbsp;数据库到&nbsp;mysql&nbsp;的问题解决。</strong>]]></description>
</item>
<item>
<link>https://www.rickw.cn/blogview/257</link>
<title><![CDATA[Rick's Blog准备重新开张]]></title>
<author>rick</author>
<category>生活点滴</category>
<pubDate>2023-11-13 12:18:27</pubDate>
<guid>https://www.rickw.cn/blogview/257</guid>
	
<description><![CDATA[<br />
今天整理电脑里面的老数据，发现了之前的博客备份文件，数据是Access&nbsp;mdb格式的，程序是老的asp语言的。<br />
正好今年双十一阿里云99元的活动搞了一个服务器练手，于是就准备进行数据迁移，系统重构。<br />
<br />
选定方案：数据库&nbsp;MariaDB（Mysql），语言&nbsp;php，框架&nbsp;CodeIgniter&nbsp;4最新版本。<br />
<br />
选择&nbsp;CodeIgniter的原因是它比较轻，对于一个博客系统来说足够了。<br />
Laravel&nbsp;和&nbsp;ThinkPHP&nbsp;相对要更重一些。<br />
<br />
新的博客系统还在开发中，后续会在日志中记录开发过程。]]></description>
</item>
</channel>
</rss>