php实现跨域提交form表单的方法【2种方法】


Posted in PHP onOctober 17, 2016

本文实例讲述了php实现跨域提交form表单的方法。分享给大家供大家参考,具体如下:

有时我们为了网站安全考虑,我们不允许直接跨域提交form表单数据,如果我们自己有这个需求呢?下面我们来介绍两种跨域的方法解决直接跨域问题。

下面我们来看看两种php跨域提交form的方法

一、通过php curl

function curlPost($url,$params)
{
   $postData = '';
   foreach($params as $k => $v)
   {
     $postData .= $k . '='.$v.'&';
   }
   rtrim($postData, '&');
   $ch = curl_init();
   curl_setopt($ch,CURLOPT_URL,$url);
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
   curl_setopt($ch,CURLOPT_HEADER, false);
   curl_setopt($ch, CURLOPT_POST, count($postData));
   curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
   $output=curl_exec($ch);
   curl_close($ch);
   return $output;
}
echo curlPost("http://test.com",array('name'=>"tank"));

以前很多人用curl来抓,邮箱的通讯录,不过现在已经不可以了。哈哈。

二、利用jquery form,ajax提交

1. 下载jquery.form.js

2. js代码

$('#testform').submit(function() {
   $(this).ajaxSubmit({
   type: 'post', // 提交方式 get/post
   dataType:"json",//数据类型
   url: 'your url', // 需要提交的 url
   success: function(data) { // data 保存提交后返回的数据,一般为 json 数据
   // 此处可对 data 作相关处理
   alert('提交成功!');
   }
   $(this).resetForm(); // 提交后重置表单
   });
   return false; // 阻止表单自动提交事件
});

3. php代码

header("Access-Control-Allow-Origin:*"); //跨域权限设置,允许所有
header("Access-Control-Allow-Origin:http://www.test.com"); //只允许test.com跨域提交数据

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 PHP
php 进度条实现代码
Mar 10 PHP
PHP 导出数据到淘宝助手CSV的方法分享
Feb 27 PHP
php学习笔记 [预定义数组(超全局数组)]
Jun 09 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
PHP版微信公众平台红包API
Apr 02 PHP
适合PHP初学者阅读的4本经典书籍
Sep 23 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
PHP网页安全认证的实例详解
Sep 28 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 #PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 #PHP
php排序算法实例分析
Oct 17 #PHP
基于thinkPHP框架实现留言板的方法
Oct 17 #PHP
php并发加锁示例
Oct 17 #PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 #PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 #PHP
You might like
基于mysql的bbs设计(三)
2006/10/09 PHP
在php MYSQL中插入当前时间
2008/04/06 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
如何使用angularJs
2017/05/08 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
Python中的作用域规则详解
2015/01/30 Python
如何在Python中编写并发程序
2016/02/27 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
python实发邮件实例详解
2019/11/11 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
在家更换处方镜片:Lensabl
2019/05/01 全球购物
收银出纳员岗位职责
2014/02/23 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
单位租房协议范本
2014/12/03 职场文书
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS