<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>天空博客</title><link>https://skyerblog.com/</link><description>热爱生活 - A Love For Life</description><item><title>微擎人人商城提示&amp;quot;服务器暂时无法处理您的请求，请稍后重试&amp;quot;</title><link>https://skyerblog.com/post/593.html</link><description>&lt;p&gt;程序未改动，最近做活动需要用到微信商城，做调试的时候，发现支付成功后会弹出提示“服务器暂时无法处理您的请求，请稍后重试”。&lt;/p&gt;&lt;p&gt;手动给帐号充值商城余额，用余额支付也报同样的错误，首先排除是微信支付接口的问题。&lt;/p&gt;&lt;p&gt;百度了一下有几个遇到的，不过都是广告，留了微信加微信处理。&lt;/p&gt;&lt;p&gt;然后谷歌搜索了一下，发现是百度地图的接口改了调用方法。&lt;/p&gt;&lt;p&gt;找到了以下三种解决方案&lt;/p&gt;&lt;p&gt;1、直接把百度地图的js文件保存到本地直接调用&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1)打开&lt;a href=&quot;https://api.map.baidu.com/api?v=2.0,&quot; _src=&quot;https://api.map.baidu.com/api?v=2.0,&quot;&gt;https://api.map.baidu.com/api?v=2.0&lt;/a&gt;&amp;nbsp;，如果返回的是html，那就打开里边的js地址，看到一大坨代码后，复制他保存下来，名字随意写，我这里写GetBaidumap.js;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2)把js文件放到 /addons/ewei_shop2/static/js/app/biz/baidumap/ 下，如果没有baidumap文件夹，就新建一个&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3)修改&amp;nbsp;/addons/ewei_shop/static/js/app/biz/store/selector.js 文件头部的百度url，改为&amp;nbsp;biz/baidumap/GetBaidumap&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;2、直接修改调用地址&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修改&amp;nbsp;/addons/ewei_shop/static/js/app/biz/store/selector.js 文件里的 &lt;a href=&quot;https://api.map.baidu.com/getscript&quot; _src=&quot;https://api.map.baidu.com/getscript&quot;&gt;https://api.map.baidu.com/getscript&lt;/a&gt;&amp;nbsp;，替换为 &lt;a href=&quot;https://api.map.baidu.com/api&quot; _src=&quot;https://api.map.baidu.com/api&quot;&gt;https://api.map.baidu.com/api&lt;/a&gt;&amp;nbsp;，后边的字符串可不改动&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;3、修改附加参数&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修改 /addons/ewei_shop/static/js/myconfig-app.js 文件里的 urlArgs: ‘v=’ + version 将 v= 修改为 t=&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我是把第2，3种结合到一起解决的，没测试过第一种。&lt;/p&gt;</description><pubDate>Sun, 27 Feb 2022 10:54:44 +0800</pubDate></item><item><title>vscode基础使用</title><link>https://skyerblog.com/post/592.html</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;strong&gt;1、界面中文语言包&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;下载安装完毕后，点击左侧扩展按钮，搜索chinese，安装中文语言包；第一个中文简体就行；&lt;/p&gt;&lt;p&gt;&lt;br style=&quot;white-space: normal;&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2022/01/202201121641970673338886.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;strong&gt;2、代码同步器&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;为了方便同步代码，我们再在扩展里搜索sftp&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2022/01/202201121641970775103212.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;安装linximomo的就行，安装好后新建文件夹，或者导入一个文件夹，重启vs&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2022/01/202201121641970842130547.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;可以在项目根目录的.vscode里看到一个sftp.json文件夹，打开修改&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&amp;nbsp;&amp;quot;名称看心情写&amp;quot;,//服务器名称
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;context&amp;quot;:&amp;nbsp;&amp;quot;F:\\www&amp;quot;，//本地路径
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;host&amp;quot;:&amp;nbsp;&amp;quot;47.191.191.191&amp;quot;,//IP或者域名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;protocol&amp;quot;:&amp;nbsp;&amp;quot;ftp&amp;quot;,//普通FTP就写ftp，linux的root就写sftp
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;port&amp;quot;:&amp;nbsp;21,//普通FTP写21，linux的root写22，如果有修改按实际写
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;username&amp;quot;:&amp;nbsp;&amp;quot;FTP用户名&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;remotePath&amp;quot;:&amp;nbsp;&amp;quot;/&amp;quot;,//默认目录一般是/根目录
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;uploadOnSave&amp;quot;:&amp;nbsp;false,//是否打开保存立即自动上传
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;password&amp;quot;:&amp;nbsp;&amp;quot;5201314&amp;quot;,//密码
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;ignore&amp;quot;:&amp;nbsp;[//不更新
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;**/.vscode/**&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;**/.git/**&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;**/.DS_Store&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;watcher&amp;quot;:&amp;nbsp;{//开启监听，自动更新文件
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;files&amp;quot;:&amp;nbsp;&amp;quot;*.{js,css}&amp;quot;,&amp;nbsp;//直接*就是所有文件，左侧规范是可以选定后缀
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;autoUpload&amp;quot;:&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;autoDelete&amp;quot;:&amp;nbsp;false
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;uploadOnSave如果打开，那就保存的时候系统自动同步上传，如果关闭，在文件空白处右键手动上下载&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2022/01/202201121641971154212867.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;strong&gt;3、在vscode配置python运行环境&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;扩展里搜索python，安装第一个就行&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2022/01/202201121641971278466878.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;运行脚本的时候没有库怎么办？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;扩展里搜索pip，安装Pip Manager&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2022/01/202201121641971310102570.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;安装完成后，重启vscode，左侧点击PIP管理，点击放大镜，搜搜需要的扩展库&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2022/01/202201121641971380116123.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2022/01/202201121641971440874381.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;点击，稍微等待就可以运行了&lt;/span&gt;&lt;/p&gt;</description><pubDate>Wed, 12 Jan 2022 14:57:08 +0800</pubDate></item><item><title>openwrt折腾记录</title><link>https://skyerblog.com/post/591.html</link><description>&lt;p&gt;最近在做抖音视频剪辑的时候发现在办公室和家里来回折腾文件，带一个移动硬盘太麻烦了。想弄一个贫民窟版的nas来同步文件。买了一个赚钱宝3，按照恩山无线大佬的教程，刷入了openwrt&lt;/p&gt;&lt;p&gt;链接是&lt;a href=&quot;https://www.right.com.cn/forum/thread-4090774-1-1.html&quot; _src=&quot;https://www.right.com.cn/forum/thread-4090774-1-1.html&quot;&gt;https://www.right.com.cn/forum/thread-4090774-1-1.html&lt;/a&gt; &lt;/p&gt;&lt;p&gt;刷机的时候要捅着复位键，插入usb，再插入电源。USB也带电，必须全部拔掉。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;输入后后台找到软件列表，刷新列表后安装luci-i18n-base-zh-cn中文语言包。&lt;/p&gt;&lt;p&gt;然后按照二佬的教程安装软件&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.right.com.cn/forum/thread-4126356-1-1.html&quot; _src=&quot;https://www.right.com.cn/forum/thread-4126356-1-1.html&quot;&gt;https://www.right.com.cn/forum/thread-4126356-1-1.html&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;1、先安装磁盘管理基础库opkg install&amp;nbsp;resize2fs&lt;/p&gt;&lt;p&gt;2、安装ntfs支持opkg install ntfs-3g&lt;/p&gt;&lt;p&gt;3、安装磁盘管理opkg install fdisk&lt;/p&gt;&lt;p&gt;4、查看磁盘位置后，挂载磁盘mount -t ntfs-3g NTFS /dev/sda1 /mnt/sda1/&lt;/p&gt;&lt;p&gt;5、安装SMB分享，也就是win上的共享文件夹opkg install kmod-usb-storage bLock-mount samba36-server Luci-app-samba&lt;/p&gt;&lt;p&gt;6、安装完成后在openwrt后台的服务里看到网络共享了。把刚才挂载的位置共享出去，在其他电脑就可以访问了&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2021/12/202112081638954360154776.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2021/12/202112081638954406720896.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;7、为了能在其他网络环境下也可以访问这个共享文件夹，安装Zerotier实现远距局域网&lt;/p&gt;&lt;p&gt;参照了简书大佬的教程&lt;a href=&quot;https://www.jianshu.com/p/3b4e45add41f&quot; _src=&quot;https://www.jianshu.com/p/3b4e45add41f&quot;&gt;https://www.jianshu.com/p/3b4e45add41f&lt;/a&gt; &lt;/p&gt;&lt;p&gt;opkg update &amp;amp;&amp;amp; opkg install zerotier&lt;/p&gt;&lt;p&gt;再安装nano方便编辑配置文件&lt;/p&gt;&lt;p&gt;opkg install nano&lt;/p&gt;&lt;p&gt;用nano打开nano /etc/config/zerotier&lt;/p&gt;&lt;p&gt;将option enabled &amp;#39;0&amp;#39;的0改为1，list join &amp;#39;**********&amp;#39;改为自己的Network ID&lt;/p&gt;&lt;p&gt;防火墙我安装这个版本设不设置都没啥用。提一嘴吧&lt;/p&gt;&lt;p&gt;iptables -I FORWARD -i 123 -j ACCEPT&lt;/p&gt;&lt;p&gt;iptables -I FORWARD -o 123 -j ACCEPT&lt;br/&gt;&lt;/p&gt;&lt;p&gt;iptables -t nat -I POSTROUTING -o 123 -j MASQUERADE&lt;/p&gt;&lt;p&gt;这里的123改成网络接口里一个以Z开头的网卡名称。&lt;/p&gt;&lt;p&gt;重启防火墙，重启openwrt，就可以用新IP访问openwrt了。&lt;/p&gt;&lt;p&gt;8、但是遇到一个新问题，共享文件夹不能远程打开。曾经用了一段时间的ftp来曲线救国，发现ftp文件的信息不对称。修改时间最多精确到分钟，经常是同步文件把自己搞混了。&lt;/p&gt;&lt;p&gt;思考了一下，局域网可以打开smb共享文件夹，我用zerotier加持的网络两边都是Windows的情况下也可以打开。&lt;/p&gt;&lt;p&gt;那问题就是出在了openwrt这，防火墙关闭，也打不开&lt;/p&gt;&lt;p&gt;最后检查出来是网卡的事，Samba这个玩意默认只监听默认网卡，得把zerotier的网卡也加进去才行，这个问题困扰了我一个星期。&lt;/p&gt;&lt;p&gt;打开网络共享，点击编辑模板，interfaces这里后边加上zerotier的网卡名称。&lt;/p&gt;&lt;p&gt;重启samba，可以打开了。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2021/12/202112081638954831193062.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;配合goodsync，轻nas用起来很舒服。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;9、安装aria2，用来下载文件&lt;br/&gt;&lt;/p&gt;&lt;p&gt;opkg install aria luci-app-aria2&lt;/p&gt;&lt;p&gt;安装基础包&lt;/p&gt;&lt;p&gt;后台配置一下附加项&lt;/p&gt;&lt;p&gt;check-certificate=false&lt;/p&gt;&lt;p&gt;option=value&lt;/p&gt;&lt;p&gt;文件目录一定设置正确（已经挂载的磁盘位置）&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2021/12/202112081638955085538116.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;重启就启动了，状态这里可以看到web界面的按钮点进去就可以下载了。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 08 Dec 2021 16:53:12 +0800</pubDate></item><item><title>博客被挂马了</title><link>https://skyerblog.com/post/590.html</link><description>&lt;p&gt;一脸懵逼的看着收录结果，唉。。。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://skyerblog.com/zb_users/upload/2021/08/202108131628826970386531.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;把程序从typcho换成了zb，还不能直接倒，中间过了一下wp&lt;/p&gt;</description><pubDate>Fri, 13 Aug 2021 11:53:28 +0800</pubDate></item><item><title>mysql批量替换指定字符串</title><link>https://skyerblog.com/post/589.html</link><description>UPDATE `表名` SET `字段名` = REPLACE( `字段名` , '被替换的内容', '替换的内容' )
例如 要把A表B字段里的 你好 替换成 你坏
UPDATE `A` SET `B` = REPLACE( `B` , '你好', '你坏' )</description><pubDate>Tue, 06 Apr 2021 10:56:55 +0800</pubDate></item><item><title>yzmcms如何修改网站管理后台的地址，不将admin路径暴露出来</title><link>https://skyerblog.com/post/588.html</link><description>&lt;p&gt;很多同学出于安全考虑，防止别人看到自己的网站后台，以及防止在登陆后台尝试登陆账号，暴力破解后台密码。所以想会后台路径换一下。
不过，官方说，不需要换，无需担心安全问题，系统很安全。
这就好比广场上配置有凉衣架，社区管理员让你把你的82年的裤衩，拿到广场上凉，你说我想凉自己阳台就好了。管理员说没关系，广场很安全不会丢的。
二人说的都没毛病，但是又总觉得哪儿不对。
那么，yzmcms的管理后台路径能改吗？
答案：不能
好了，这篇文章结束了吗。
然而并不是，老夫这有一计，可以解决admin暴露的问题。
其实，不是不能改后台路径，而是太麻烦了，模板中的后台链接全部用的admin，如果改模板名，那么模板这么多文件，你要一个个改个遍，如果程序升级，怎么办？再来一遍吗！太费事了
虽然不能改后台路径，但是，我们可以通过程序限制/admin/的访问权限。当游客访问admin模块时，自动提示模块不存在。100%防真模拟官方的提示效果。即：module does not exist : admin
对游客隐藏admin模块的原理：
当游客访问后台时，如果不带上key访问，那么就会提示模块不存在，如果管理员访问后台时，带上正确的key访问，则即可正常显示模块。
操作方法：
1、打开文件 \application\admin\controller\common.class.php
2、找到大概第20行的判断用户是否已经登录部分，将 final private function check_admin()函数加3行
添加后的完整的函数代码如下：&amp;nbsp;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;final&amp;nbsp;private&amp;nbsp;function&amp;nbsp;check_admin()&amp;nbsp;{&amp;nbsp;$key=empty($_GET[&amp;#39;key&amp;#39;])?&amp;#39;&amp;#39;:$_GET[&amp;#39;key&amp;#39;];&amp;nbsp;if(ROUTE_M&amp;nbsp;==&amp;#39;admin&amp;#39;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;ROUTE_C&amp;nbsp;==&amp;#39;index&amp;#39;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;ROUTE_A&amp;nbsp;==&amp;#39;login&amp;#39;)&amp;nbsp;{&amp;nbsp;if($key&amp;lt;&amp;gt;&amp;#39;skyer&amp;#39;)&amp;nbsp;application::halt(&amp;quot;module&amp;nbsp;does&amp;nbsp;not&amp;nbsp;exist&amp;nbsp;:&amp;nbsp;admin&amp;quot;,&amp;nbsp;404);&amp;nbsp;return&amp;nbsp;true;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{&amp;nbsp;$adminid&amp;nbsp;=&amp;nbsp;intval(get_cookie(&amp;#39;adminid&amp;#39;));&amp;nbsp;if(!isset($_SESSION[&amp;#39;adminid&amp;#39;])&amp;nbsp;||&amp;nbsp;!isset($_SESSION[&amp;#39;roleid&amp;#39;])&amp;nbsp;||&amp;nbsp;!$_SESSION[&amp;#39;adminid&amp;#39;]&amp;nbsp;||&amp;nbsp;!$_SESSION[&amp;#39;roleid&amp;#39;]&amp;nbsp;||&amp;nbsp;$adminid&amp;nbsp;!=&amp;nbsp;$_SESSION[&amp;#39;adminid&amp;#39;])&amp;nbsp;{&amp;nbsp;if($key&amp;lt;&amp;gt;&amp;#39;kkno&amp;#39;)&amp;nbsp;application::halt(&amp;quot;module&amp;nbsp;does&amp;nbsp;not&amp;nbsp;exist&amp;nbsp;:&amp;nbsp;admin&amp;quot;,&amp;nbsp;404);&amp;nbsp;echo&amp;nbsp;&amp;#39;&amp;lt;----script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;nbsp;var&amp;nbsp;url=&amp;quot;&amp;#39;.U(&amp;#39;admin/index/login&amp;#39;)----.&amp;#39;&amp;quot;;&amp;nbsp;if(top.location&amp;nbsp;!==&amp;nbsp;self.location){&amp;nbsp;top.location=url;&amp;nbsp;}else{&amp;nbsp;window.location.href=url;&amp;nbsp;}&amp;#39;;&amp;nbsp;exit();&amp;nbsp;}&amp;nbsp;self::check_referer();&amp;nbsp;}&amp;nbsp;}&lt;/pre&gt;&lt;p&gt;以后，你访问后台，即可通过 /admin/index/login.html?key=skyer 来登陆，即可，正常的路径后台加上?key=skyer。
你也可以在函数中，将skyer改成自己能记住的字符。
再也不用担心管理后台能让任意人可以访问了！&lt;/p&gt;&lt;!------script--&gt;</description><pubDate>Sat, 03 Apr 2021 10:47:00 +0800</pubDate></item><item><title>如何清空yzmcms安装后的默认栏目和文章，并让id序号0开始</title><link>https://skyerblog.com/post/587.html</link><description>yzmcms安装成功后，会自动插入几个演示栏目和文章，给新手做示例使用的。
正常情况下，只需要删掉即可
但是，可能有些同学有强迫症，想让id序号，从0开始，看起来才舒服。
不用担心，重新初始化这几个数据库（一共3个表，栏目表，文章表，搜索文章表）即可重置。
在后台执行下面sql（系统管理→SQL命令行→执行多条SQL）即可清空重建，基于yzmcms5.8的sql：
DROP TABLE IF EXISTS
    `yzmcms_all_content`;
CREATE TABLE `yzmcms_all_content`(
    `allid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `modelid` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
    `catid` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
    `id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `userid` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
    `username` CHAR(30) NOT NULL DEFAULT '',
    `title` VARCHAR(150) NOT NULL DEFAULT '',
    `inputtime` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `updatetime` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `url` VARCHAR(100) NOT NULL DEFAULT '',
    `thumb` VARCHAR(100) NOT NULL DEFAULT '',
    `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1',
    `issystem` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1',
    PRIMARY KEY(`allid`),
    KEY `userid_index`(`userid`, `issystem`, `status`),
    KEY `modelid_index`(`modelid`, `id`),
    KEY `status`(`status`),
    KEY `issystem`(`issystem`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8; DROP TABLE IF EXISTS
    `yzmcms_article`;
CREATE TABLE `yzmcms_article`(
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `catid` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
    `userid` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
    `username` VARCHAR(30) NOT NULL DEFAULT '',
    `nickname` VARCHAR(30) NOT NULL DEFAULT '',
    `title` VARCHAR(180) NOT NULL DEFAULT '',
    `seo_title` VARCHAR(200) NOT NULL DEFAULT '',
    `color` CHAR(9) NOT NULL DEFAULT '',
    `inputtime` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `updatetime` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `keywords` VARCHAR(100) NOT NULL DEFAULT '',
    `description` VARCHAR(255) NOT NULL DEFAULT '',
    `click` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
    `content` TEXT NOT NULL,
    `copyfrom` VARCHAR(50) NOT NULL DEFAULT '',
    `thumb` VARCHAR(100) NOT NULL DEFAULT '',
    `url` VARCHAR(100) NOT NULL DEFAULT '',
    `flag` VARCHAR(12) NOT NULL DEFAULT '' COMMENT '1置顶,2头条,3特荐,4推荐,5热点,6幻灯,7跳转',
    `status` TINYINT(1) NOT NULL DEFAULT '1',
    `issystem` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1',
    `listorder` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
    `groupids_view` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '阅读权限',
    `readpoint` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '阅读收费',
    `paytype` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT '收费类型',
    `is_push` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否百度推送',
    PRIMARY KEY(`id`),
    KEY `status`(`status`, `listorder`),
    KEY `catid`(`catid`, `status`),
    KEY `userid`(`userid`, `status`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8; DROP TABLE IF EXISTS
    `yzmcms_category`;
CREATE TABLE `yzmcms_category`(
    `catid` SMALLINT(5) NOT NULL AUTO_INCREMENT COMMENT '栏目ID',
    `catname` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '栏目名称',
    `modelid` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '模型id',
    `parentid` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '父级id',
    `arrparentid` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '父级路径',
    `arrchildid` MEDIUMTEXT NOT NULL COMMENT '子栏目id集合',
    `catdir` VARCHAR(30) NOT NULL DEFAULT '' COMMENT '栏目目录',
    `catimg` VARCHAR(150) NOT NULL DEFAULT '' COMMENT '栏目图片',
    `type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '栏目类型:0普通栏目1单页2外部链接',
    `listorder` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '栏目排序',
    `target` CHAR(10) NOT NULL DEFAULT '' COMMENT '打开方式',
    `member_publish` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否会员投稿',
    `display` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT '在导航显示',
    `pclink` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '电脑版地址',
    `entitle` VARCHAR(80) NOT NULL DEFAULT '' COMMENT '英文标题',
    `subtitle` VARCHAR(60) NOT NULL DEFAULT '' COMMENT '副标题',
    `mobname` VARCHAR(30) NOT NULL DEFAULT '' COMMENT '手机版名称',
    `category_template` VARCHAR(30) NOT NULL DEFAULT '' COMMENT '频道页模板',
    `list_template` VARCHAR(30) NOT NULL DEFAULT '' COMMENT '列表页模板',
    `show_template` VARCHAR(30) NOT NULL DEFAULT '' COMMENT '内容页模板',
    `seo_title` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'SEO标题',
    `seo_keywords` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'SEO关键字',
    `seo_description` VARCHAR(250) NOT NULL DEFAULT '' COMMENT 'SEO描述',
    PRIMARY KEY(`catid`),
    KEY `modelid`(`modelid`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8;
如果后台无法执行sql，请先开启权限。
开启方法：
解决yzmcms后台运行sql提示：根据系统配置，不允许在线执行SQL命令！
yzmcms后台执行sql命令时，会提示根据系统配置，不允许在线执行SQL命令！
为了程序的安全性，所以后台默认不允许运行sql命令。
只需要在配置文件中，开启即可允许管理员直接在后台运行sql命令。
如何开启？
修改文件/common/config/config.php，大约77行
将'sql_execute' =&gt; false,，改成'sql_execute'=&gt; true,保存更新文件，即可生效。
提示：每一次运行sql时，请记得先备份一下数据库，防止误操作，导致数据丢失</description><pubDate>Sat, 03 Apr 2021 10:46:00 +0800</pubDate></item><item><title>dede判断移动设备跳转</title><link>https://skyerblog.com/post/586.html</link><description>&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;&amp;lt;script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;try&amp;nbsp;{var&amp;nbsp;urlhash&amp;nbsp;=&amp;nbsp;window.location.hash;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
	if&amp;nbsp;(!urlhash.match(&amp;quot;fromapp&amp;quot;)){if&amp;nbsp;((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
	{window.location=&amp;quot;/m&amp;quot;;}}}catch(err){}&amp;lt;/script&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
首页&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;try&amp;nbsp;{var&amp;nbsp;urlhash&amp;nbsp;=&amp;nbsp;window.location.hash;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
	if&amp;nbsp;(!urlhash.match(&amp;quot;fromapp&amp;quot;)){if&amp;nbsp;((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
	{window.location=&amp;quot;/m/list.php?tid={dede:type}[field:ID&amp;nbsp;/]{/dede:type}&amp;quot;;}}}catch(err){}&amp;lt;/script&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
栏目页&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;try&amp;nbsp;{var&amp;nbsp;urlhash&amp;nbsp;=&amp;nbsp;window.location.hash;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
	if&amp;nbsp;(!urlhash.match(&amp;quot;fromapp&amp;quot;)){if&amp;nbsp;((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
	{window.location=&amp;quot;/m/view.php?aid={dede:field.id/}&amp;quot;;}}}catch(err){}&amp;lt;/script&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
内容页&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 15 Mar 2019 15:10:00 +0800</pubDate></item><item><title>dede首页调用单页栏目内容</title><link>https://skyerblog.com/post/585.html</link><description>（1）以公司简介栏目为例，网站首页会有显示公司简介的板块，在对应板块位置，输入如下代码：
{dede:sql sql='Select content from dede_arctype where id=2'}
[field:content/]
{/dede:sql}
说明：其中的id=’2’是指定栏目的id ，查看栏目id的方法，如下图，在栏目名称后就是栏目id ，输入代码后，保存，刷新网站，这时首页对应板块就调用出栏目内容了。
（2）上面代码是把栏目所有内容都调用出来，如果我们只调用部分内容，可以用下面代码：
{dede:sql sql='Select content from dede_arctype where id=2' }
　[field:content function='cn_substr(html2text(@me),550)'/]...
{/dede:sql}
说明：代码相对第一种代码，多了 function='cn_substr(html2text(@me),550)' ，数字550是限制调用出来的字数。
特点：可以指定调用内容的字数，缺点只能调用文字，文章内容中的图片等其他元素不能调用，并且调用出的内容没有文章段
</description><pubDate>Tue, 12 Mar 2019 15:56:48 +0800</pubDate></item><item><title>php调用远程mssql服务器</title><link>https://skyerblog.com/post/583.html</link><description>最近在弄公司的微信服务号，忽然冒出个想法，想把微信和医疗系统结合一下，让用户能直接在微信上查到自己在医院的资料。
for example几号来的医院，咨询的什么项目，哪个医生接待的，消费了多少钱，什么时候需要去复诊，该跟谁约会，该跟谁搞基。。。
&amp;nbsp;
心里这么一想似乎能两边都方便点，而且也对吸粉有一点的作用
说干就干。
先说一下环境吧
医院这边用的是一套客户端的服务系统，叫宏脉，具体不解释了。用的是mssql的数据库，服务器就扔在医院的某个阴暗的小角落，装了花生壳，指定了端口对公网开放
而搭载了微擎的那边用的是windows2008的阿里云，我用了西数的网站助手，个人感觉手感还不错，可以一键创建站点数据库之类的。还可以一键安装php5.2到5.5的环境，颇为顺手。
环境解释完了，那么问题来了，如何用php远程调用mssql的数据呢？
中间各种曲折离奇的故事我就不多加赘述了，直接指明道路。
&amp;nbsp;
&lt;strong&gt;第一步开放mssql的远程访问&lt;/strong&gt;
这个简单，网上一大坨教程，个人建议单独加一个远程调用的账户，我百度了一个传送门&lt;a href=&quot;http://jingyan.baidu.com/article/6c67b1d6ca06f02787bb1ed1.html&quot;&gt;http://jingyan.baidu.com/article/6c67b1d6ca06f02787bb1ed1.html&lt;/a&gt;
&lt;strong&gt;第二步让php支持mssql&lt;/strong&gt;
因为微擎要求的php版本比较高，而mssql在高于5.3的php就TM不再支持mssql了，得插点东西才行。
来来，我告诉你们要插点什么
&lt;ul&gt;
	&lt;li&gt;先插个扩展库&lt;a href=&quot;http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx&quot;&gt;http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx&lt;/a&gt; 硬不起来的官网表示有提供下载，根据自己的PHP版本下载相应的扩展库（放到PHP的ext文件夹下）&lt;/li&gt;
	&lt;li&gt;缺DLL的插DLL，我这里是5.4的我就只提供5.4缺失的dll裤了&lt;a href=&quot;http://pan.baidu.com/s/1czFCtS&quot;&gt;http://pan.baidu.com/s/1czFCtS&lt;/a&gt;（同样放到PHP的ext文件夹下）&lt;/li&gt;
	&lt;li&gt;装个&lt;a href=&quot;http://pan.baidu.com/s/1gf2TnTD&quot;&gt;Microsoft SQL Server 2012 Native Client&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;
&lt;strong&gt;第三步，好了该装的装了是时候改一下配置文件了&lt;/strong&gt;
打开php目录下的php.ini
有仇的报仇，有怨的。。不是
有
&lt;pre class=&quot;lang:default decode:true&quot;&gt;;extension=php_sqlsrv.dll
;extension=php_pdo_sqlsrv.dll&lt;/pre&gt;
这两句的就把前边的；去掉，没有的就补上这两句
再加个
&lt;pre class=&quot;lang:default decode:true &quot;&gt;[PHP_PDO_SQLSRV]
extension = php_pdo_sqlsrv_54_nts.dll
[PHP_SQLSRV]
extension = php_sqlsrv_54_nts.dll&lt;/pre&gt;
根据自己的环境来nts就是非安全线程，ts就是安全。如果不知道了就都试试。
到这里差不多了
&lt;strong&gt;第四步，测试&lt;/strong&gt;
&lt;pre class=&quot;lang:default decode:true&quot;&gt;&amp;lt;?
/*连接数据库，5.4的函数不再是mssql_connect了：*/
$conInfo=array('Database'=&amp;gt;'osbst', 'UID'=&amp;gt;'sa', 'PWD'=&amp;gt;'123456');
$conn=sqlsrv_connect('192.168.1.208', $conInfo);
/*判断连接成功与否：*/
if( $conn == false )
{
    die( print_r( sqlsrv_errors(), true));
}
else
{
    echo(&quot;yes&amp;lt;br&amp;gt;&quot;);
}
$table_name = 'table_name';
/*如果你牛叉的数据库表名是中文，记得加上这句：*/
$table_name = iconv('UTF-8', 'GB2312', '牛叉的中文表名'); 
/*query语句：*/
$rs=sqlsrv_query($conn, &quot;select * from &quot;.$table_name);
if($rs == false)
{
    echo(&quot;false&amp;lt;br&amp;gt;&quot;);
}
else
{
    while($row = sqlsrv_fetch_array($rs))
    {
        print_r($row);
    }
    sqlsrv_free_stmt($rs);
    sqlsrv_close($conn);
}
?&amp;gt;&lt;/pre&gt;
输出数组了说明成功了~
&amp;nbsp;
完结撒花
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;</description><pubDate>Fri, 22 Jul 2016 17:23:14 +0800</pubDate></item></channel></rss>