日志分类:网站技术

laoxie.me

分类:网站技术日期:2018-11-08 - 19:53:25评论:29条作者:老谢

  不知不觉都写8年博客了,xj123.info也注册8年了,唉唉唉,最开始.tk的域名以及写了小半年的ZBLOG的日志,你敢信当时.tk的域名我都备案成功了!?换WordPress的时候数据丢真是可惜 T_T 很想知道当时写了什么23333,当时图便宜注册个.info也是醉了,后来各种原因包括换到阿里云以后更是因为备案问题懒得为了换域名折腾,拖拖拖一拖又是好几年(擦!都换到阿里云4年了),最近手痒顺手查查laoxie.me居然已经过期释放了,妥妥注册过来(本来想啥时候注册到laoxie.com啥时候再换,但估计是等不到了,确认过眼神是买不起的.com双拼…),就想着把域名用上,其实也不算换域名,旧域名依然会保持访问也不会做跳转,只是用laoxie.me做个反代,以后结识新朋友都会以laoxie.me留言啦!

  趁着光棍节活动,新购入了一台香港阿里云ECS作为反代使用(后悔了,应该直接买3年,平均每年300块,现在只买了1年,按照阿里云的尿性续费肯定没优惠,到时候估计得新购换IP…),为了换域名也是拼了,新域名懒得备案,只能想到反代这招了…ECS异地居然还不能走内网通信,蛋疼蛋疼,现在的阿里云默认都是开了端口策略,只开放了些许端口,甚至80和443这样的端口默认都没被允许入站,懒得新创建入站规则,所以SSH端口就用默认了22了,但毕竟暴露在公网,还是稍稍做些防护会好些),之前也有过相关的帖子:谁偷走了我的密码?IP归属地分析Shell脚本

