yii框架通过http协议获取地址栏中的内容
//创建一个控制器
<?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协议获取地址栏中的内容的更多相关文章
- 用JS获取地址栏中的参数的简易方法
这个方法用起来超级简单,传入参数即可直接获取地址栏中的参数 代码如下 function GetQueryString(name) { var reg = new RegExp("(^|&am ...
- JavaScript获取地址栏中的参数
JavaScript获取地址栏中的参数 1.获取地址栏中的参数 (1)若地址栏中的地址是: http://10.124.36.56:8080/CMOD/index.jsp?name=you&p ...
- 使用Java或 JavaScript获取 方括号中的内容
1.使用Java获取方括号中的内容 String str = "[你]们,[我]们,[他]们,都要[好好学习,天天敲代码]"; Pattern p = Pattern.compil ...
- jQuery获取地址栏中的链接参数
http://caibaojian.com/177.html 问题描述 今天做一个主题,有一个需求是根据不同的页面来做,虽然php也可以做到,不过考虑到自己的特效代码都是在jQuery上完成,想着能否 ...
- spring 框架通过new Object()获取applicationContext 中的bean方案
工作中,需要手动创建一个对象,但用到了spring容器中对象的业务逻辑,这时候就要去通过获取容器中的对象.这时候,可以通过实例化一个实现了ApplicationContextAware接口的类获取sp ...
- iPhone开发--正则表达式获取字符串中的内容
缘起: 想获取字符串中指定的字符,考虑用正则表达式,遂写了如下的代码: NSString *htmlStr = @"oauth_token=1a1de4ed4fca40599c5e5cfe0 ...
- 通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!
摘要:在当今信息化时代,大多数企业都需要网络支撑企业的ICT运行,提升企业运行效率,针对企业网络中的网元设备(包括交换机,路由器,防火墙等),很多企业希望根据自身的业务特点定制网络管理,比如可以实现网 ...
- JS获取地址栏中的链接URL参数
function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&am ...
- js获取地址栏中的数据
window.location.href:设置或获取整个 URL 为字符串window.location.pathname:设置或获取对象指定的文件名或路径window.location.search ...
随机推荐
- Python2与python3 文件操作关于打开文件
#首先在python3中操作文件只有一种选择,那就是open() #而在python2中则有两种方式:file()与open() 两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两 ...
- 图->最短路径->单源最短路径(迪杰斯特拉算法Dijkstra)
文字描述 引言:如下图一个交通系统,从A城到B城,有些旅客可能关心途中中转次数最少的路线,有些旅客更关心的是节省交通费用,而对于司机,里程和速度则是更感兴趣的信息.上面这些问题,都可以转化为求图中,两 ...
- 20144306《网络对抗》MAL_恶意代码分析
一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控? 使用Windows自带的schtasks指 ...
- 7.1-uC/OS-III中断管理
在 uC/OS 系统中,中断相当于一个优先级最高的任务.中断一般用于处理比较紧急的事件, 而且只做简单处理,例如标记该事件,带退出中断后再做详细处理.在使用 uC/OS系统时, 一般建议使用信号量. ...
- selenium启动Firefox失败
今天搭建java+selenium环境,搭建几次都失败,总结一下原因 1. selenium启动Firefox,不需要额外的driver 2. Friefox如果没有安装到默认路径C盘,代码中需要修改 ...
- taro中子父传值
其实网上很多方法,我这只是一个简单的demo,废话不多说直接上代码 import Taro, { Component } from '@tarojs/taro' import { View, Text ...
- Kafka笔记1(初步认识)
Kafka 被称为“分布式提交日志”或“分布式流平台” 文件系统或数据库提交日志用来提供所有事务的持久记录,通过重放这些日志重建系统状态,同时Kafka数据是按照一定顺序持久化保存的,可以按需读取 K ...
- 查看 chrome 浏览器中的 Headers
查看 chrome 浏览器中的 Headers, Response 信息:
- js实现复制内容到剪切板,兼容pc和手机端,支持Safari浏览器
Javascript原生有一些事件:copy.paste.cut, 这些事件可以作用的目标元素: 能获得焦点的元素 (如contentEditable内容能编辑或者可以选中的元素),或者是<bo ...
- ES6学习 --函数参数默认值与解构赋值默认值
1. ES6的解构ES6中引入了解构赋值的操作,其作用是:将值从数组Array或属性从对象Object提取到不同的变量中 即分为两种情况:从数组Array中解构,以及从对象Object中解构 ①.从数 ...