`
- 浏览:
15360 次
- 性别:
- 来自:
北京
-
表单数据验证
在数据被输入程序前必须对数据合法性的检验。非法输入问题是最常见的Web应用程序安全漏洞。
需要做到:对任何输入内容进行检查。接受所有可以接受的内容,拒绝所有不能接受的内容。
所有提交的表单数据,都必须验证两次,即提交前在客户端用Javascript验证,提交后在服务器端用脚本再次验证,保证数据的合法性。尤其是对于必填项,不仅需要同时在客户端和服务端验证是否做了输入,还要验证输入的数据格式是否正确。
需要注意:在客户端上的Javascript验证并不是真正意义上的检查。比如恶意用户很容易在自己的终端上禁用脚本执行,从而防止客户端的内容检查脚本运行,使得他可以输入恶意代码并成功地提交表单。
对于图像上传功能,需要验证上传图像的格式及大小是否合乎要求。
防范SQL语句注入攻击
程序需要对所有从外部接收到的数据进行过滤,防止恶意攻击。主要防范的字符有“'|script|exec|insert|select|delete|update|count|chr|mid|master|truncate|declare”。
使用积极的过滤而不是消极的过滤。 换句话说,就是检查应该输入什么,而不是检查不应该输入什么。只规定哪些内容不应该输入,会留下太多的漏洞。因为有很多内容都不应该被输入。积极的过滤方式应该包括:
• 是否为空(需要去掉空格后判断)
• 是否是正确的数据类型 (字符串,整数等)
• 是否要求带有参数
• 字符编码是否允许
• 输入内容是否达到了内容长度的最大或者最小界限
• 是否允许输入空值
• 如果应该输入数字,那么确定数字大小的范围。
• 输入内容是否造成了数据重复,如果是,判断这种情况是否可以接受。
• 输入内容是否符合格式要求(比如是否采用正则表达式)
• 如果是通过下拉列表选取的内容,确保其包含了有效的值
地址栏变量需要进行验证
对于从地址栏上接收到的变量,必须要验证其合法性。例如,如果从地址栏上收到了文章ID值,则需要验证ID是否为数字,是否有攻击字符等。
跨站攻击的预防
在验证提交的数据时,为防止跨站攻击 ,可以检查上一个页面是否为本站,另外,过滤<iframe>、<javascript>、<alert>,重点把“<”替换为“<”,把 “>”替换为“>”
目录和文件夹的安全
用户只能访问网站目录下的内容,确保用户不能访问网站目录以外的目录。
程序中涉及文件包含的地方,要确认所有包含的文件的位置正确。为了防止非法包含文件,应特别小心“./”或“../”的使用。
后台所有程序页面需要做授权验证
如果未经过成功登录,不允许访问任何一个后台程序页面。如果用Session验证,Session有效期不可以太长,建议为15分钟。
成功登陆后的用户,需要验证是否有某个操作的权限。
关键信息需要加密
对于密码、会话令牌等关键信息,需要进行加密后再保存到数据库,不允许用明文方式。一般采用MD5加密方式。
配置文件安全
程序中的配置文件(重点是数据库连接配置)需要重点进行安全保护,配置文件不能允许用户直接访问,配置文件的文件扩展名不能为.inc、.txt,必须为可执行脚本扩展名,如.asp、.php、.jsp、.aspx…
数据库安全
数据库文件需要重点安全保护,对于使用access数据库的程序,不可以允许数据库直接可以通过浏览器下载,数据库文件的路径和文件名称需要不易猜测到,数据库文件的扩展名不能为.mdb。可以设置服务器来禁止此类型的文件下载。
使用“最低权限”限制数据库用户的权限。如果使用SQL SERVER或MySQL数据库,可以考虑只给浏览用户以读权限,后台用户以读、写及删权限。
资源的释放
程序中的使用了关键资源后,必须进行显式释放和关闭,尤其是数据库连接、文件句柄等资源。
防止过分详细的错误提示。
攻击者经常会故意输入错误的内容,进而分析系统给出的错误提示信息,从中获取系统信息,发现可能存在的漏洞。
对于使用Access数据库的用户来说,过于详细的错误提示可能会暴露出数据库文件的路径。
友好的操作反馈提示
对于流程性的操作,需要给用户的操作以友好性反馈提示,让用户了解自己的操作是否有问题,问题在什么地方。
例如,会员注册表单,如果用户提交时,忘记填写某些项,可以在该项后以醒目的颜色来提示,提示的显示最好以AJAX技术实现无刷新效果,提高用户体验。
后台的程序对于一些操作,如删除、审核,必须让用户确认一下才可以执行。
不管用户操作成功或失败,都需要给与提示信息。
验证码的使用
对于用户注册、用户登陆、调查问卷、在线反馈、评论等程序,需要加上验证码,防止机器人绕过限制提交垃圾信息。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这份中文手册详细地介绍了ZT411和ZT421的操作、维护以及常见问题的解决方法,对于用户来说是一份非常重要的参考资料。 一、打印机概述 ZT411和ZT421是斑马技术公司推出的一系列高级热转印桌面打印机,具备高速打印...
"斑马打印机ZT210用户指南" 本用户指南旨在为Zebra ZT210/ZT220/ZT230打印机的用户提供操作和维护指南,该设备是一种工业级的条码打印机,具有高速打印、高速处理和高质量打印输出等特点。 版权信息 本手册的版权...
总之,【基于Web的京东项目】是一个涵盖Android客户端开发、Web服务交互、数据管理、安全策略、性能优化等多个方面知识的综合性工程。通过这样的项目,开发者可以提升跨平台开发能力,掌握完整的移动电商应用开发...
综上所述,"斑马zt410中文库"对于在中国或其他使用汉字的地区使用ZT410打印机是至关重要的,它确保了中文信息的准确无误打印,提升了工作效率和用户体验。正确安装和使用这个中文库,能充分发挥斑马ZT410打印机的...
1. **版权及法律声明**:Zebra ZT400系列打印机技术手册的版权及相关软件固件的所有权归属ZIH Corp.及其许可证持有者,未经授权复制会受到法律制裁。 2. **商标说明**:Zebra、Zebra头部图案、Link-OS、ZPL、ZPLII等...
"项目管理工具——ZT",在这里指的是禅道(ZentaoPMS),这是一款专为中国企业打造的开源项目管理软件,旨在提升团队协作效率,规范项目流程,实现产品开发的精细化管理。 禅道的核心功能涵盖了需求管理、任务管理...
本驱动程序专为Zebra的ZT210、ZT220及ZT230系列打印机设计,提供了全面的功能支持,以实现高质量的条形码、二维码以及其他标签打印。 1. **驱动程序安装** - `zd51166465-certified.exe` 是Zebra ZT230系列打印机...
《ZT213/ZT213LEEA:低功耗RS232多通道USB收发器/驱动器芯片详解》 ZT213/ZT213LEEA是一款专为低功耗应用设计的RS232多通道USB收发器和驱动器芯片,广泛应用于数据通信、工业控制、物联网设备等领域。本文将深入...
通过深入学习这份手册,不仅可以理解ZT598密码键盘的工作原理,还能有效地编写出与之交互的程序,实现安全、高效的数据交换。在实际应用中,根据具体需求,可能还需要结合硬件手册和软件开发工具包(SDK)来完成整个...
证通ZT598是一款专门用于金融、安防等领域,具备高安全性和可靠性的金属键盘设备。这款设备的开发资料包含在"证通ZT598金属键盘开发资料.rar"压缩包中,主要适用于那些进行嵌入式系统开发的工程师。在深入探讨其开发...
例如,如果程序需要验证用户输入的密码,它可能会判断输入的字符长度、是否包含特殊字符、数字和字母的组合等,以确保密码的安全性。 在实际应用中,这样的判断可能涉及多种复杂逻辑。比如,如果"zt.h"包含了一个...
ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机
斑马打印机ZT210是一款专业的工业级条形码和标签打印机,广泛应用于物流、零售、医疗等行业的标签制作。以下是对如何设置和使用斑马ZT210打印机的详细步骤: 首先,我们需要安装电脑驱动。双击下载好的驱动程序文件...
RS485通信芯片ZT13085E是一种常用的工业级串行通信接口芯片,主要用于构建远程、多节点的通信网络。在工业自动化、楼宇自动化、物联网设备等领域有广泛应用。ZT13085E的设计目标是提供一种高效、可靠的数据传输方式...
《WTM2101 ZT1 开发板用户使用手册》是针对WITMEM公司推出的WTM2101 AI SOC芯片设计的一款评估板,主要用于开发者进行功能测试和方案开发。该手册详细介绍了WTMDK2101-ZT1开发板的各个组成部分和使用方法,帮助用户...
ZT7548是一款第五代电容式触控屏幕控制器,支持30x18或18x30的通道配置,可以同时检测最多10个触点。该控制器能够与最多8个键与TSP(触控屏面板)或FPC(柔性印刷电路板)模式一起工作,在多点触控时无扫描率下降的...
总的来说,Web_拼车网项目涵盖了Web开发中的多个关键知识点,包括ASP.NET框架的运用、用户认证、数据库操作、前端交互以及安全措施。对于初学者而言,这是一个很好的实践项目,能够提升综合的Web开发技能。
斑马ZT510打印机驱动文件