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 相关文章推荐
使用PHP维护文件系统
Oct 09 PHP
小偷PHP+Html+缓存
Nov 25 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
php漏洞之跨网站请求伪造与防止伪造方法
Aug 15 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 PHP
php设计模式之职责链模式定义与用法经典示例
Sep 19 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 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
php中创建和调用webservice接口示例
2014/07/25 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
python执行使用shell命令方法分享
2017/11/08 Python
Python制作exe文件简单流程
2019/01/24 Python
python三引号输出方法
2019/02/27 Python
python实现月食效果实例代码
2019/06/18 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
应届生新闻编辑求职信
2013/11/19 职场文书
理货员的岗位职责
2013/11/23 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
生产助理岗位职责
2014/06/18 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python