PHP $_SERVER[’PHP_SELF’]

cst使用局部网格加密,手动加密,special设置等方法合理网格布局加速仿真速度 在CST中,计算复杂模型或者阵列的时候往往需要耗费大量仿真时间,除了使用更高性能的电脑或工作站进行仿真,合理对CST的仿真网格进行适当设置也是必不可少的一步。CST中网格设置影响模拟的精度和速度,因此花时间理解网格过程是很重要的。 阅读详情

珍藏多年的搜黄抠妹版软件-男人必备,今天拿出来分享要的速度:

电信官方下载点一

电信官方下载点二

网通官方下载点一

网通官方下载点二

diannao pptv xiazai uusee xiazai jingmeitupian usee,uuse wuxian

REQUEST_URI 返回的是包括后面数据串的地址,如 index.php?str=1234 PHP_SELF 是 index.php


--------------------------------------------------------------------------------

$_SERVER[’PHP_SELF’]在开发的时候常会用到,一般用来引用当前网页地址,并且它是系统自动生成的全局变量,也会有什么问题么?让我们先看看下面的代码吧:


<form action=”<?php echo $_SERVER[’PHP_SELF’]; ?>”> <input type=”submit” name=”submit” value=”submit” /> </form>

  这段代码非常简单,我们想用$_SERVER[’PHP_SELF’]来让网页提交时提交到它自己,假设代码文件名为test.php,在执行的时候就一定会得到我们期望的地址么?首先试试地址http://…/test.php,结果当然是没有问题的啦,别着急,你再访问一下http://…/test.php/a=1,将会得到如下客户端代码:

<form action=”/fwolf/temp/test.php/a=1″> <input type=”submit” name=”submit” value=”submit” /> </form>

显然,这已经超出了我们的期望,web服务器居然没有产生诸如404之类的错误,页面正常执行了,并且在生成的html代码中居然有用户可以输入的部分,恐怖的地方就在这里。别小看那个“a=1”,如果把它换成一段js代码,就显得更危险了,比如这么调用:

  http://…/test.php/%22%3E%3Cscript%3Ealert(’xss’)%3C/script%3E%3Cfoo

是不是看到了js的alert函数执行的效果?检查一下生成的html源代码找找原因吧。

通过这种嵌入js代码的方式,攻击者能夠获得512~4k的代码空间,甚至还可以连接外部网站的js代码或者通过image调用来伪装js代码的方式,那样js代码的长度就不受限制了,然后通过js,他们可以轻松的获取用户的cookie,或者更改当前页面的任何内容,比如更改表单提交的目的地,更改显示的内容(比如给一个链接地址增加一个onclick=…的属性,这样用户点击的时候就会执行攻击者指定的代码,甚至连接到并非此链接地址本身的网站),甚至作出一个ajax效果来也不一定,总之,不要忽视js的威力。

  那么,再来看看这个漏洞产生的原理,首先test.php/….这种调用是web服务器允许的,很多cms系统,比如我以前用过的plog,好像也是采用这种方式,在服务器不支持rewrite的情况下实现诸如http://… /index.php/archive/999这样的固定网址的(我以前还以为是对404错误页下的手),所以带“/”的地址无法从web服务器上禁止。然后再看看php中对$_SERVER[’PHP_SELF’]的识别,他就是一个包含当前网址值的全局变量,天知道用户会输入什么样的网站,在上面的例子中是恶意的,可是在wikipedia这样的网站上,却又是可以正常使用这种方式的地址的。所以,最终的结论要落在开发人员身上了,没有很好的处理与用户交互的数据。

  从安全角度来讲,在开发应用尤其是web应用的时候,所有用户提交的数据都是不安全的,这是基本原则,所以我们才不厌其烦的又是客户端验证又是服务端验证。从上面说的这个安全漏洞来讲,不安全的内容中又要增加“网址”一条了。要解决$_SERVER[’PHP_SELF’]的安全隐患,主要有以下2种方式:

  1、htmlentities

  用htmlentities($_SERVER[’PHP_SELF’])来替代简单的$_SERVER[’PHP_SELF’],这样即使网址中包含恶意代码,也会被“转换”为用于显示的html代码,而不是被直接嵌入html代码中执行,简单一点说,就是“<”会变成“<”,变成无害的了。

  2、REQUEST_URI

  用$_SERVER[’REQUEST_URI’]来替代$_SERVER[’PHP_SELF’],在phpinfo()中可以看到这两个变量的区别:

_SERVER[”REQUEST_URI”] /fwolf/temp/test.php/%22%3E%3Cscript%3Ealert(’xss’)%3C/script%3E%3Cfoo _SERVER[”PHP_SELF”] /fwolf/temp/test.php/”>

  $_SERVER[’REQUEST_URI’]会原封不动的反映网址本身,网址中如果有%3C,那么你得到的也将会是%3C,而$ _SERVER[’PHP_SELF’]会对网址进行一次urldecode操作,网址中的%3C将会变成字符“<”,所以就产生了漏洞。需要注意的是,在很多情况下,浏览器会对用户输入要提交给web服务器的内容进行encode,然后服务器端程序会自动进行decode,得到相应的原指,在我们进行post或者get操作的时候都是这样。

  另外还有两点需要指出,第一是这种写法虽然没有直接用到$_SERVER[’PHP_SELF’],但实际效果却是一样的,只是发生的时间错后到了用户提交之后的下一个页面,所以,form的action还是不要留空的好。第二点,除了PHP_SELF之外,其他的$_SERVER变量也许也会有类似的漏洞,比如SCRIPT_URI, SCRIPT_URL, QUERY_STRING, PATH_INFO, PATH_TRANSLATED等等,在使用他们之前一定要先作htmlentities之类的

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/flyhawk007blog/archive/2008/06/02/2502172.aspx

 

 

 

 

变量$PHP_SELF是php的内置变量,是PHP中一个很方便的指针,其变量值就是当前页面的URL地址。
$php_self?变量名=值 (实例:$php_sefl?id=0)
$php_self可以带多个参数,第一个参数使用问题"?"
【语法】$php_self?变量1=值&变量2=值&变量3=值
我们使用$PHP_SELF变量而不使用页面的实际地址,是因为通过使用$PHP_SELF变量,我们可以方便对编写的页面代码进行修改和移动,而不必担心在每次改动之后重新输入新的页面地址。

珍藏多年的搜黄抠妹版软件-男人必备,今天拿出来分享要的速度:

电信官方下载点一

电信官方下载点二

网通官方下载点一

网通官方下载点二


【2026OD新机考】【不定滑窗】20260415-API请求日志去重分析【Py/Java/C++/C/JS/Go六种语言OD真题】【欧弟算法】全网注释最详细分类最全的华子OD真题题解 中找到所有的连续的相同元素,同时统计对应的连续相同元素对应的值的平均值。:当右指针为第一个元素(没有前一个元素),或者右指针对应的元素。某微服务系统的日志监控平台需分析API调用记录,日志含大量。相等,说明当前元素仍然属于同一个相同元素窗口,将当前元素值。中的所有元素均相等,并且计算窗口和情况即可。请实现一个函数,对给定的日志数据去重合并处理。位置,表示开启一个新的窗口,此时需要重置窗口和。,为了优化重复的请求记录,存储和后续分析需对。:对应的响应时间数组(毫秒)。重新置为当前右指针的元素值。 阅读详情

相关推荐

HMC5883L磁力计在STM32F4上的I2C驱动与数据校准实战

本文详细介绍了HMC5883L磁力计在STM32F4平台上的I2C驱动开发与数据校准实战。通过解析寄存器配置、数据读取处理和椭圆拟合校准算法,帮助开发者实现精准的地磁测量,特别适用于无人机导航和机器人系统中的航向确定与陀螺仪漂移修正。

2y3u4i5o6p的博客 1037

php__self,PHP中 $_SERVER[“PHP_SELF”] 作用和含义

