应用技巧:动态网页中直接不让访问PHP程序文件

由于我们有需要用到某些php文件,而又不希望别人直接访问这个文件,我们可以在其他包含文件比如global.php中定义一个参数,在被访问页面data.php前面判断是否定义了该参数,没有定义则禁止访问

在global.php中定义

<?php
define('ROOT','./');
?>

在data.php文件中判断:

<?
//data.php
if (!defined("ROOT")) {
 echo "You Cannot Access This Script Directly, Have a Nice Day.";
 exit();
}
?>

这样的代码可以解决很多的安全问题,比如变量未定义[应该说在本文件内未定义]。

但是这样的在本地包含漏洞前就没什么意义了。比如进来看一代码

common.php文件里:

<?php
if ( !defined('ROOT') )
{
 die('Do not access this file directly.');
}
if ( !isset($root_path) )
{
 $root_path = './';
}
require_once($root_path . 'config.php');
?>

如果没有!defined('X') 的限制,那么这里$root_path未定义导致了一个远程包含。

而在改脚本又存在一个update-->include的2次攻击导致的本地包含,那么我们可以通过这个本地包含漏洞包含common.php导致突破!defined('X'),转化为远程包含。

时间: 2024-11-19 00:00:43

应用技巧:动态网页中直接不让访问PHP程序文件的相关文章

动态网页中直接不让访问PHP程序文件

由于我们有需要用到某些php文件,而又不希望别人直接访问这个文件,我们可以在其他包含文件比如global.php中定义一个参数,在被访问页面data.php前面判断是否定义了该参数,没有定义则禁止访问. 在global.php中定义 以下为引用的内容: <?phpdefine('ROOT','./');?>在data.php文件中判断: <?//data.phpif (!defined("ROOT")) { echo "You Cannot Access T

ASP实例:动态网页中常用的6个ASP程序

程序|动态|网页  1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型. <form><Input Name="ImageMap" Type="Image" Src="http://www.webjx.com/htmldata/2007-06-14/ImageMap.jpg" Alt="Click Anywhere"></for

动态网页中常用的6个ASP程序

 1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型. <form><Input Name="ImageMap" Type="Image" Src="http://edu.cnzz.cn/NewsInfo/ImageMap.jpg" Alt="Click Anywhere"></form> <%ImageMap.x

服务器-如何把h5网页中的内容生成xml格式的文件?

问题描述 如何把h5网页中的内容生成xml格式的文件? h5网页中有四个输入框,分别是用户名,旧密码,新密码,确认新密码,和一个提交按钮,现在想通过点击提交按钮,把输入框的内容生成一个xml文件,然后上传到服务器中.这个xml文件怎么生成,谢谢! 解决方案 网页中显示xml,直接显示xml格式的文件网页(html)中直接显示xml原始文件,直接显示xml格式的文件 解决方案二: 自己组合成xml字符串,然后复制给表单的隐藏控件就行了

正确处理ASP动态网页中的容错机制

动态|容错|网页 以国内最流行ASP为例,我不知道有多少人会在写代码时想到"容错"这个概念,实际上当我遇到这种事时,也是不了了之.为什么呢,想想最初的意思是认为写如下代码就能容错了,见示例1-1.<%@ Language=VBScript %><%option explicit%><%'出错过滤on error resume next-----(代码略)%>示例1-1 常见代码一瞥 以上代码就经常出现在各位同仁的手中,不用说出个中原因,我完成能理解各

ASP动态网站中常用的四个实例程序

程序|动态 一.让网站和用户实现交互       你可以制作一个像SendUserInfo.htm似的网页,只用把<form method="POST" action="--WEBBOT-SELF--">改成<form method="POST" action="UserInfo.asp">就可以把你所提交的数据传送给UserInfo.asp处理.     UserInfo.Asp的源代码 Reques

在IE浏览器将网页中的附件保存至本地时文件名字变为乱码

  步骤一:使用Internet Explorer(以下简称"IE")打开邮件后,按Alt点击工具--兼容性视图设置,将该网页添加后查看;如果依旧,请尝试步骤二. 步骤二:打开Internet选项--高级,去除"以UTF-8形式发送URL路径". 步骤三:打开邮件后按Alt点击查看--编码,确认是否为"Unicode(UTF-8)";如果文件为其他编码的话可以在此进行设置.注:截图以Bing主页为例.

网页中怎样做到点击一个PDF文件的链接后直接打开,不要提示下载呢?

问题描述 看了好多网页,都还没有真正实现的,各位兄弟帮帮忙 解决方案 解决方案二:这个取决你的本地客户端是否有装areader,而且你的浏览器允许使用其对应的ACTIVE控件.解决方案三:该回复于2012-04-19 15:51:25被版主删除

把网页中的电话号码生成图片的ASP程序

以下是引用片段: <% Call Com_CreatValidCode(Request.QueryString("tel")) Public Sub Com_CreatValidCode(pTel) '----------禁止缓存 Response.Expires = 0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-ctrol",&qu