安全设置,防暴力破解ssh
vim /root/secure_ssh/secure_ssh.sh
 
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/secure_ssh/black.list
for i in `cat  /root/secure_ssh/black.list`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
  if [ ${#NUM} -gt 1 ]; then
    grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done
 
#从这些行中提取IP地址,如果次数达到10次(脚本中判断次数字符长度是否大于1)则将该IP写到 /etc/hosts.deny中。
 
#将secure_ssh.sh脚本放入cron计划任务,每1分钟执行一次。
*/1 * * * *  sh /root/secure_ssh/secure_ssh.sh

  至此脚本将每分钟爬一遍/var/log/secure找到登录失败超过3次的ip丢进/etc/hosts.deny,其实更想用iptables来操作,比如配个csf,但是想想好麻烦…再说吧再说吧…..在配置的过程中发/etc/log/secure没有日志,重启sshd和rsyslog以后还是没有新日志,经过一番搜索,将sshd_config的日志级别调整为SyslogFacility AUTHPRIV,然后重启sshd即可正常生成日志!

  天下文章一大抄,我抄自:https://cloud.tencent.com/developer/article/1119081

继续阅读…

LNMP不重新编译PHP增加LDAP模块

分类:网站技术日期:2017-09-11 - 11:50:44评论:1条作者:老谢

yum install openldap openldap-devel  -y
cp -frp /usr/lib64/libldap* /usr/lib/

  phpize 命令是用来准备 PHP 扩展库的编译环境的。随着工作需要,如果想增加模块但又不想重新编译php时就可以使用phpize。

cd php-5.3.28
cd ext/ldap/
/usr/local/php/bin/phpize
./configure -with-ldap -with-php-config=/usr/local/php/bin/php-config
make && make install
vi /usr/local/php/etc/php.ini
 
添加 extension = "ldap.so" 重启LNMP即可。

默认编码导致的DEDECMS乱码

分类:网站技术日期:2015-07-31 - 9:17:10评论:7条作者:老谢

  一个客户的dedecms乱码,各种检查无果,诡异的是文件的编码以及head里面的meta的编码都是正确的,把生成的HTML下载到本地打开,也都是正常的,一放到服务器就乱码。

  经过更为细致的检查,发现客户在根目录下的.htaccess里面配置了AddDefaultCharset UTF-8,这样就会导致apache默认使用utf-8编码向浏览器发送数据,客户的dedecms是GBK编码,所以自然就乱码了,另外表示真是第一次在有客户在.htaccess里面配置这个。。。下面放一段google到的文字:

  首先,可以使用AddDefaultCharset off来关闭默认文件编码,这样apache服务器就不会在http应答消息头部设置charset,只是设置Content-type: text/html. 而浏览器就会依靠html文件中设置的harset来决定编码。

  其次,脚本php.ini文件中的default_charset = “UTF-8″作用同httpd.conf文件,把该行注释掉,使php自动识别文件的编码方式。

  这样不论你用什么编码方式,只要test.php中的meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ 与你test.php文件编码方式相同,就不会产生乱码问题。用户提交数据的编码浏览器提交的字符编码由客户端的characher encoding决定。

  例如,当前浏览器的编码是Gb2312,用户提交数据后,无论apache设置的编码方式是GB2312还是UTF-8,这时在服务器端接收到的仍是以Gb2312编码的数据。

  如果要在返回页面上显示用户刚才提交的数据,而该页面是用UTF-8编码的或者要在数据库中存储的用户提交的数据,而数据库是UTF-8编码的,那就要做字符转换了。

Discuz!上传图片提示“没有合法的文件被上传”

分类:网站技术日期:2015-04-14 - 21:07:47评论:0条作者:老谢

  某客户向我们反馈在我们服务器安装的DZ论坛无法上传图片,拿到客户提供的管理员账户以后,发帖测试发现上传图片没任何问题,于是让客户把他上传错误的图片提供给我们,结果出现“没有合法的文件被上传”的提示。

  图片体积800多K,在线上传提示的限制是2M,不会由于体积太大导致上传错误,网上搜了一下有一个上传大尺寸图片提示“没有合法的文件被上传” 解决办法分享的帖子,提到图片分辨率过高会导致该错误,于是看了下客户提供的图片尺寸,宽度达到了10000多像素(伙惊呆)。。。

  用PS把图片尺寸缩放10倍以后,再次尝试上传,该问题解决。

Discuz!使用QQ互联出现1054数据库错误

分类:网站技术日期:2015-02-25 - 22:54:23评论:0条作者:老谢

  解决步骤:后台后台——站长——数据库——升级,执行下面的代码即可:

ALTER TABLE `pre_common_connect_guest` ADD `conuintoken` CHAR( 32 ) NOT NULL ;
ALTER TABLE `pre_common_member_connect` ADD `conuintoken` CHAR( 32 ) NOT NULL ;

怎么看懂网站访问日志

分类:网站技术日期:2014-08-22 - 22:08:42评论:0条作者:老谢

很多朋友想要看日志,可是却看不懂,使用一些日志分析工具也用的稀里糊涂,本文在这里就为一些新手朋友解惑,如何去看日志,拿下面一条日志举例:

183.164.229.158 – – [22/Aug/2014:21:56:36 +0800] “GET /favicon.ico HTTP/1.1” 404 – “-” “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36”

日志拆分出来一部分一部分来看,第一个ip地址183.164.229.158,指的是访问者的ip地址,在此之后的[22/Aug/2014:21:56:36 +0800]指的是访问时间,+0800指的是UTC+8,也就是北京时间

然GET指的是访客请求方式,常见的是get、post、head这三种请求方式,再往后/favicon.ico指的是请求的文件,本例中也就是根目录下的favicon.ico文件

HTTP/1.1指的是http协议版本,这里也就是1.1版本,404则是访问状态码,404也就是文件不存在,正常访问的状态码是200

最后面Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36这么长一串,指的是请求客户端的信息,本例中就是Windows NT 6.1操作系统,使用chrome浏览器

ECSHOP info: Can’t Connect MySQL Server(localhost:3306)!

分类:网站技术日期:2013-06-22 - 15:24:04评论:0条作者:老谢

已经确定服务器mysql服务正常,并且用户名、密码以及数据库名输入无误仍提示无法连接数据库的错误。

经过一番搜索,原因为数据库用户密码包含$字符导致的,修改密码后问题解决。

PS:很多cms在数据库连接时候报这个错误的时候如数据库正常可以检查一下密码是不是带$这个符号,可以更改一下尝试

Tags:

PHP获取服务器在线时间

分类:网站技术日期:2013-05-25 - 14:40:40评论:6条作者:老谢

想在页脚加上服务器的uptime,于是乎搜相关php代码,用exec函数可以很轻松搞定,但是为了安全,该函数早在配置vps环境后就被我在php.ini里面禁用了,经过一番搜索,找到下面一段代码,希望对大家有用

调用:

<?php echo $uptime ?>

PHP获取服务器在线时间

<?php
function sys_linux()
{
if (false === ($str = @file("/proc/uptime"))) return false;
$str = explode(" ", implode("", $str));
$str = trim($str[0]);
$min = $str / 60;
$hours = $min / 60;
$days = floor($hours / 24);
$hours = floor($hours - ($days * 24));
$min = floor($min - ($days * 60 * 24) - ($hours * 60));
if ($days !== 0) $res['uptime'] = $days."天";
if ($hours !== 0) $res['uptime'] .= $hours."小时";
$res['uptime'] .= $min."分钟";
return$res;
}
$sysInfo = sys_linux();
$uptime = $sysInfo['uptime'];
echo$uptime;
?>
 
源码源于:http://www.linuxidc.com/Linux/2012-12/75977.htm
Tags:

Tomato固件双拨获取双倍网速

分类:网站技术日期:2013-03-14 - 19:45:37评论:15条作者:老谢

双拨这个方法很多年前就有了,我这边的网络也一直可以测试成功,由于我的套餐每月限制时间720H,双拨计算双倍时间,所以一直没用,昨天无意查了下电信套餐,产品名称居然是无限时的,老谢表示对电信很惶恐啊。。。两次一万号确认我的帐号的确是无限时以后,双拨搞起!

Ps:双拨甚至更多次拨号是否成功,这个要看本地运营商的限制策略,每个地区每个网络不同,并不一定100%成功

物理线路方面,两条wan口的线插到双wan路由器上即可,网线确认没问题后,进入Tomato,进行双wan口的设置,在“基本设置”-“网络设置”里面把两个wan口的pppoe账户设置好以后保存即可,然后看看两个号都否都能拨上,如果都没问题,进入“新增功能”-“指定出口”里面把所有数据流量做负载均衡即可

Tomato固件双拨获取双倍网速

Tags: ,

网站无法访问自查方法

分类:网站技术日期:2012-11-20 - 11:44:04评论:6条作者:老谢

很多朋友在发现自己的网站无法访问,大部分第一时间想到的服务器是否出现了故障,其实不然,服务器出现故障的几率是很小的,至少我们接触到的大部分无法访问并非是服务器导致的,下面介绍如何自查网站无法访问的原因

首先要了解一下访问网站的流程:访问者发起访问 → DNS将域名转换为IP地址 → 服务器接收到访问请求 → 将请求数据返回给访问者

以上就是访问网站的基本流程,知道流程以后,也就方便一步一步检查问题了。

下面比如xj123.info无法访问,那么自查第一步就是我可以先ping一下我的域名,是否可以正常解析,并且解析的是否是正确的ip地址(某些不良ISP存在DNS劫持行为,但自称为DNS纠错),如果ping没问题,那么说明解析没问题,反之如果无法解析,那么需要考虑哪里出了问题,比如是否DNS被墙,或者解析条目没保存再或者解析没生效…………PS:GD的DNS被墙的很惨

如果解析没问题了,但还是无法访问,那么下面可以进行tracert,tracert是路由追踪,可以直观显示从本地到服务器经过的所有路由,并可以发现数据包在哪里出现了问题,一般常见的短暂访问不顺畅,一般是由于线路抽风导致的。还有呢就是之前的路由正常,但是经过某个节点后,下面的所有包超时,这种情况很可能就是防火墙把由于您的危险操作把您的ip地址封掉了,可以在管理中心自行解封,步骤为:管理中心 – 自助服务 – ip解封

经过上述检查,没有发现问题,但是仍然无法正常访问,请第一时间提交支持单给我们