820-今天信息团队正式调整到企管部

20150820

尘埃落定,8月20日信息化职能从设备管理部调整到企业管理部。我想这是符合当前企业发展形势的,信息化建设从大比重的满足业务运作需求,已经转变为更多的服务于管理思想,并开始牵引工业化向上发展。

不过,前面的路真的还很难走,传统行业的IT运作方式在未来很长一段时间还是会浸淫在传统思想里,要想翻身,翻身不好听,可以说要想成为领袖,必须有一只相当能力的头狼,以及所向披靡的狼群。而这又恰恰是传统行业欠缺的。

千里之遥,始于足下。难度再大,步子迈出了也是可喜可贺的事情。值此文字留作纪念。

保护WordPress后台登陆地址

当我们的wordpress网站上线后,wp-login.php就不再适合作为后台登陆的页面地址了,其随时会成为攻击的地址。可以这么保护:

在当前主题的目录下找到functions.php文件,加入以下代码:

———————————
//保护后台登录

function login_protection(){
if($_GET[‘anyname’] != ‘yourname’) header(‘Location: http://www.yoursite.com’);
}
add_action(‘login_enqueue_scripts’,’login_protection’);
———————————-

这样你的网站后台地址就变成了:

http://www.yoursite.com/wp-login.php?anyname=yourname

技术与管理

研究生本来准备读企管专业,后来考的却是计算机专业;工作本来选择了IT部门,9年后却合并进了企管部。。。只能说,人算不如天算。。。

有了这一遭,回想有两点体会:

1、在传统行业,IT人员如果没有纳入企业核心部门,那两化融合就是瞎扯蛋,安安分分做好服务工作就好了,别想多了。

2、学技术的可以转型搞管理,学管理的想转型搞技术不太现实,当然他们也不会想。

WordPress上实现QQ联合登录时出现的几个问题

这几天在一个WordPress站点上实现QQ联合登录,各种奇葩的问题都出现了,症状都是联合登录失败。

最终问题解决,虽然过程中都是小问题,但几个问题的叠加还是少见的,记录下来加深印象。

问题1:redirect url is illegal (100010)

原因:QQ互联的规则有更新,WordPress使用的第三方Open Social插件还未及时更新。

解决办法:打开插件目录下的open-social.php,找到QQ_Class章节,修改两处’redirect_uri’=>home_url(‘/’) . ‘?connect=qq&action=callback’,去掉’/’,改为’redirect_uri’=>home_url() . ‘?connect=qq&action=callback’。

补充:QQ互联的管理中心中的回调地址仍然填写网站域名,需要http://开头

问题2:问题1解决后,出现服务器500错误(IE浏览器)、空白页面(Chrome浏览器)

原因:自己的站点服务器端未开启curl(从服务器的Apache日志中发现open-social.php中的curl_init()函数执行不成功)

解决办法:确认生效的php.ini文件中extension=php_curl.dll是启用的(该行前面的;去掉了);确认ext目录下存在php_curl.dll文件;确认系统环境变量PATH中包含了php根目录,以及ext目录,那些所谓的拷贝一堆dll文件到C:\windows\system32下面的说法都是画蛇添足;重启服务器操作系统。

问题3:使用上述方法后,仍然不定时出现问题2的现象(偶尔登录成功)

原因:自己的站点服务器与QQ互联服务器之间的通讯存在问题(从服务器的Apache日志中发现open-social.php中的curl_exec()函数执行超时)

解决方法:这个确实花了很长时间找原因,开始觉得服务器也是租用的大公司,QQ互联的服务器从自己的终端电脑上访问那也是嗖嗖的。后来尝试在自己的终端上ping graph.qq.com得到的IP地址,与在站点服务器上ping graph.qq.com得到IP地址不一样,而且服务器上ping经常丢包。将终端得到的不丢包的解析地址(14.17.*.* )添加到服务器的C:\Windows\System32\drivers\etc\host文件中

以上应该是此类问题的终极解决方案了。

Android Studio 1.2 Rendering Problems

AS1.2预览layout文件的时候出现以下错误:

———————————————–

Rendering Problems:

The following classes could not be instantiated:
- android.support.v7.internal.widget.ActionBarOverlayLayout

…………

———————————————–

解决方法:

1、Build → Rebuild Project

2、Tools → Android → Sync Project with Gradle Files

3、Layout编辑器右上角的Refresh

genymotion android emulator 访问宿主web站点

折腾了两、三个小时,很是郁闷,发现genymotion android emulator访问宿主web站点总是失败,网上找了好几种方式,最后还是python搭建的SimpleHTTPServer解决的。

大概是这样的场景:

1、WebStorm写了一个简单的invokeapp.html页面,就一个<a href=”app://hello world”>Launch local app</a>,打算访问本地的android app

2、Android Studio写了一个简单的app,定义其中一个activity的<intent-filter>参数,确保这个activity可以被浏览器发送的app协议请求访问到

3、使用WebStorm直接Run写好的html页面,系统自动启动httpserver,正常打开localhost:63343/invokeapp.html

4、问题来了:使用genymotion android emulator,打开自带的浏览器,访问多个IP地址都无法正常打开页面,其中包括宿主机IP:192.168.1.190,emulaor的虚拟网卡1(host-only)IP:192.168.56.1,emulator的虚拟网卡2(bridge)IP:192.168.1.191。当然,地址都写上了63343的端口,访问路径是没有问题的

5、解决方法:参考了stackoverflow.com,在本机装了python的前提下(这个没装可以先去下载一个装上),执行以下命令搭建web server

a) 进入cmd命令行模式:

b) cd到invokeapp.html所在的磁盘目录

c) 在当前目录下执行:python -m SimpleHTTPServer

系统返回:Serving HTTP on 0.0.0.0 port 8000 …(表示web server已经搭建好,目录就是invokeapp.html所在的当前目录)

d) 打开genymotion android emulator自带的浏览器,访问192.168.1.190:8000/invokeapp.html,或者192.168.56.1:8000/invokeapp.html都可以访问到宿主机的html页面了。要说明的192.168.1.190在这里可以访问的前提是emulator配置了桥接的虚拟网卡,并获得了与宿主机同一网段的IP地址(比如:192.168.1.191)。

总结一下:

html和app都没有问题,问题出在WebStorm启动的web server在emulator中是无法访问的,具体原因还不得而知。改用python搭建的SimpleHTTPServer就没问题。

 

Apache和Mysql服务快速注册

Apache

注册:Apache安装目录的bin子目录下执行:httpd -k install -n “服务名”

卸载:httpd -k uninstall -n “服务名”

——————————————————————

Mysql

注册:Mysql安装目录的bin子目录下执行:mysqld --install "服务名"

卸载:mysqld --remove "服务名"