再折腾:网站升级到HTTPS

我这人嘛,基本属于一不干二不休的人。

昨天整站系统升级完毕后,想到是不是顺手把HTTPS也做了?没错,那就办了吧。

下面简单记录下操作流水,给需要的人参考。(本文为域名型DV证书)

环境:CENTOS + APACHE + OPENSSL(没有OpenSSL的自行安装)

  1. 确认安装了SSL模块,有mod_ssl.so文件
  2. 生成证书、密钥文件以及buy域名证书文件

阅读全文»

标签: 网站, 升级, HTTPS

网站系统更新换代致勤劳的双手

这网站从2009年以来陪伴了我太多。付出的,收获的,尽显于此。

创业以前经常打理、更新,但是在13年下半年开始创业后,这地方就基本荒废了。虽然现在每天还有近一千的IP。

14年更新两篇文章
15年更新一片文章

大写加粗的赞。。

前天突然来了个念头,想把整站程序更新换代下。一方面是年份久远BUG也多,另外使用久了有些整站也比较杂乱。PS:旧程序是基于emlog 3.1.0的,期间几年调调改改基本面目全非了。现在我看了下,emlog都更新到5.3.1了。

阅读全文»

标签: 网站, 更新, sjolzy

Linux wget命令整站下载做网站镜像

在linux下完整的用wget命令整站采集网站做镜像
的命令是:

wget -m -e robots=off -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6" "http://www.example.com/"

wget命令
参数注释:

"-e robots=off"  让wget耍流氓无视robots.txt协议

-U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6"  伪造agent信息

Magento调试 - 页面空白,打开错误报告的方法

问题:Magento页面一片空白
没显示什么东西,无法判断是否程序错误,所以要把错误显示打开使之能调试

解决:

1. 在网站根目录的.htaccess文件里加上

php_flag display_errors on
php_value error_reporting 2039
详情看另外一篇文章:(用.htaccess设置 PHP错误显示
)

2. 然后找到/errors/local.xml.sample这个文件,改成/errors/local.xml

3. 接着找到lib/Zend/Cache/Backend/File.php

查找 protected $_options = array( ’cache_dir’ => ‘null’,

替换成 protected $_options = array( ’cache_dir’ => ‘tmp/’,

4. 最后在/index.php文件里把error_reporting(E_ALL | E_STRICT)
;和ini_set('display_errors', 1)
;注释取消。可以再加上Mage::setIsDeveloperMode(true)
;这句配合第二点把magento的开发模式打开

这几步下来Magento的错误报告
就打开啦!

magento使用paypal支付接口测试

paypal帐户,帐户类型分为Personal(个人)、Premier(高级)和Business(商业),他们的差别对于开发者

来说主要是返回的信息,Personal的不能使用IPN和PDT等商家工具,即不能获取交易信息,但是Personal帐户收款无需手续费;Premier和Business当然就提供了IPN和PDT功能,能够在客户支付成功后,将交易信息传给指定的网站,用来二次使用。

这里插进来介绍一下paypal sandbox,也就是沙盒,是paypal提供给开发者的一个工具,非常好用。

作为Magento开发者,第一次使用Paypal总是希望能使用测试账号来测试功能是否工作正常,基本流程如下: 

1. 去developer.paypal.com申请开发账号(这里以dev123@gmail.com为例),申请后自动建立一个buyer和一个seller测试子账号供测试(这里分别以buyer123@gmail.com和seller123@gmail.com为例)。 

2. Magento后台允许PayPal Standard支付: 
System->Configuration->Payment Methods->PayPal Website Payments Standard 

3. Magento后台设置PayPal账号 
System->Configuration->PayPal->Website Payments Standard 
    Business Account: seller123@gmail.com 
    Sandbox Mode : Yes 

最常犯的错是:将Business Account设置为dev123@gmail.com, 这样当支付进入最后一步会提示这样的错误(导致订单别取消): 
This invoice has already been paid. For more information, please contact the merchant.
 

4. 打开浏览器登录developer.paypal.com,在同一个浏览器下订单,当place order转入paypal网站时(sandbox网站),你可以选择输入信用卡信息支付,也可以选择登陆PayPal,如果选择登录可以用前面的buyer123@gmail.com,首次登陆可能要求你帮定一个银行账号,因为是测试账户,这里的银行账号是无所谓的,接下来就会一路顺利,确认支付成功,点击回到商家网站按钮,订单完成。 

注:第4条提到的“打开浏览器登录developer.paypal.com,在同一个浏览器下订单”是必需的,否则不能完成测试! 
另外一个可能导致订单不成功的的原因是:Shipping Address必须足够真实,否则PayPal会Decline你的 

还有在这里提一下paypal ipn(Instant Payment Notification),就是Paypal开发的一种能主动通知第三方卖家系统交易状态的一种机制。IPN的原理很简单,就是当产生了一个交易之后, 交易状态发生变化时,如用户已经付款、或者退款、撤销时,Paypal利用常用的HTTP POST方式,将交易的一些变量提交给网站的某个页面(称之为IPN Handler),当这个页面接受到请求时候,将这些数据原封不动加上一个指示验证的cmd=_notify-validate,POST回Paypal 的接口地址,如果数据正确,那么Paypal返回字符串VERIFIED,否则为INVALID,如果结果为VERIFIED,那么你的程序就可以使用这 些数据进行操作。

电子商务系统使用paypal支付接口的程序流程 及通信接口

PayPal支付接口的PHP开发方式

gspay支付页面错误代码表示的意思

magento
和osc使用gspay支付接口跳到gp支付页面出现的错误代码标识意思如下:

101 客户的IP和选择的国家不匹配
(还有,自己网站不要经常上去做购买测试,我们有IP监测,防止卖家替客人刷卡,或者是洗钱。这个监测在您的账户live后通常都会拒绝您自己的测试支付,显示为101 108 109 119或121)
102 客户国家的IP被封锁
103 美国客户的IP和州不匹配
104 欺骗的卡持有人
105 欺骗的卡号
106 客户浏览器的语言被封锁
107 客户国家被封锁
108 欺骗的邮件地址
109 欺骗的IP
110 欺骗的电话号码
111 客户浏览器被封锁
112 超过每小时的最大交易限额
113 小时IP限制
114 多次尝试用不同的客户信息
116 网站必须注册
118 不能自己测试
119 高拒付风险客户,银行不接受的付款
121 填写的信息和发卡行不符
122 表示数次购买时,其余资料不同,但填写的邮箱是相同的
123 多个不同的全名用一个IP或者一个浏览器多次下单