【php】使用重定向,伪装表单处理页面不存在

php的重定向,很简单,除去直接打印出重定向的JavaScript代码以外,

使用原生态的php重定向是这样的:

<?php
header("location: url");
exit;
?>

一读到这条语句则会马上跳转到指定的重定向url。

当然,PHP,首先要清楚,header()函数必须放在php程序的开头部分,而且之前不能有另外的header()函数或者 setcookie() 被调用,如果是带有网页输出,本语句必须放在 <HEAD></HEAD>标记之前,当然,一般我们重定向的时候也无须顾及这一点,因为用到重定向基本上就不读下面的内容了。

使用重定向可以伪装表单处理页面不存在。使得黑客不会这么容易发现我们的表单处理页面。因为表单处理页面一般涉及到数据库操作。不可以让别人输入网址就访问。

比如如下页面redict.php,在实际中是存在的,但你不输入正确的参数a,或者不正确提交表单打开此页,则给你一个404,让你以为这页根本不存在。一般没有人这么容易,猜得出这一页处理的参数是a的。所以起到了保护表单处理页的效果。

这段保护代码非常简单思想仅仅是:判断是否有这个要处理的参数,如果没有这个参数,则重定向到一个本目录内根本就不存的页面:

<?php
if(empty($_REQUEST["a"])){
	header("location: error.php");
	exit;
}
else{
	//这里仅仅是为了设置正常的编码输出“呵呵”而已!。
	header("Content-type: text/html; charset=utf-8");
	echo "呵呵";
}
?>
时间: 2024-12-25 01:26:56

【php】使用重定向,伪装表单处理页面不存在的相关文章

表单多页面提交(查询及下载)

看UI <form action="" name=""> <input type="submit" value="查询" /> <input type="button" id="down" value="下载" /> </form> js: $("#down").click(function () {

Form提交表单后页面刷新不跳转的实现

<form action="" id="" method="post" target="nm_iframe"> <input type="text" id="input_text" name="input_text"/> <input type="submit" id="sobmit" name=&

利用iframe实现提交表单是页面部分刷新

直接上代码: 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":&quo

设计一个含有一个表单的页面,并且在表单上放入一个文本框。编写程序,当鼠标在页面上移动时,鼠标的坐标将显示在这个文本框中。

<form id="form1"> <P><INPUT type="text" name="txtMousePosition" size="20"></P></form> <script type="text/javascript">document.onmousemove =function() { //当鼠标移动式获取当前x,y坐标

Konckout开发实例:简单的表单提交页面

<!doctype html> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> KNOCKOUT LESSON 4 </title> <link rel="stylesheet" type="text/css" hre

form表单提交页面不发生跳转

<form id="registSubmit" enctype="multipart/form-data" action="/dataTable/uploading" method="post" target="form_iframe" onclick="saveReport()"> 上传文件:<input type="file" id="

避免表单重复提交与等待页面

一.为什么会出现表单重复提交    1.当用户在表单中填写完信息,点击提交按钮后,肯能会因为没有看到成功信息而在此点击提交按钮,从而导致在服务器端收到两条同样的信息,如果这个信息要保存到数据库中的,那么就会出现两条重复的数据,或者可能出现数据库操作异常. 2.当用户填写表单信息完成后,点击表单提交,即使响应及时,也有可能会出现表单重复提交的情况.一般服务器端的程序在处理完用户提交的信息后,调用的是Request.Dispatcher.forward()方法将用户的请求导向成功页面,用户看到成功信

json的转换,servlet向页面写入表单或者JavaScript函数

本文主要讲述,在项目操作的时候,通过servlet或者Struts2或者springmvc向前台页面传入json数据或者传递HTML表单以及html的一些元素. 代码如下: 1.这是在Struts2的框架下的传递方法直接传向页面: public String login() throws Exception {        Admin loginuser=userservice.loginUser(username,password);        response.setContentTy

yii2 表单提交一直报错 或者页面脚本写ajax,用firbug调试总是找不到地址页面404

在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证,使用Yii表单生成页面的时候,如果表单的提交方式为POST,是都会在页面中添加一个隐藏字段: <div style="display:none">     <input type="hidden" value="a429b6c0f4468db23a5661d1682db537fe2672c7" name="YII_CSRF_TOKEN" />