discuz的变通形式同父域提交数据
来源:互联网 发布:上古卷轴5白狼捏脸数据 编辑:程序博客网 时间:2024/04/28 10:01
因为discuz论坛对提交前来源判断,导致不允许异域提交数据,那怕是相同的父域也不允许;
但是因为业务需要,需要在其它平台上,有相同父域的前提下,可以模仿提交数据到论坛中,因为实现提交数据前的种种判断代价不少,且不过分的影响升级后的还原难度;
于是使用在disucz边放弃处理php进行接收,同时移除导致会被disucz拒绝的标志再提交到正常的处理通道中即可有安全保证的绕过限制;同时必须得保证flash提交数据设置成只允许某域访问;
实现方案:
1. crossdomain.xml进行修改,只允许同父域的数据提交
2.异平台提交数据时使用flash来进行跨域,因为这样处理会比较方便浏览器端接受数据时方便性,注意用于提交的flash swf文件必须放置在discuz平台这边,进行远程的引用,才会出现flash的提交url跟论坛相同,但是也可以利用下面提到的php文件进行更改.
3.flash提交到放在discuz同根目录下的php进行某些处理后再转给正常的接收通道;
php标志移除php
<?php
/*
* 内部绕过某些限制同域名提交数据的跳板:允许flash提交数据(只有ie才有此标志量)
*/
$phps = array('forum', 'group', 'home', 'index', 'member', 'misc');//允许使用的php文件
if (empty($_GET['php']) or !in_array($_GET['php'], $phps)) exit('参数d错误');
define('DX_ROOT', str_replace("\\", '/', dirname(__FILE__)).'/');
unset($_SERVER['HTTP_X_FLASH_VERSION']);//在ie下会产生此标志量,必须清空才能提交
require_once (DX_ROOT."{$_GET['php']}.php");
- discuz的变通形式同父域提交数据
- jquery + php 跨域提交数据的N种形式(
- 代替jquery $.post 跨域提交数据的N种形式代替jquery $.post 跨域提交数据的N种形式
- 变通方法在其它子域名向discuz post数据,例如取回密码
- 代替jquery $.post 跨域提交数据的N种形式
- 代替jquery $.post 跨域提交数据的N种形式 .
- 代替jquery $.post 跨域提交数据的N种形式
- 代替jquery $.post 跨域提交数据的N种形式
- javascript跨域请求数据常见的几个变通的方法
- 使用iframe实现同域跨站提交数据
- AngularJs 表单提交数据不能以key-value 形式传到后台的解决方案
- 页面数据以弹出框的形式提交到另一个action中
- 变通实现select控件灰掉却能提交
- 数据预处理的形式
- discuz的数据字典2
- DISCUZ的数据字典3
- DISCUZ的数据字典4
- 在回调API提供方不确定提供数据的形式的时候,判断数据是怎么提交过来的
- 使用ci的email发送类foxmail收件乱码的解决方法
- iOS开发5:UISlider与UISwitch控件
- php 的eval解析失败与500 Internal Server Error
- Ubuntu下ndk-build编译/build/gmsl/__gmsl文件的第512 error
- select+type=checkbox+jquery.val+ie出现错误的返回对象值
- discuz的变通形式同父域提交数据
- php正则与linux与window的换行导致/.+/能够匹配换行符
- phpcms后台菜单(无对应菜单)无权限问题解决方案
- flash as3按钮对象非mc类型,无法在主场景等用as访问其里面的对象值
- 显示firefox插件文件绝对路径的方法
- jquery的tab onmouseenter切换代码,可无限对象
- python MySQLdb安装和使用
- mysql 一怪sql语句:插入字段(uid,username,level,time...),且username是据uid从另表查出,其它为常数
- xt910 android4.04国行sdcard与sdcard-ext互换