- 博客(60)
- 资源 (6)
- 收藏
- 关注
原创 php在服务端处理客户的表情
1、这两个方法的原理就是将字符集的某一段进行转换,不会影响中文在数据库中的存储2、当然还可以用base64编码处理,但这样老数据就会不好处理了3、原文查看https://segmentfault.com/q/1010000003711491
2017-03-30 10:44:19
432
原创 禁止百度蜘蛛爬取服务器
问题描述:由于百度蜘蛛的大量抓取,导致服务器性能下降,最后宕机;而它抓取的还是一些不重要的业务解决办法:从入口文件中禁止,如果是百度的抓取就让它直接返回,不让它进入程序中消耗服务器资源主要用到的得到user-agent百度的为“Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spi
2017-03-29 17:43:42
4020
原创 解决虚拟机克隆网络配置问题
使用vmware克隆了3台虚拟机,配置网卡的时候出现报错:"Device eth0 does not seem to be present,delaying initialization”。解决方法简单,如下三步第一步:删除文件70-persistent-net.rules# rm -f /etc/udev/rules.d/70-persistent-net.rule第
2016-09-20 14:06:02
404
原创 记一次解决mysql进程数居高不下的问题
利用show full processlist查看所有进程列表,发现有茫茫多sleep的进程利用命令show status like '%thread%';查看进行的状态,出现类似以下数据,Threads_connected 的值比较大Delayed_insert_threads 0 Slow_launch_threads 0 Threads_ca
2016-09-19 15:06:13
4420
原创 基于svn的版本发布工具
问题起源:在实际生产环境中,项目目录下是不能有.svn文件,因为有这个文件,就有可能会有源代码泄露的漏洞;所以我们不能直接在项目目录下svn update;解决思路:既然不能直接在项目目录下svn update,我们可以在一个用户访问不到的目录进行svn update,然后把所有文件拷贝到项目目录下去;然后删除项目目录下的.svn文件;以这样的思路写一个shell脚本后,发布代
2016-05-05 14:38:24
858
原创 遇到的一个php过滤问题
在测试手工注入时发现一个比较有意思的问题;这个问题是关于php过滤器的;主要用到的代码段为filter_var($_GET['id'],FILTER_SANITIZE_STRING);代码如下://传值的连接//index.php?id=1' and (select count(*) from msysobjects)>0 and '1'='1$con = mysql_co
2016-05-03 15:46:42
490
原创 解决ajax跨域访问的问题
跨域问题的表现形式就是,不能用js或ajax访问非本域名的资源;如本地127.0.0.1不能用ajax或js访问http://stx.rtxcf.com 的资源;如下截图: 解决方法一:利用JSONP来解决简单的理解就是普通的ajax是请求服务器,成功后将返回的数据放在callback方法中执行而jsonp是将callback方法整体的发到服务器,让服务器执行js代码;这样就可
2015-11-11 10:00:22
539
原创 同一个控制器中无法获取session
今天遇到一个问题,问题的现象为:在一个方法中设置了session在下一个方法中却得不到折腾了一天,终于把这问题给搞定了,原因是由于系统磁盘大小不够了,系统盘总共20G, tmp目录下的文件就有16个多G了,再加上一些其他的,当然磁盘不够了,所以就造成了这个问题;解决的方法就是加大容量罢,或者写定时任务,将日志转到其他磁盘去! 解决这个问题后,在网上看了一下下面的的博文,感觉还是不错
2015-10-12 18:29:29
2390
原创 网络五层模型及相关协议的数据格式
TCP/IP协议的五层模型应用层(HTTP,SMTP,DNS,FTP)运输层(TCP,UDP)网络层(IP协议与路由选择)数据链路层(将IP数据包封装成帧)物理层(将帧在物理介质上进行传输)下面简单的给出一些协议的数据格式,详细可见《计算机网络》-谢希仁运输层: UDP协议运
2015-06-24 15:00:14
1230
原创 LINUX系统中的循环定时任务
一、前言:linux中有两种定时任务,一种是一次性定时任务“at”,一种是周期性定时任务“cron”;这里写的是循环定时任务用到的命令为crontab -e,它会把定时任务的内容写入到“/var/spool/cron/用户名”文件中;每一个用户的定时任务都对应着一个文件,不建议用vim去直接编辑这个文件;而每执行一次定时任务都会在“/var/log/cron”文件中进行记录;
2015-06-16 16:57:47
1715
原创 LINUX系统中的一次性定时任务
LINUX系统中的一次性定时任务一、前言:linux中有两种定时任务,一种是一次性定时任务“at”,一种是周期性定时任务“cron”;这里写的是一次性定时任务二、启动服务:一次性定时任务需要“atd”这个东西支持才行。所以要启动它,命令如下service atd start 或 /etc/init.d/atd start注意:如果找不到这个服务,那就用"yum in
2015-06-16 15:58:02
2350
原创 mysql 主从复制
以下内容比较简略,权当笔记使用!看到了朋友也可参考其它的博客进行实际操作[环境简介]主服务器:192.168.17.123从服务器:192.168.17.111[主服务器授权]1、在主服务器建立一个专门用来主从复制的用户insert into mysql.user(Host,User,Password) values("%","replication",pa
2015-06-16 09:42:50
372
原创 php-fpm自启动脚本
一、在/etc/init.d/下建立一个文件,名为php-fpm二、给它755权限三、写入以下脚本,四、然后chkconfig --add nginx即可同样注意脚本中的路径可能需要修改#! /bin/sh### BEGIN INIT INFO# Provides: php-fpm# Required-Start: $remo
2015-06-16 09:36:30
625
原创 nginx自启动脚本
一、在/etc/init.d/下建立一个文件,名为nginx二、 给它755权限三、写入以下脚本,四、然后chkconfig --add nginx即可注意:路径需要改成与自己机器相应的配置脚本出自网络,非本人之手,记在此处,以备不时之需#!/bin/bash# nginx Startup script for the Nginx HTTP Server
2015-06-16 09:31:59
493
原创 linux下的钩子
Linux下SVN自动更新web(配置) 1. 创建svn项目库 svnadmin create /svn/repos/test 在项目库 hooks/ 目录下编辑 post-commit 文件 【钩子脚本】 #!/bin/bash SVN=/usr/local/svn/bin/svn WEB=/usr/local/ngi
2015-03-22 00:23:23
1874
原创 linux下搭建svn
一、直接yum install -y subversion安装后查看svn的版本svnserve --version也可以用which svnserve,来查看命令放在什么目录下结果显示:/usr/bin/svnserve二、创建版本库mkdir /data/svnsvnadmin create /home/svn/xrcweb注意:xrcweb为版本库
2015-03-22 00:19:45
416
原创 Linux的LAMP环境搭建
前提:是基于centos6.5搭建的 第一步:查看编译器gcc是否安装好了用命令gcc -v查看,如果没有装好,就要用命令:yum install gcc gcc-c++ kernel-devel将其安装好。在此过程中要保持网络是开启状态。如网络不通可以用ifup eth0开启第二步:卸载centos原有的环境卸载apache 查看
2015-03-22 00:14:50
449
原创 Redis数据类型-List
lpush在对应的list头部添加元素127.0.0.1:6379> lpush mylist value1(integer) 1127.0.0.1:6379> lpush mylist value2(integer) 2打印出来看一下127.0.0.1:6379> lrange mylist 0 -11) "value2"2) "value1"rp
2015-02-25 11:19:21
330
原创 Redis数据类型-Set
Redis的set是string的无序集合。set元素最大可以包含2的32次方个元素关于set集合类型除了基本的添加删除操作。其他有用的操作还包含集合的取并集,交集,差集。通过这些操作可以很容易的实现SNS中的好友推荐和BLOG的TAG功能。sadd添加元素127.0.0.1:6379> sadd set value1(integer) 1127.0.0.1:637
2015-02-25 11:18:03
418
原创 redis的数据类型-Hash
hash是一个string类型的field和value的映射表, 它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个hash对象时开始是用zipmap(又称为small hash)来存储的。这个zipmap其实并不是hash t
2015-02-25 11:17:11
328
原创 redis的数据类型-Strings
1、插入数据127.0.0.1:6379> set name xrcOK2、得到数据127.0.0.1:6379> get name"xrc"3、删除数据:成功返回1,失败返回0127.0.0.1:6379> del name(integer) 14、查看是否存在:存在返回1,不存在返回0127.0.0.1:6379> exists name(integ
2015-02-25 11:16:16
395
原创 Linux下PHP中加入redis扩展
前提:需要phpize。如没有则先安装一、将压缩包上传到/usr/local/src下二、解压:tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz三:进入目录:cd owlient-phpredis-90ecd17/usr/local/php/bin/phpize./configure --with-php-conf
2015-02-25 11:14:47
382
原创 redis常命令
键值相关命令1、keys * 查看所有键 或者用模糊匹配 keys my* 匹配以my打头的2、exsists 判断一个key是否存在 如exists name 判断name这个key是否存在 存在返回1,失败返回03、del 删除一个键,成功返回1,失败返回0 如del name4、expire 对现有的键设置过期时间,成功返回
2015-02-25 11:13:21
341
原创 linux下安装redis
1、将稳定版本的redis压缩包上传到/usr/local/src下,当前版本为redis-2.8.192、解压编译: 1)解压tar zxvf redis-2.8.19.tar.gz2)进入到redis.2.8,19目录下进行编译cd redis-2.8.19make3)进入到它的reids.2.6.19的src目录下,进行安装
2015-02-25 11:12:16
364
原创 字节格式化
/**+----------------------------------------------------------* 字节格式化 把字节数格式为 B K M G T 描述的大小+----------------------------------------------------------* @return string+--------------------------
2015-02-25 11:05:51
558
原创 PHP邮件类
来源于TP框架中的扩展类<?phpclass smtp{ /* Public Variables */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth;
2015-02-25 11:02:43
368
原创 TP中集成Ucenter
Ucenter原理Ucenter它所起到衔接各个站点会员注册,登录作用,ucenter的会员表中包含了你需要整合的各个网站的所有会员,用户不管在那个网站注册,程序先是把会员信息添加到了ucenter的会员表中,然 后再添加到当前网站的会员表里面,而在登录的时候,程序是先去查询ucenter会员表中是否存在该用户,如果存在查询当前网站会员表中是否存在,如果不 存在就证明该用户是通过另外一个站点注
2014-12-06 23:52:26
2241
1
原创 三、Linux常用命令
三、Linux常用命令命令格式:命令 [-选项] [参数]例如:ls -;a /etc说明:个别命令使用不遵循此格式 当有多个选项时可以写在一起 简化选项与完整选项-a 等价于—all 3.1 文件处理命令 3.1.1目录处理命令ls命令名称:ls命令英文原意:list命令所在路径:/bin/ls执行权限:所有用户
2014-11-03 08:18:11
497
原创 Linux常用命令
y三、Linux常用命令命令格式:命令 [-选项] [参数]例如:ls -;a /etc说明:个别命令使用不遵循此格式 当有多个选项时可以写在一起 简化选项与完整选项-a 等价于—all 3.1 文件处理命令 3.1.1目录处理命令ls命令名称:ls命令英文原意:list命令所在路径:/bin/ls执行权限:所
2014-11-02 23:53:54
460
原创 MYSQL的增量备份
在进行数据库备份时,如果数据量非常非常的大,要频繁的用 mysqldump进行全备份不太现实。这时我们就要用到全备份和增量备份相结合来对数据库进行备份。下面主要讲的是增量备份。一、定义:mysql数据库会自动把用户对mysql数据库的操作记录到二进制文件中,当用户希望恢复的时候可以使用备份文件进行恢复。增量备份会记录 (dml 语句 建表语句 不会记录select语句)记录的(a
2014-10-22 10:01:24
520
原创 使用定时器来备份数据库
在实际项目中,不可能用人工备份数据库的方法来备份数据库。我们要采用定时器来自动备份数据库。一、解决思路1、在一个PHP文件中写一段备份数据库的程序。要用到PHP的exec函数。2、用CMD控制台执行PHP文件。进一步的,我们可把执行PHP文件的命令写入到一个BAT 文件中。3、用WINDOWS的定时调用用执行bat文件的功能,定时调用执行这个bat文件。 二、实际操作上
2014-10-20 10:03:30
704
原创 MYSQL复原ROOT用户密码
可使用mysql客户端设置新密码(但该方法不够安全):第一步:打开CMD控制台,转到MYSQL的BIN目录下第二步:停止mysqld,并用“--skip-grant-tables --user=root”选项重启它(Windows用户可省略--user=root部分)。它的意思就是说,跳过权限检查开启mysqld。第三步:另启一个CMD转到MYSQL的BIN目录,使用下述命令连接到my
2014-10-16 08:47:51
479
原创 MYSQL手动备份和还原
一、手动备份1.导出整个数据库在CMD控制台找到MYSQL的BIN目录下命令:mysqldump -u 用户名 –p密码 数据库名>导出的文件名 如:mysqldump -u root -p root test > c:\test.sql2.导出一个表命令:mysqldump -u 用户名 -p 数据库名 表名1 表名2 ……> 导出的文件名如:
2014-10-15 15:32:19
946
原创 MYSQL优化-存储引擎
MYSQL优化之存储引擎1 查看系统支持的存储引擎 show engines;2 查看表使用的存储引擎 show table status from db_name wherename='table_name';3修改表引擎方法 alter table table_name engine=innodb; 4建表时指定存储引擎 CREATE
2014-10-15 14:59:44
437
原创 MYSQL的explain工具简介
MYSQL的explain工具它是mysql自代的一个工具,用它可以分析MYSQL是怎么样执行你的SQL语句的,它是在不真正执行SQL语句的时候,就知道执行的情况。这样利于我们去分析SQL语句。 调用方式为:explain+SQL语句。如在我的环境中执行:explain select * from `ykttb_users` where id=1\G;(\G的意思为格式化输出结
2014-10-15 12:25:02
1188
原创 MYSQL优化-建立适当的索引
MYSQL优化之建立适当的索引1、主键索引关键字:primary key主要作用是确定数据库里一条特点数据记录的位置最好为每一张表定义一个主键索引,一个表只能有一个主键。主键值不能为空, 有两种指定方式第一种:CREATE TABLE user ( id INT UNSIGNED NOT NULL AUTO_I
2014-10-15 11:04:24
574
原创 MYSQL定位慢查询
定位慢查询在web开发中,我们经常会写出一些SQL语句,一条糟糕的SQL语句可能让你的整个程序都非常慢,超过10秒一般用户就会选择关闭网页,如何优化SQL语句将那些运行时间比较长的SQL语句找出呢?MySQL给我们提供了一个很好的功能,那就是慢查询!所谓的慢查询就是通过设置来记录超过一定时间的SQL语句!那么如何应用慢查询呢? 开启MySQL的慢查询日志功能默认情况下,MySQL是
2014-10-14 14:36:32
696
原创 利用伪静态防止盗链(保护私有资源)
五、需求引入现在有如下的需求,一网站下有一个目录存放了私有的图片,不希望别人能够访问到,只希望自己才能访问到。即别人不能直接用链接访问你的图片资源。我们可以用apache的rewrite功能来实现该需求。环境搭建开始之前,我们要先在apache中建立两个虚拟主机“www.test1.com”和“www.test2.com”。方法如下:在C:\Windows\System
2014-10-13 15:14:56
773
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人