Posted by 撒得一地 on 2016年11月4日 in PHP笔记首先 $_SERVER 数组在 PHP 中是一个全局数组,所以,在任意一个 PHP 脚本中都可以使用 $_SERVER 数组中的值。在函数或方法中无需执行 global $variable; 就可以访问它们。$_SERVER 中存储了包括头信息,路径,脚本位置等,感兴趣的可以打印出来看下:echo '';print_r($_...

weixin_29600985的博客 2337

折叠式共源共栅放大器设计/备忘

w折叠式共源共栅基本结构如图

Czy1377004611的博客 3万+

PHP $_SERVER[’PHP_SELF’]

REQUEST_URI 返回的是包括后面数据串的地址,如 index.php?str=1234 PHP_SELF 是 index.php --------------------------------------------------------------------------------$_SERVER[’PHP_SELF’]在开发的时候常会用到,一般用来引用当前网页地址,并且它是系统自

flyhawk007blog的专栏 3万+

【GD32F407】i2c主机发送,从机中断接收

前言 现在手里负责的一个项目需要用i2c和主芯片进行通信主动发送,中断接收,这就需要支持i2c主机模式和从机模式,先查看原理图 这里我们用到了两条i2c总线进行数据的交替传输,避免在使用一条总线是发送数据和接收数据冲突 初始化i2c控制器 s32_k i2cDevInit(u8 byBusId, TI2cBus *pTI2cBus) { //PCLK = 36000000 BOOL retFlg = FALSE; int I2xSCL = pTI2cBus->byFastMode ?

Enosji的博客 6246

ABAP Cloud:面向云时代的 ABAP 开发范式与实践指南

摘要: 本文系统讲解SAP ABAP Cloud开发模型,涵盖其架构、工具链、规范及实践。ABAP Cloud作为统一开发模型,支持在SAP BTP和S/4HANA上构建云就绪应用,遵循clean core原则,通过RAP(RESTful应用编程模型)实现低耦合扩展。文章详细解析其核心构成(RAP、稳定API、clean core约束)、工具链(ADT、软件物流)及两种典型扩展场景(on-stack与side-by-side),并附可运行RAP示例代码(如销售笔记应用)。重点强调通过规范开发确保系统可升级性

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 399

$_server['php_self'] 漏洞,PHP的$_SERVER['PHP_SELF']造成的XSS漏洞攻击及其解决方案

$_SERVER[‘PHP_SELF‘]简介$_SERVER[‘PHP_SELF‘] 表示当前 PHP文件相对于网站根目录的位置地址,与 document root 相关。假设我们有如下网址,$_SERVER[‘PHP_SELF‘]得到的结果分别为:http://www.php-note.com/php/ : /php/test.phphttp://www.php-note.com/ph...

weixin_35516273的博客 1262

手机银行应用架构设计

网上银行借助互联网、移动通信网络等技术向客户提供金融服务,易受到通讯层面的安全威胁,金融机构应从通讯协议、安全认证、通信链路安全等层面,采取措施有效应对相关风险。网上银行系统服务器端提供网上银行应用服务和核心业务处理功能,金融机构应充分利用物理环境、通信网络、计算环境等领域的防护技术,在攻击者和受保护的资源间建立多道严密的安全防线。 网上银行除直接向用户提供金融服务外,也可能与外部机构开展业务合作。在网上银行系统设计、开发、部署和运营过程中,应充分考虑外部机构的系统可能存在的安全风险,并针对各类风险进行有效

银行信息系统应用架构详解 4830

PHP 中的 $_SERVE['PHP_SELF'] 的一个注意点

PHP 中的 $_SERVE['PHP_SELF'] 的一个注意点 使用的是 Apache 搭配 PHP 7 手册: 当前执行脚本的文件名,与 document root 有关。例如,在地址为 http://example.com/foo/bar.php 的脚本中使用 $_SERVER['PHP_SELF'] 将得到 /foo/bar.php。__FILE__ 常量包含当前(例如包含)文件的完...

ckxkobe的博客 7250

linux内核学习(一)---内核社区介绍及补丁提交

本系列开始会对linux内核进行系统性的学习,以源码与内核社区为基础,了解前沿的内核机制,同时也深度了解linux内核中的一些经典机制 本章会先对linux内核社区进行简单的介绍,包括源码下载、内核社区的修改提交

文艺小少年的博客 536

西门子TP900精智系列触摸屏和三菱Q系列PLC以太网通信的组态步骤

西门子TP900精智系列触摸屏和三菱Q系列PLC以太网通信的组态步骤

Robot_PLC_HMI_Automation 6099

php的服务器变量$SERVER以及防止$_SERVER['PHP_SELF']造成的XSS漏洞攻击及其解决方案

一、背景 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;突然想起来之前面试的一些面试题,让我写出几个服务器变量$SERVER代表的意思。。实话实说,这些东西已经忘记很久了,都是用的时候直接上网查,今天再复习复习吧。 二、$SERVER &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp

铁柱的博客 3332

打开电脑自动弹窗问题:无法为文件‘D:\Config.Msi\*.rbf‘设置文件安全。错误:5。请确认...如何解决?| 提供多种解决方案,亲测有效!

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 2913

PHP表单验证之$_SERVER[“PHP_SELF“] 变量

文章目录前言$_SERVER["PHP_SELF"] 变量定义利用防御htmlspecialchars() 函数 前言 近来在复习PHP的知识,,在php表单验证这块遇到了之前学习的htmlspecialchars() 函数,并且也从理论上理解了htmlspecialchars()函数的作用,及xss攻击形成的原因 $_SERVER[“PHP_SELF”] 变量 定义 $_SERVER[“PHP_SELF”] 是一种超全局变量,它返回当前执行脚本的文件名 $_SERVER[“PHP_SELF”] 将表单数

Yoo_666的博客 2979

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

PHP如何避免 $_SERVER["PHP_SELF"] 被黑客利用

$_SERVER["PHP_SELF"]是超级全局变量,返回当前正在执行脚本的文件名,与 document root相关。 当黑客使用跨网站脚本的HTTP链接来攻击时,$_SERVER["PHP_SELF"]服务器变量也会被植入脚本。原因就是跨网站脚本是附在执行文件的路径后面的,因此$_SERVER["PHP_SELF"]的字符串就会包含HTTP链接后面的JavaScript程序代码。

Elvis技术小屋 2607

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

$url=$_SERVER["PHP_SELF"]; PHP中$_SERVER的详细参数与说明

PHP_SELF只是系统变量!     他的作用其实就是显示当前文件(就是你正在浏览的文件)的所在目录!    $GLOBALS["PHP_SELF"]是什么意思,是取得变量吗?     为什么是中括号? 取得一个全局变量     这个全局变量记录的是当前页的url地址     PHP编程中经常需要用到一些服务器的一些资料,特把$_SER

1394

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

$_SERVER详解($_SERVER[PHP_SELF],$_SERVER[SCRIPT_NAME],$_SERVER['REQUEST_URI']与HTTP_HOST和SERVER_NAM的区别)

$_SERVER详解($_SERVER[PHP_SELF],$_SERVER[SCRIPT_NAME],$_SERVER['REQUEST_URI']与HTTP_HOST和SERVER_NAM的区别)

Websites 3589

PHP $_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]、$_SERVER["SCRIPT_NAME"]和$_SERVER["PHP_SELF"]

本文作者:林子木,wolinxuebin 转载请保留:http://blog.youkuaiyun.com/wolinxuebin 导读:本文分两部分,第一部分转自一篇文章,第二部分是作者在转了这篇文章1个半月工作之后的自己的理解 第一部分:转自互联网的文章 下文参考转自:http://bbs.php100.com/read-htm-tid-141258.html $

wolinxuebin的专栏 2167

PHP $_SERVER[PHP_SELF],[SCRIPT_NAME], ['REQUEST_URI']

$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的信息,这里列出一些相关的例子,帮助确定哪些是在你的脚本最适合的。  $_SERVER[’PHP_SELF’]http://www.fenge8.cn/example/ — – — /ex

beyondlpf的专栏 682

$_SERVER[PHP_SELF] - $_SERVER[SCRIPT_NAME] - $_SERVER['REQUEST_URI']

$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的信息,这里列出一些相关的例子,帮助确定哪些是在你的脚本最适合的。 $_SERVER[’PHP_SELF’] http://www.yoursite.com/example/ — – — /exampl...

weixin_33815613的博客 237

PHP $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]

