//创建一个控制器
<?php
namespace frontend\controllers;
use frontend\models\Zhuce;
use Yii;
use yii\web\Controller; use frontend\models\ContactForm;
class LoginController extends Controller
{
//周考2
public function actionNn(){
$model = new Zhuce();
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$aa=Yii::$app->request->post();
$data=$aa['Zhuce'];
$data['rand']=rand(1111,9999);
$data['time']=time();
ksort($data);
//把数组变成地址栏的数据
$par=http_build_query($data);
$str = md5($par);
$secret='123456';
$sign=md5($str.$secret);
//发送服务器端 curl
// 创建一个新cURL资源
$ch = curl_init();
$header = [
'sign:'.$sign,
];
curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/month10/api.php?".$par);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
// curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$init_last=curl_exec($ch);
var_dump($init_last); } else {
// 无论是初始化显示还是数据验证错误
return $this->render('login', ['model' => $model]);
}
}
}
//创建一个api.php
<?php
/*var_dump($_GET);die;
var_dump($_SERVER);*/
$secret='123456';
$data['name']=$_GET['name'];
//var_dump($data['name']);die;
$data['pwd']=$_GET['pwd'];
$data['time']=$_GET['time'];
$data['rand']=$_GET['rand'];
$sign = $_SERVER['HTTP_SIGN'];
ksort($data);
$params = http_build_query($data);
$str=md5($params);
$newsign=md5($str.$secret);
if($sign === $newsign)
{
//入库 }
else
{
$arr=['status'=>500,'msg'=>'error'];
}
echo json_encode($arr);

yii框架通过http协议获取地址栏中的内容的更多相关文章

  1. 用JS获取地址栏中的参数的简易方法

    这个方法用起来超级简单,传入参数即可直接获取地址栏中的参数 代码如下 function GetQueryString(name) { var reg = new RegExp("(^|&am ...

  2. JavaScript获取地址栏中的参数

    JavaScript获取地址栏中的参数 1.获取地址栏中的参数 (1)若地址栏中的地址是: http://10.124.36.56:8080/CMOD/index.jsp?name=you&p ...

  3. 使用Java或 JavaScript获取 方括号中的内容

    1.使用Java获取方括号中的内容 String str = "[你]们,[我]们,[他]们,都要[好好学习,天天敲代码]"; Pattern p = Pattern.compil ...

  4. jQuery获取地址栏中的链接参数

    http://caibaojian.com/177.html 问题描述 今天做一个主题,有一个需求是根据不同的页面来做,虽然php也可以做到,不过考虑到自己的特效代码都是在jQuery上完成,想着能否 ...

  5. spring 框架通过new Object()获取applicationContext 中的bean方案

    工作中,需要手动创建一个对象,但用到了spring容器中对象的业务逻辑,这时候就要去通过获取容器中的对象.这时候,可以通过实例化一个实现了ApplicationContextAware接口的类获取sp ...

  6. iPhone开发--正则表达式获取字符串中的内容

    缘起: 想获取字符串中指定的字符,考虑用正则表达式,遂写了如下的代码: NSString *htmlStr = @"oauth_token=1a1de4ed4fca40599c5e5cfe0 ...

  7. 通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!

    摘要:在当今信息化时代,大多数企业都需要网络支撑企业的ICT运行,提升企业运行效率,针对企业网络中的网元设备(包括交换机,路由器,防火墙等),很多企业希望根据自身的业务特点定制网络管理,比如可以实现网 ...

  8. JS获取地址栏中的链接URL参数

    function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&am ...

  9. js获取地址栏中的数据

    window.location.href:设置或获取整个 URL 为字符串window.location.pathname:设置或获取对象指定的文件名或路径window.location.search ...

随机推荐

  1. [Day11]接口、多态

    1.接口 (1)接口定义:interface关键字 ,所在文件仍然是.java文件,编译后仍产生.class文件.       定义格式 public interface 接口名{ 抽象方法1: 抽象 ...

  2. windows加固

    1. 账户管理和认证授权 1.1 账户 默认账户安全 禁用Guest账户. 禁用或删除其他无用账户(建议先禁用账户三个月,待确认没有问题后删除.) 操作步骤 打开 控制面板 > 管理工具 > ...

  3. linux+nginx+phpfpm 访问出现Access denied错误解决方案

    linux上安装nginx,php-fpm后访问页面一直出现Access denied错误. 网上搜原因大概如下图: 我试了第一个方案,然后就好了.

  4. Python时间、日期、时间戳之间的转换

    一.字符串与为时间字符串之间的互相转换 方法:time模块下的strptime方法 a = "2012-11-11 23:40:00" # 字符串转换为时间字符串 import t ...

  5. 在 vue 中使用 vieiwer 图片预览插件

    https://blog.csdn.net/WestLonly/article/details/79801800?utm_source=blogxgwz0 首先,感谢原作者 官网链接 github地址 ...

  6. 使用Sqlserver事务发布实现数据同步(zhuanqian)

    事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的.这里以sqlserver2008的事务发布功能为例,对发布 ...

  7. 玩转spring boot——结合docker

    前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 liunx机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有 ...

  8. 千行代码入门Python

    这个是从网上找到的一份快速入门python的极简教程,大概一千行左右,个人觉得不错,特此收藏以备后用. # _*_ coding: utf-8 _*_ """类型和运算- ...

  9. PHP函数------parse_ini_file()

    1.parse_ini_file()函数用于解析一个配置文件,并以数组的形式返回其中的设置. 举例说明:group.ini文件,文件内容如下: 0 = "Hleducation" ...

  10. GO数组

    Array(数组) 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化. 数组定义: var 数组变量名 [元素数量]T ]int //定 ...