PHP - 防止非法调用页面
这是在服务器内部:
- 首先定义一个常量
- 在调用页面的时候,检测是否存在此常量
- 如果存在,则调用
- 否则,做出提示。
创建常量:
- 创建常量的函数名称: define
//创建一个常量,以便于页面调用,从主页面分类出去的页面。
define('IN_TG', true);
判断是否存在此常量:
- 判断常量是否存在的函数名称: defined
//判断页面是否为非法调用
if (!defined('IN_TG')) {
//不是正常调用,跳转到404页面
header('Location:'.'../error/404.html');
}
使用:
- 再想要通过地址调用的页面,定义常量
- 在不想被通过地址调用的页面,不定义常量,且检测是否存在此常量。
在页面上,如果是通过url直接访问的:
- 判断是否有上一个URL存在,如果存在,表示从页面点击而来 否则就是直接键入地址
//判断是否有上一个url
if(!isset($_SERVER['HTTP_REFERER'])){//判断是否有上一个URL存在,如果存在,表示从页面点击而来 否则就是直接键入地址
header('HTTP/1.1 404 Not Found');
echo '404 NOT Found';
exit;
}
PHP - 防止非法调用页面的更多相关文章
- js调用页面打印
----------------------调用页面打印-------------------------------- <body> <div id="divPrint& ...
- jquery调用页面的方法
本文转载:http://www.cnblogs.com/chenxizhang/archive/2009/05/28/1491250.html 有些朋友问到,能不能在jquery代码中调用后台cs页面 ...
- php中禁止非法调用和硬路径引入文件的方法
php中禁止非法调用和硬路径引入文件的方法 在php中有一些公共的文件为了方便,我们会做一个公共文件,让不用的文件共同调用.为了禁止公共文件被非常单独调用,可以在文件上做一个常量,禁止非常调用:在公共 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 增强服务安全、阻止非授权的用户非法调用
多一道防线,多一些安全保障,当程序发布到互联网上,再有成千上万的用户在用,总会有各种牛人出现,万一遇到破坏分子,那会有灾难性的打击. 只要跟利益有关系的,跟资金有关系,跟财务有关系,有竞争对手,软件系 ...
- 微信小程序 - 组件传值给调用页面
演示如下(可以ctrl+鼠标放大或者下载GIF图片) 1. 先组件定义事件“checkbox”(组件内事件) 2. 调用页面调用它需要加bind:事件名 = 调用页面事件名(bind即绑定调用组件“o ...
- HtmlUnit爬取Ajax动态生成的网页以及自动调用页面javascript函数
HtmlUnit官网的介绍: HtmlUnit是一款基于Java的没有图形界面的浏览器程序.它模仿HTML document并且提供API让开发人员像是在一个正常的浏览器上操作一样,获取网页内容,填充 ...
- IE,Google Chrome等浏览器,调试模式在控制台可以手动调用页面的方法来调试
IE,Google Chrome等浏览器,调试模式在控制台可以手动调用页面的方法来调试,这种方式也可以进断点.
- aria2使用ajax调用/页面浏览器RPC调用aria2
@ 目录 1. aria2使用ajax调用/页面浏览器RPC调用aria2 1.1. 总结: 1.2. ajax调用aria2-Demo 1.3. postMan命令测试 1.3.1. post基本使 ...
- jQuery AJAX实现调用页面后台方法
1.新建demo.aspx页面.2.首先在该页面的后台文件demos.aspx.cs中添加引用. using System.Web.Services; 3.无参数的方法调用. 大家注意了,这个版本不能 ...
随机推荐
- atexit模块解析
atexit模块很简单,只定义了一个register函数用于注册程序退出时的回调函数,我们可以在回调函数中做一些资源清理的操作. 注意回调函数只有正常退出的时候才会调用,如果程序是被信号杀死或者因为严 ...
- jquery自定义分页插件
//每次只显示5个页码(function ($) { //设定页码方法,初始化 $.fn.setPager = function (options) { var opts = $.extend({}, ...
- JUnit4的使用2
package com.imooc.test.aware; import org.junit.Test; import org.junit.runner.RunWith; import org.jun ...
- 深入浅出—JAVA(7)
7.继承与多态 遵守合约:覆盖的规则 方法的重载
- Qt中addStretch的有趣应用
今天在使用addStretch,布局的时候,发现addStretch竟然是可以平均分配的,有意思.比如: QVBoxLayout *buttonLayout = new QVBoxLayout; bu ...
- c++ 实现将数字转换为中文数字输出
实现如下函数: void printInChinese(int num); 这个函数输入一个小于100000000(一亿)的正整数,并在屏幕上打印这个数字的中文写法. 例如: 17 -> 一十七 ...
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(二)
在了解地图的初始化和加载之前,我们先了解下mario的地图. 用tiled工具打开mario地图 从地图中可以看到,mario的地图有很多层构成: objects层:怪物,会动的怪物 coin层:金币 ...
- 基于visual Studio2013解决C语言竞赛题之0205位数求和
题目
- Java学习之IO之File类一
File的操作 package com.gh.file; import java.io.File; import java.io.IOException; /** * File操作 * @author ...
- paip.tree 生成目录树到txt后的折叠查看
paip.tree 生成目录树到txt后的折叠查看 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.ne ...