O2oBaseController.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. /**
  3. * o2o模块公共基类
  4. */
  5. class O2oBaseController extends Controller{
  6. protected function beforeAction($action) {
  7. return true;
  8. }
  9. public function shiHuiCheckSign(){
  10. header('Content-type: application/json');
  11. $request=array();
  12. if(is_array($_GET)){
  13. foreach($_GET as $k=>$v){
  14. $request[$k]=$v;
  15. }
  16. }
  17. if(is_array($_POST)){
  18. foreach($_POST as $k=>$v){
  19. $request[$k]=$v;
  20. }
  21. }
  22. $temp_args=array();
  23. $sign='';
  24. if(is_array($request)){
  25. foreach($request as $_key => $_value) {
  26. if($_key!='sign' && $_key!='r'){
  27. $temp_args[$_key]=$_value;
  28. }elseif($_key == 'sign'){
  29. $sign = $_value;
  30. }
  31. }
  32. }
  33. if($sign){
  34. if(isset($temp_args)&&!empty($temp_args)){
  35. ksort($temp_args);
  36. }
  37. $arg_str = '';
  38. foreach($temp_args as $k=>$v){
  39. $arg_str .= $k.$v;
  40. }
  41. if(ENVIRONMENT == 'test'){
  42. $arg_str .= Yii::app()->params['key'];
  43. }else{
  44. $arg_str .= Yii::app()->params['key'];
  45. }
  46. $new_sign= strtoupper(md5($arg_str));
  47. var_dump($new_sign);exit;
  48. if($new_sign!=$sign){
  49. echo '{
  50. "code": "10001",
  51. "msg": "false",
  52. "body": {}
  53. }';
  54. die();
  55. }else{
  56. return true;
  57. }
  58. }else{
  59. echo '{
  60. "code": "10001",
  61. "msg": "false",
  62. "body": {}
  63. }';
  64. die();
  65. }
  66. }
  67. }