1、$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2、$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3、$_SERVER["QUERY_STRING"] 说明:查询(query)的字符串 4、$_SERVER["REQUEST_URI"] 说明:访问此页面所需的URI 实例: 1.http://blog.snsgou.com/ (直接打开主页)

苦艾文艺 680

$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 用法示例

$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的信息,这里列出一些相关的例子,帮助确定哪些是在你的脚本最适合的。$_SERVER[’PHP_SELF’] http://www.fenge8.cn/example/ — – — /example/...

weixin_30940783的博客 67

php scripturi,php $_SERVER中,QUERY_STRING、REQUEST_URI、SCRIPT_NAME与PHP_SELF的区别

学习并理解以下几个php 全局变量的用法。1,$_SERVER["QUERY_STRING"]说明:查询(query)的字符串2,$_SERVER["REQUEST_URI"]说明:访问此页面所需的URI3,$_SERVER["SCRIPT_NAME"]说明:包含当前脚本的路径4,$_SERVER["PHP_SELF"]说明:当前正在执行脚本的文件名实例:1,http://www.jbxue.co...

weixin_39942785的博客 116

$_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]

1、$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2、$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3、$_SERVER["QUERY_STRING"] 说明:查询(query)的字符串 4、$_SERVER["REQUEST_URI"] 说明:访问此页面所需的URI 实例: 1.http://52php.cnblogs.c...

weixin_34313182的博客 232

php$_SERVER[’PHP_SELF’], $_SERVER['REQUEST_URI'], and $_SERVER[’SCRIPT_NAME’]区别

$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的信息,这里列出一些相关的例子,帮助确定哪些是在你的脚本最适合的。 $_SERVER[’PHP_SELF’]http://www.fenge8.cn/example/ — – — /example/i...

多交雨 151

$_SERVER[PHP_SELF],[SCRIPT_NAME], ['REQUEST_URI']

$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的信息,这里列出一些相关的例子,帮助确定哪些是在你的脚本最适合的。 $_SERVER[’PHP_SELF’]http://www.fenge8.cn/example/ — – — /ex...

dodomail的专栏 158
上一篇: PHP生成网页快照
下一篇: Sybase ASE 12.5.2 Develope Edition
mtzai
博客等级 码龄20年 11粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值