数据恢复软件注册码注册版

前些天的时候不小心删除了一个网站数据,好多G的数据,然后用这个软件恢复了。很幸运你能找到此篇文章,此文章中的激活注册,只要是界面跟下图示例界面相同的都可以激活。适合迅龙、顶尖、易我等等。此款软件应该只是换了个界面内容都是一样的,都拥有误删文件恢复,误格式化恢复,U盘手机恢复,回收站恢复和万能恢复等几大功能。
注册码:STDR845LOO8WB2NYEKHK
注册流程:安装软件,复制激活文件替换到软件目录,输入软件注册码。
软件截图:

[Downlink href=”https://pan.baidu.com/s/1o7BzuGi”]网盘下载[/Downlink]

wordpress中自动同步数据库

前些天我的博客“井底之蛙”所在的服务器召攻击了,丢失了一部分数据,这就怪自己没坚持放在SAE上,如果放在SAE就不会有这样的情况发生拉。于是坚定了自己做备份数据的念头,
虽然网上有很多能自动备份数据,如自动发送数据库的sql到邮箱,备份到空间等等各种插件,但是也不知道咋滴,一直没用成功过,于是决定自己写一个,一直都认为代码的乐趣,在于解决自己的需要。wordpress可玩性也在于此。废话不说,说下我的想法:
博客最重要的内容,当然是发表的文章,于是决定从发布文章开始入手,可以在每次发布新文章的时候,备份一下这条数据,初步有两个简单的方法:
1、把数据库导出,然后发送到邮箱以文件的形式保存。
2、把这条数据远程备份到另外一个数据库。
相对来说,远程备份到另一个数据库比较简单,因为方法1先要导出,再要发送,涉及到空间、mail。作为一只非职业码畜,只能选择较为简单的方法。
于是我用了之前创建的两个sae应用做实验,暂时把原本的数据库称为A,备份的数据库称为B吧。要把A的数据备份到B,这里就会涉及到一个传送数据的问题,我们都知道常用的传送数据就是用表单,get、post方式,我们不可能在A中写一个表单,然后action写B的地址。这里有一种方法,那就是Curl(没见过的同学自己百度哈),在A应用中触发发表新文章这个动作时,用curl 把数据post到B的数据库,这样就达到我们的目的了。

我的基本思路就是这样,下面就是敲代码了。在wordpress中,我们要用插件的形式去完成这项工作,而wp中新建插件也很简单直接在wp-content/plugins/目录下创建你要的插件文件夹,然后到文件夹里面创建php文件就好了。比如我在A应用中这样子:
020840hhp474cycqhhdqnd.jpg

下一步就是往里面敲代码了。
PHP代码

  1. /* 
  2. *@backage backupdb 
  3. * @version 1.6 
  4. */  
  5. /* 
  6. Plugin Name: backupdb//这里是插件名称 
  7. Plugin URI: http://aoxiang.me//这里是插件链接的地址,这里链接的是我的博客,井底之蛙 
  8. Description: when you publish a new post, this plugin will backed up data to anthor database that you set ;//这里是你插件的简介 
  9. Author: Luffy//author 
  10. Version: 1.0//版本 
  11. Author URI: http://aoxiang.me 
  12. */  
  13. /* 
  14. Plugin Name、Plugin URI、Description、Author、Version等等这几项建议大家都写上,不写有时候wp会不识别插件 
  15. */  
  16. //函数中传入的是发表的新文章,写入A数据库以后,生成的post_id  
  17. function backupdb($post_id)  
  18. {  
  19.     //下面我们通过这个postid,取得A数据库中的这条数据  
  20.   $post_data = get_post($post_id);  
  21.       
  22.     //由于wp中取得的数据是对象(-_-###PHP居然是个有对象的语言,为毛我等码畜无对象!!!)的形式,我习惯了用数组的形式去处理数据,所以这里我把它全部改成了数组。  
  23.   $data[‘id’] = $post_data->ID;  
  24.   $data[‘post_author’] = $post_data->post_author;  
  25.   $data[‘post_date’] = $post_data->post_date;  
  26.   $data[‘post_date_gmt’] = $post_data->post_date_gmt;  
  27.   $data[‘post_content’] = $post_data->post_content;  
  28.   $data[‘post_title’] = $post_data->post_title;  
  29.   $data[‘post_excerpt’] = $post_data->post_excerpt;  
  30.   $data[‘post_status’] = $post_data->post_status;  
  31.   $data[‘comment_status’] = $post_data->comment_status;  
  32.   $data[‘ping_status’] = $post_data->ping_status;  
  33.   $data[‘post_password’] = $post_data->post_password;  
  34.   $data[‘post_name’] = $post_data->post_name;  
  35.   $data[‘to_ping’] = $post_data->to_ping;  
  36.   $data[‘pinged’] = $post_data->pinged;  
  37.   $data[‘post_modified’] = $post_data->post_modified;  
  38.   $data[‘post_modified_gmt’] = $post_data->post_modified_gmt;  
  39.   $data[‘post_content_filtered’] = $post_data->post_content_filtered;  
  40.   $data[‘post_parent’] = $post_data->post_parent;  
  41.   $data[‘guid’] = $post_data->guid;  
  42.   $data[‘post_type’] = $post_data->post_type;  
  43.   $data[‘menu_order’] = $post_data->menu_order;  
  44.   $data[‘post_mime_type’] = $post_data->post_mime_type;  
  45.   $data[‘comment_count’] = $post_data->comment_count;  
  46.   $data[‘ancestors’] = $post_data->ancestors;  
  47.   $data[‘filter’] = $post_data->filter;  
  48.       
  49.       
  50.     //下面的URL就是我们要备份的数据库B的地址了。这里要注意index.php?有个参数backupdb,这是我设置的一个简单的密钥,用来匹配A、B两个应用。后面详解  
  51.   $url = “http://1.jdzw.sinaapp.com/index.php?backupdb=1”;  
  52.       
  53.       
  54.   $ch = curl_init(); //初始化curl  
  55.   curl_setopt($ch, CURLOPT_POST, 1);//告诉curl要使用post传值  
  56.   curl_setopt($ch, CURLOPT_URL, $url);//告诉curl对应的url地址是$URL  
  57.   curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//告诉curl要传过去的数据是$data  
  58.   curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //告诉curl只要传值过去就行了,不用把结果显示出来。    
  59.   curl_exec($ch);//execute  
  60. }  
  61. //add_action是wp的一个亮点,这里简单解释里面两个参数一个是触发时间,一个是执行函数,那么这个函数就易懂了,当发布新文章的时候,执行backupdb这个函数,  
  62. add_action( ‘publish_post’, ‘backupdb’ );  

发送数据搞定了,那就要搞定接收数据了,下面是我B应用中的代码,直接在wordpress/index.php最后加上这一段就好了
PHP代码

  1. //直接在index.php里面加上下面这一段就好了  
  2. if(isset($_GET[‘backupdb’]))  
  3. {  
  4.   $data = $_POST;  
  5.   $sql = “INSERT INTO wp_posts(id,post_author,post_date,post_date_gmt,post_content,post_title,post_excerpt,post_status,comment_status,ping_status,post_password,post_name,to_ping,pinged,post_modified,post_modified_gmt,post_content_filtered,post_parent,guid,post_type,menu_order,post_mime_type,comment_count) VALUES(“.$data[‘id’].“,”.$data[‘post_author’].“,'”.$data[‘post_date’].“‘,'”.$data[‘post_date_gmt’].“‘,'”.$data[‘post_content’].“‘,'”.$data[‘post_title’].“‘,'”.$data[‘post_excerpt’].“‘,'”.$data[‘post_status’].“‘,'”.$data[‘comment_status’].“‘,'”.$data[‘ping_status’].“‘,'”.$data[‘post_password’].“‘,'”.$data[‘post_name’].“‘,'”.$data[‘to_ping’].“‘,'”.$data[‘pinged’].“‘,'”.$data[‘post_modified’].“‘,'”.$data[‘ost_modified_gmt’].“‘,'”.$data[‘post_content_filtered’].“‘,'”.$data[‘post_patent’].“‘,'”.$data[‘guid’].“‘,'”.$data[‘post_type’].“‘,'”.$data[‘menu_order’].“‘,'”.$data[‘post_mime_type’].“‘,'”.$data[‘comment_count’].“‘)”;  
  6.   $wpdb->query($sql);  
  7.     
  8. }  

上面的代码大家应该显而易懂,我稍稍说一下那个密钥和add_action

1、密钥是用来匹配A和B这个应用的,如果没有这个密钥,那当任何人访问B应用的index.php的时候,都会执行后面的插入数据库的这段代码,当然,别人访问的是,是没有post的这个数据库,肯定会出错。
这个密钥是很简单的一种方法,但是不建议大家在index.php里面加入,因为index.php访问次数肯定多,每一次访问都会加上一个判断,这是影响性能的,我们可以新建一个php文件,去专门用来做备份。
密钥的方法不仅限于GET的方法,我们也可以在POST中再加入一个参数用来判断,再牛叉一点,用RC4加解密,再牛叉一点。。。。自己想吧,本码畜智商只到这里,一直都认为,代码的乐趣在于解决自己的需要,也在于自己摸索一些没玩过的东西。

2、add_action是wp中一个非常有意思的地方,它常用在我们写插件的时候,前面说了,第一个参数是触发事件,第二个参数是执行函数,想一下如果我们写的是add_action(“edit_post”,”backupdb”)、add_action(“delete_post”,”backupdb”)会发生什么呢?

在A应用后台中选择启用backupdb这个插件,
024500n0qnspr6rnfapzh6.jpg

然后在A应用中,发布新的文章,就会触发add_action(“publish_post”,”backupdb”),然后backupdb这个函数就会取得最后一条post数据,再将这条数据发送到B应用中,B应用匹配密钥是不是backupdb,如果密钥验证成功,就将$_POST中的数据,插入到B中的数据库。over
下面看我的:
005zRuCggw1eg2tq6e2y6j30sk0ea0z3.jpg

完成!
代码这个东西大同小异,在这里我是用SAE中的应用作为我的备份服务器,因为之前有把域名指向sae,但后来因为域名没有备案,sae只提供海外服务器,家里网络的原因,有时候打开sae有点慢,所以就没指向sae了,现在能够同步重要数据,随时将域名指向sae,就能继续使用了,再也不怕找到攻击拉。哈哈。

本站全部数据被盗用

今天没事查看了一下统计,发现有一个站点http://16k.wang/盗用了本站的27号之前全部数据,PING完IP后发现居然和本站在一个空间上,这其实很明显是某个**盗用的,只是改了个站名和后台用户名,全站就这样开张了,来个图:
QQ图片20140701101512.jpg
但这里我要说的是,其实这人拿了我的数据库和全站都没用,一个站想要成长推广,没有原来的域名,是根本谈不上盗掉的,推广需要时间,别人只认我这个域名,你拿个盗用的全站数据去,没用!
20140701111429.jpg

又出一个,wordpress换域名后无需修改数据库的方法

有些童鞋更换了网站的域名,就会引起文章的链接地址不正常,甚至连网站后台都无法进入,懂数据库的童鞋当然会觉得很简单,改一下数据库里面的域名就好了,但是不懂数据库的童鞋就杯具了,面对数据库那密密麻麻的英文字符,根本无从下手,那我们怎么才能把原来域名更新到现在的新域名呢?
第一种、修改wp-config.php
1、在wp-config.php中,添加以下两行内容:
define(‘WP_HOME’,'新地址’);
define(‘WP_SITEURL’,'新地址’);

2、登录后台,在 “常规 -> 设置”重新配置新博客地址(HOME)和安装地址(SITEURL),成功后一定记得删除上面添加的内容。
第二种、修改functions.php
1、在functions.php中,添加以下两行内容:
update_option(‘新地址’,”);
update_option(‘home’,'新地址’);

2、登录后台,在 “常规 -> 设置”重新配置新博客地址(HOME)和安装地址(SITEURL),成功后一定记得删除上面添加的内容。
第三种、修改wp-config.php(自动更新地址)
1、在wp-config.php中,添加下面一行内容:
define(‘RELOCATE’,true);
2、登录后台地址,WP将自动更新安装地址(SITEURL),手动修改博客地址(HOME)地址即可,成功后一定记得删除上面添加的内容。

wordpress换域名后修改数据库的方法

近来老是给几个WordPress站点换域名,其实是有几个站要做空间备份,我经常会把1个站弄成几个站,分别放在不同的空间中,那么,经常会把站的域名更换为比较好记的。

不管怎么样,数据库的修改是免不了的,网上查看过不少修改数据库的方法,但那些都是老贴了,数据库名都不一样了。

总结了一下,只有三句,大家拿去用用,打开数据库,进到表库,点SQL,输入下面语句,点确定,一次性完全OK:

修改option_value里的站点url和主页地址:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
修改文章内部链接及附件的地址:
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');
修改Wordpress文章默认的永久链接:
UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com', 'http://www.new-domain.com');

aliyun:阿里云提供半年免费10GB云存储服务OSS

20140627163822.jpg

阿里云存储服务(Open Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。用户可以通过简单的REST接口,在任何时间、任何地点上传和下载数据,也可以使用WEB页面对数据进行管理。同时,OSS提供Java、Python、PHP SDK,简化用户的编程。基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。

地址:http://oss.aliyun.com/index/promotion

Mongolab.com提供240MB免费云数据库

Mongolab.com提供240MB免费云数据库,云MongoDB的主机,MongoDB的托管服务,监督和支持,复制和备份,您可以确信您的数据复制,备份和安全。REST的API,我们通过HTTP的REST API访问数据。移动和AJAX开发的伟大。您的应用程序服务器数据库保持密切! MongoLab MongoDB的主机上多个云提供商提供。管理员工具,基于Web的管理工具带来MongoDB的生命。搜索,可视化,轻松创建和修改数据。https://mongolab.com/about/products/

来自“盛大云”MongoIC 支持mysql数据库恢复

盛大云”MongoIC支持在线一键申请数据库,可以免去搭建MongoDB集群的烦琐工作,给用户以极大的便捷。MongoIC支持各种形式的备份:用户不仅可以定制每日或每周备份,在进行重要操作前,还可以执行即时备份。而且,MongoIC上的数据库提供高可用性*服务,每个数据库都会有多台机器做备份,当主机出现故障后,备用机会自动升级成主机,继续提供数据库服务,从而保证用户业务的连续性。
此外,MongoIC更是在全球首次支持MongoDB数据库恢复功能,用户在MongoIC上可以将数据库恢复到7天内的任意时刻。在开发上线过程中,用户即使不慎污染数据库,也可以很方便地进行补救。
“盛大云”CEO何刚表示:MongoIC拥有专业的开发和运维团队,掌握了NoSQL数据库方向的多项专利,提供给用户易用、安全、容错的产品服务,将降低其使用数据库的成本。
http://www.grandcloud.cn/product/mongoic