微信开发者工具打开调试“未绑定网页开发者”页面

今天因为工作需要,要在微信开发者工具里面打开一个网页,在手机上是可以打开的,正常你是必须绑定对应公众号开发者信息才能调试自己的网页,可是这次没办法,这时候就要想法办法了,既然手机上是可以的,那就证明以普通浏览者访问是没问题,此时就必须在手机访问后保存下来的状态转移到微信开发工具上,这时候就要借助有名的fiddler和插件FreeCookies了。
1:安装最新的Fiddler
2:进入Fiddler安装目录下的Scripts目录下,将FreeCookies.dll复制到该目录下(下载请至:https://github.com/lulianqi/FreeCookies/raw/master/bin/Debug/FreeCookies.dll 或 http://lulianqi.com/file/FreeCookies.dll)

3:重启Fiddler即可在面板中出现 free cookies 标签,然后点旁边Filters过滤设置,设置只显示你要监控的域名,不然会乱到你分不清。

接着选项里面设置https 把勾选都选上,因为要监控的是https协议网址。

打开fiddler后再打开微信电脑端,在电脑端打开需要监控的网页并点击上面复制链接地址,这时候就能看到需要监控网站出现在列表上,点击右边的free cookies标签下的Get Cookies按钮,获取到相关session信息。把要写入cookies监控的域名写入contain后面的输入框里。勾选下面的Inject Cookies写入一次,后面的是只要监控到一直写入。

接着打开微信开发者工具这时候很有可能会提示:

应该是被fiddler拦截了导致的,点击信任。然后就尝试在地址黏贴刚刚复制链接地址,回车访问。如果fidller能监控到并写入信息域名会变成黄色如下图:

正常写入的session有可能和原来的重复对应着修改成要写入的value即可。其实不多你都可以自己手动写入。最后重新访问页面即可,在微信开发者工具上模拟手机端身份访问页面就可以进入调试状态了。

发表在 服务器 | 标签为 , | 留下评论

composer很慢?laravel取消,使用阿里的吧

今天使用composer发现很慢。使用的是“Packagist 中国全量镜像”。
添加镜像:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
尝试打开https://packagist.phpcomposer.com网址竟然显示403,看来有时候也不靠谱

使用另一个Laravel提供的镜像服务。
composer config -g repo.packagist composer https://packagist.laravel-china.org

取消镜像:
composer config -g –unset repos.packagist

今天使用发现laravel更新不了了,现在是用阿里云 Composer 全量镜像服务了
https://developer.aliyun.com/composer

发表在 服务器 | 标签为 | 留下评论

php7.2打开Opcache缓存加速性能

今天更新一台服务器的php版本发现安装php7.2默认是没有打开Opcache缓存加速的。
很简单
首先输出phpinfo看Loaded Configuration File指定/usr/local/php/etc/php.ini位置

在对应位置加入以为内容:
[opcache]
zend_extension = opcache.so
opcache.enable=1
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 2
opcache.enable_cli = 1

重起php,刷新phpinfo页面,搜索看到有Zend OPcache就是成功了,有个属性Cache hits查看命中率

显示参数代表什么参考官方文档
https://www.php.net/manual/zh/opcache.configuration.php

发表在 服务器 | 标签为 | 留下评论

MySQL批量kill被锁的线程

今天突然发现库量有大量时间很长的sleep线程,手动kill上百个id太累人了
1、show processlist;

导出命令格式的id文件
2、select concat(‘KILL ‘,id,’;’) from information_schema.processlist into outfile ‘/tmp/kill.txt’;

查看文件中是否都是需要的kill,不要随便全部都kill,然后导入执行命令
3、source /tmp/kill.txt;

发表在 服务器 | 标签为 | 留下评论

mysql快速生成插入亿级会员数据

今天突然想试试看亿级会员单表的性能,分三步,首先创建表,接着生成会员数据,最后导入既可。注意如果有索引必须先创建好,不然等你导入后再创建就。。。
还有记得要表要用MyISAM,如果是innodb应该超过24小时都完成不了。配置缓存参数也要调高,例如以下:
[mysqld]
myisam_max_sort_file_size = 30G
myisam_sort_buffer_size = 2048M

首先创建表结构,实际内容你们随便改了。

DROP TABLE IF EXISTS `member`;
CREATE TABLE `member` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '会员ID',
  `username` varchar(20) DEFAULT NULL COMMENT '用户名',
  `nickname` varchar(20) DEFAULT NULL COMMENT '会员呢称',
  `password` varchar(255) DEFAULT NULL COMMENT '用户密码',
  `mobile` varchar(11) DEFAULT NULL COMMENT '手机号码',
  `open_id` char(32) DEFAULT NULL COMMENT '微信公众号唯一ID',
  `price` int(11) DEFAULT '1' COMMENT '存款',
  `status` smallint(1) NOT NULL DEFAULT '1' COMMENT '用户状态:0 - 未启用;1 - 已启用',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `create_time` (`create_time`),
  KEY `price` (`price`) USING BTREE,
  KEY `username` (`username`),
  KEY `mobile` (`mobile`),
  KEY `open_id` (`open_id`),
  KEY `nickname` (`nickname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='会员表';

接着用php循环生成模拟会员数据,代码:

ini_set('display_errors',1);            //错误信息
ini_set('display_startup_errors',1);    //php启动错误信息
error_reporting(-1);                    //打印出所有的 错误信息
set_time_limit(0);//防止超时
ini_set('memory_limit',"2048M");//怕内存太小

$strs="QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm";//用于生成随机数

for ($j = 1;$j <= 50; $j++) {//循环50次一亿条
	$str='';
	for ($i = 1;$i <= 2000000; $i++) {//200万写入文件1次
		$str.=substr(str_shuffle($strs),mt_rand(0,strlen($strs)-7),6)."\t".getChar(2)."\t".substr(str_shuffle($strs),mt_rand(0,strlen($strs)-9),8)."\t". mt_rand(100000,199999).mt_rand(10000,99999)."\t".md5(uniqid(microtime(true),true))."\t".mt_rand(10000,99999)."\t".mt_rand(0,1)."\t".date("Y-m-d H:i:s", mt_rand(946659661,1551690447))."\n";
	}
	file_put_contents('member.sql', $str,FILE_APPEND);
}
echo ok;

function getChar($num)  // $num为生成汉字的数量
{
	$b = '';
	for ($i=0; $i<$num; $i++) {
		// 使用chr()函数拼接双字节汉字,前一个chr()为高位字节,后一个为低位字节
		$a = chr(mt_rand(0xB0,0xD0)).chr(mt_rand(0xA1, 0xF0));
		// 转码
		$b .= iconv('GB2312', 'UTF-8', $a);
	}
	return $b;
}

我生成一亿条数据大概10g,接下来就要快速插入数据了。
这里选择load data infile方式,命令如下:

use test;
load data infile '/data/member.sql' into table member(username,nickname,password,mobile,open_id,price,status,create_time);

最后就等待结果即可,2亿条导入时间大概需要21分钟,之后创建索引大概花了1个小时多几分钟, 可见索引创建在大表里面多难。
其它包括索引,查询大家都可以自己调整试试看效率如何。
接下来如何优化呢?

发表在 服务器 | 标签为 | 留下评论

2019阿里云域名优惠口令

阿里云2019【优惠口令】
续费/首年(优惠与同产品其他优惠如代金券、折扣等不能同时使用)
com英文域名续费:珠光宝气
cn英文域名续费:诸事顺利
xin域名续费:抱诚守信
xin域名注册:神来气旺

其他阿里云云产品优惠券(云服务器 ECS,关系型数据库 RDS 等)可以领取我的 优惠券链接

发表在 服务器 | 标签为 , | 留下评论

Eclipse、Android SDK、ADT搭建安卓开发环境

我的环境windows7,选择以下版本。

eclipse-jee-2018-12-R-win32-x86_64.zip

android-sdk_r24.4.1-windows.zip

ADT-23.0.6.zip

Eclipse

下载地址:https://www.eclipse.org/downloads/packages/选择对应的版本包下载即可。

这里我选择的是Eclipse IDE for Java EE Developers,Windows 64-bit版本。

Android SDK

下载地址:http://dl.google.com/android/android-sdk_r24.4.1-windows.zip

ADT(Android Development Tools)

下载地址:https://dl.google.com/android/ADT-23.0.6.zip

有没有感觉挺简单,都是压缩包。

Eclipse安装

下载完毕后,你会在你保存的地方看到一个压缩包文件,这就是eclipse,直接解压缩即可。解压完毕后即可使用,进入文件夹,双击Eclipse图标后,就可以启动Eclipse了,到这Eclipse就安装完毕了。

eclipse在线安装ADT插件

  • 1.启动Eclipse,然后在菜单栏上选择 Help > Install New Software
  • 2.单击 Add 按钮,在右上角
  • 3.在Name(名称)处输入”ADT Plugin”,Location(网址)处输入”https://dl-ssl.google.com/android/eclipse/”
  • 4.点击”OK”
  • 5.在软件对话框中,选中”Developer Tools”复选框,然后点击”Next”
  • 6.在下一个窗口中,您会看到一个要下载的工具列表。单击“Next”
  • 7.阅读并接受许可协议,然后单击“Finish”
  • 8.安装完成后,重新启动Eclipse

eclipse离线安装ADT插件

  • 1.下载ADT插件的zip文件(不要解压)
  • 2.启动Eclipse,然后在菜单栏上选择 Help > Install New Software
  • 3.单击 Add 按钮,在右上角
  • 4.在”Add Repository”对话框,单击”Archive”
  • 5.选择下载的adt-23.0.6.zip文件并单击”确认”。
  • 6.在Name(名称)处输入”ADT Plugin”,单击“Finish”
  • 7.在软件对话框中,选中”Developer Tools”复选框,然后点击”Next”
  • 8.在下一个窗口中,您会看到一个要下载的工具列表。单击“Next”
  • 9.阅读并接受许可协议,然后单击“Finish”
  • 10.安装完成后,重新启动Eclipse

配置ADT插件

  • 1.启动Eclipse,选择windows>preferences>android
  • 2.在选项卡中选择”Browse”,选择之前下载的Android SDK的zip文件(需要解压)的目录(解压后的目录),点击确定
  • 3.点击OK

到这里环境基本搭建完成!!

SDK和ADT都可以国内Android Studio网站下载到:http://tools.android-studio.org/

通过Android SDK Manage添加新的软件包

  • 1.启动SDK解压目录android-sdk-windows\SDK Manager.exe
  • 2.运行后出现如下界面,选择自己需要的Android版本,然后点击”Install X packages”。Installed 表示已经安装、Not installed表示没有安装!!   
  • 3.在新出现的界面中选择如下Accept或者Accept All,然后点击Install。Android SDK 管理器就开始下载并安装你所选的包了,我们等一段时间就OK了!

AVD Manage创建安卓虚拟机

  • 1.启动Eclipse,在菜单栏上点击图标、也可以执行android-sdk-windows\AVD Manager.exe
  • 2.点击Create按钮,进行如下设置,然后点击”OK”

  • 3.选中刚才创建的虚拟设备,然后点击“Start->Launch”,就可以启动 Android 模拟器了。

发表在 服务器 | 标签为 , | 留下评论

【原创】Eclipse调试LogCat无法显示内容

刚刚开始学习Eclipse编写Android安卓app,在调试过程中发现不能用Log.v/d/i/w/e任何方法在logcat不能输出任何东西,空白了。

点击导航栏中的Window,选择Preferences,进入编辑界面

选择Android->LogCat;进入如图所示的编辑界面,将Show logcat view if message priority is atleast:里的下拉选项选择

VERBOSE项,并点击OK!

最后重启Eclipse就能正常显示LogCat的打印信息了

发表在 服务器 | 标签为 , | 留下评论

【原创】vsftp被动模式启动iptables读取目录列表失败

今天开启了centos防火墙后发现我的vsftp不能用了。

首先在防火墙规则文件\etc\sysconfig\iptables中添加如下内容:

-A INPUT -p tcp –dport 30000:31000 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT

接着在防火墙参数配置文件\etc\sysconfig\iptables-config中打开模块

IPTABLES_MODULES=”ip_conntrack_ftp”
IPTABLES_MODULES=”ip_nat_ftp”

service iptables restart重启防火墙,用lsmod |grep ftp查看模块是否开启。

最后在vsftp配置文件\etc\vsftpd\vsftpd.conf中开启被动模式和端口,添加如下内容:

pasv_enable=yes
#pasv_promiscuous=no
pasv_max_port=30000
pasv_min_port=31000

保存,service vsftpd restart重启ftp。

试试看你的ftp是否复活了。

 

 

发表在 服务器 | 标签为 | 留下评论

【原创】memcache默认11211端口漏洞 未授权禁止访问

今天发现有台服务器的Memcached被外部ip不停攻击,流量竟然能承受最大上G,但是整台服务器收到很大的访问影响。最后发现是因为这台没有默认开启绑定ip的限制。限制都是很简单的事情,犯了低级错误。

方法1、通过参数-l,绑定内部ip,这样外网就无法攻击了。

memcached -d -p 11211 -u memcached -m 1024 -u root -l 127.0.0.1 -c 1024 -P /tmp/memcached.pid

方法2、通过防火墙,我的环境是centos6。

打开\etc\sysconfig\iptables配置文件:

加入以下内容:

#阻止所有11211端口

-A INPUT -p tcp -m tcp –dport 11211 -j DROP

#指定内网ip访问 或者192.168.0.0/24指定网段都可以

-A RH-Firewall-1-INPUT -s 192.168.0.8/32 -p tcp -m state –state NEW -m tcp –dport 11211 -j ACCEPT

重启防火墙即可。

 

发表在 服务器 | 标签为 | 留下评论