<?php
ini_set('memory_limit', '640M');
ini_set('default_charset', 'utf-8');
define('webroot', 'http://' . $_SERVER['HTTP_HOST']. substr($_SERVER['PHP_SELF'], 0, strpos($_SERVER['PHP_SELF'], '/', 0)) . '/');
// m 模块 c 子模块 a 类 v 视图
$m = $_GET["m"] ? $_GET["m"] : $_POST["m"];
$c = $_GET["c"] ? $_GET["c"] : $_POST["c"];
$a = ($_GET["a"] ? $_GET["a"] : $_POST["a"]);
$a = $a ? $a . '.class' : $a;
$a = $_GET["v"] ? $_GET["v"] : ($_POST["v"] ? $_POST["v"] : $a);
session_start();
$_SESSION['action'] = $c;
if (!$a) {
// 已登录跳转
if ($_SESSION['admin']) $a = 'main';
else $a = 'login';
}
if ($_GET && $_GET['id']) $url = "$m/$c/$a.php?id=".$_GET['id'];
else $url = "$m/$c/$a.php";
$ch = curl_init(); //初始化
if (strrpos($url, 'logout.php') > -1) {
session_destroy();
$url = 'login.php';
}
if ($_GET) {
$url .= $_SERVER['REQUEST_URI'];
}
// post数据转发
if ($_POST) {
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$_POST);
header("Content-Type:application/json;charset='utf-8'");
}
// 获取访问页面
curl_setopt($ch, CURLOPT_URL, webroot . "$url"); //你要访问的页面
// 在转发页面无法正常使用session,写入了cookie
curl_setopt($ch, CURLOPT_COOKIE, 'name=' . $_SESSION['admin'] . ';action=' . $_SESSION['action']);
//是否显示内容,不清楚为什么0才是显示
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_exec($ch); //执行
curl_close($ch); //返回关闭
//header("location:$url");
?>

路由转发(curl)的更多相关文章

  1. LVS 集群与存储《路由转发》

                                                             LVS 集群与存储<路由转发> 集群简介 u 什么是集群 •  一组通过高 ...

  2. 网络-数据包在路由转发过程中MAC地址和IP地址,变与不变

    关于MAC地址和IP地址在传输过程中变与不变的问题: 结论:MAC地址在同一个广播域传输过程中是不变的,在跨越广播域的时候会发生改变的:而IP地址在传输过程中是不会改变的(除NAT的时候),总结为 路 ...

  3. 转:数据包经由路由转发时源、目的IP地址及MAC地址变化情况

    数据包经由路由转发时源.目的IP地址及MAC地址变化情况.  IP数据包经由路由转发的时候源ip,目的ip,源MAC,目的mac是否发生改变,如何改变?   A—–(B1-B2)—–(C1-C2)—— ...

  4. 使用linux系统做路由转发

    使用linux系统(PC机)做路由转发 关键字:linux,Fedora,route,iptables,ip_forward 最近做网络实验,在实验过程中需要用到linux的转发功能,但是遇到一些问题 ...

  5. 基于嵌入式linux路由转发功能的实现

    环境 arm7开发板, uclinux系统,kernel version: linux-2.4.x arm芯片的单网卡双网口设备,eth0 WAN口 ipaddr 192.168.9.61 eth0: ...

  6. 前端跨域问题的总结&&nodejs 中间层的路由转发

    前后端交互的时候,跨域是避不开的问题. 总结就是如下: 1.Cors 我在做前后端分离的时候,会采用cors 的方法:便于其他源的调用接口,这个可以设置成任意的源头,也可以允许指定的源头. 下面的是n ...

  7. (转)Linux开启路由转发功能

    原文:https://www.linuxidc.com/Linux/2016-12/138661.htm 标记一下,今天想让一台Red Hat Enterprise Linux 7开通iptables ...

  8. Zuul路由转发规则

    定制的路由规则的主要功能: 1.路由表中包含源路径,微服务名称,目标路径 2.Endpoint粒度配置支持 3.路由支持1对1精确路由 4.源路径可以前缀/**格式来模糊路由 5.目标路径可以使用前缀 ...

  9. django路由转发

    一.路由转发 通常,我们会在每个app里,各自创建一个urls.py路由模块,然后从根路由出发,将app所属的url请求,全部转发到相应的urls.py模块中. 例如,下面是Django网站本身的UR ...

随机推荐

  1. 【object-c基础】Object-c基础之三:面对对象开发@interface,@implementation

    1.@interface 在java等语言编程中,创建类都是用class,但在object-c中,用@interface. 例子: @interface circle :NSObject    //定 ...

  2. Ubuntu12.04 下修改Apache端口号

    1:$sudo vim /etc/apache2/ports.conf NameVirtualHost *:80Listen 8090 #将此行的80修改成8090 2:sudo vim /etc/a ...

  3. Windows进程间通信的各种方法

    原文:Windows进程间通信的各种方法 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码.数据以及它可利用的系统资源(如文件.管道等)组成.多进程/多线程是Windows操作系 ...

  4. PowerShell文件系统(一)前言

    PowerShell文件系统(一)前言 3 12 2月, 2014  在 Powershell tagged Powershell教程 / 别名 / 文件系统 by Mooser Lee PowerS ...

  5. BZOJ3016: [Usaco2012 Nov]Clumsy Cows

    3016: [Usaco2012 Nov]Clumsy Cows Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 71  Solved: 52[Submi ...

  6. Dynamic Binding & Static Binding

    Reference: JavaPoint BeginnerBook What is Binding Connecting a method call to the method body is kno ...

  7. 简单拨号器(Android)

    感受: 1.了解了intent中的action和Uri. 2.了解了向下一个活动传递数据. 3.了解了内容提供器. 4.了解自定义适配器. 4.其实T9拨号器和简单计算器原理一样.

  8. Linux下的文件查找类命令(转载)

    如何快速有效的定位文件系统内所需要查找的文件呢?Linux为我们提供了一些文件查找类的命令,我们需要掌握以下几个命令: http://blog.csdn.net/sailor201211/articl ...

  9. Windows系统基本概念

    windows API:被文档化的可以调用的子例程,如CreateProcess 原生的系统服务(执行体系统服务):未被文档化的.可以再用户模式下调用的底层服务,如NtCreateProcess 内核 ...

  10. 基于PCA和SVM的人脸识别

    程序中采用的数据集是ORL人脸库,该人脸库共有400副人脸图像,40人,每人10幅,大小为112*92像素,同一个人的表情,姿势有少许变化. 程序的流程主要分为三部分,数据的预处理(PCA降维和规格化 ...