http://www.yingyu.com/e/20140711/53bf93ce9c577.shtml
朦朦胧胧,只搞定一些结构 ,有待加强。~.~ #
月份:2014年10月
银联接入
手册
http://console.chinapay.com/NetPayClient/new/NetPayClient_Manual.pdf
无力吐槽啊,居然得用ie来生成私钥,操作界面居然还有兼容问题。
http://console.chinapay.com/newgms/
参考
http://www.phpally.com/tag/unionpay/
使用手册看登录界面右方接入指南,可使用网关,直接查询即可。
目前比较纠结一个问题是,银联的orderid需要满足16位,且包含密钥的中间部分,金额需要从分位算起。
因为原系统已定,所以直接将这边的订单id保存到备注字段中。
将orderid做为第三方id保存。
参数说明:
String MerId 商户号,长度为 15 个字节的数字串,由 ChinaPay 或清算银行分配。
String OrdId 订单号,长度为 16 个字节的数字串,由商户系统生成,失败的订单号允
许重复支付。
String TransAmt 交易金额,长度为 12 个字节的数字串,例如:数字串”000000001234″
表示 12.34 元。
String CuryId 货币代码, 长度为 3 个字节的数字串,目前只支持人民币,取值为”156″ 。
String TransDate 交易日期,长度为 8 个字节的数字串,表示格式为:YYYYMMDD。
String TransType 交易类型,长度为 4 个字节的数字串,取值范围为:”0001″和”0002″,其中”0001″表示消费交易,”0002″表示退货交易。
表 3 ChinaPay 交易状态代码表
状态码 状态信息
1001 消费交易成功
1003 退款提交成功
1005 退款撤销成功
其他
其他均为交易失败,具体信息请登录 ChinaPay 交易控台查询,或查询各银行出
错信息文档。
sql注入+密码暴力破解
havij
http://www.itsecteam.com/products/havij-advanced-sql-injection/
里面附带md5识别,破解的,网上工具不少。不过最好都在虚拟机下运行。
网页密码暴力破解工具
http://www.piaodown.com/soft/77532.htm
普通的网页登录,可以用这工具,简单暴力下。
虚拟机运行~
验证码模拟输入相关流程,参考
http://haibin.info/?p=897
密码识别工具,如果2得不轻的验证码,一般自己写个字典识别既可。
http://www.uuwise.com/
不是做广告。
只做安全检测用,一切后果,概不负责。
YII MYSQL 转移至 Oracle
1.字段大小写有所不同,特别注意,mysql不区分在小写,oracle区分大小,如果使用小写需要用“”进行引起。如yii ar 自定义t,在相关使用时,需要用“t”进行表示。
$criteria->order .= '"t".ID desc'; $models = AdminLog::model ()->with ( 'admin' )->findAll ( $criteria );
2.逻辑上,分组排序不同于mysql,需要用
$criteria->select = "ICON,ROW_NUMBER () OVER ( PARTITION BY ICON ORDER BY ordernum asc )"; // $criteria->group = "ICON"; $models = Menu::model ()->findAll ( $criteria );
3.主键自增也有所不同,凡原来涉及insert null操作相关地方,需要用OracleTools::getNewId()获取id进行替换,现在使用通用序列,后需特殊字段,需要进行特殊处理
protected function beforeSave() { $this->ID = OracleTools::getNewId (); if ($this->hasEventHandler ( 'onBeforeSave' )) { $event = new CModelEvent ( $this ); $this->onBeforeSave ( $event ); return $event->isValid; } else return true; }
<?php /** * * 现在简单实现,可以处理成,根据对应的表,生成对应的序列进行生成,主要同步自增id * */ class OracleTools { const TABLE_COMMOON = "seq_common"; /** * 通过序列获取最新的id */ public static function getNewId($tablename = "seq_common") { $id = sql_fetch ( "SELECT seq_common.nextVal newid FROM dual", 'newid' ); return $id; } }