开发网站需要注意的安全问题

原文地址:http://kk-kingboy.blog.163.com/blog/static/55354561200911313145623/

由于网站被黑的情况较多,以下总结网站应用方面需要注意的安全问题:

表单数据验证
在数据被输入程序前必须对数据合法性的检验。非法输入问题是最常见的Web应用程序安全漏洞。
需要做到:对任何输入内容进行检查。接受所有可以接受的内容,拒绝所有不能接受的内容。
所有提交的表单数据,都必须验证两次,即提交前在客户端用Javascript验证,提交后在服务器端用脚本再次验证,保证数据的合法性。尤其是对于必填项,不仅需要同时在客户端和服务端验证是否做了输入,还要验证输入的数据格式是否正确。需要注意:在客户端上的Javascript验证并不是真正意义上的检查。比如恶意用户很容易在自己的终端上禁用脚本执行,从而防止客户端的内容检查脚本运行,使得他可以输入恶意代码并成功地提交表单。对于图像上传功能,需要验证上传图像的格式及大小是否合乎要求。

防范SQL语句注入攻击
程序需要对所有从外部接收到的数据进行过滤,防止恶意攻击。主要防范的字符有“‘|script|exec|insert|select|delete|update|count|chr|mid|master|truncate|declare”。
使用积极的过滤而不是消极的过滤。 换句话说,就是检查应该输入什么,而不是检查不应该输入什么。

只规定哪些内容不应该输入,会留下太多的漏洞。因为有很多内容都不应该被输入。积极的过滤方式应该包括:
? 是否为空(需要去掉空格后判断)
? 是否是正确的数据类型 (字符串,整数等) 
? 是否要求带有参数
? 字符编码是否允许 
? 输入内容是否达到了内容长度的最大或者最小界限 
? 是否允许输入空值 
? 如果应该输入数字,那么确定数字大小的范围。 
? 输入内容是否造成了数据重复,如果是,判断这种情况是否可以接受。 
? 输入内容是否符合格式要求(比如是否采用正则表达式) 
? 如果是通过下拉列表选取的内容,确保其包含了有效的值

地址栏变量需要进行验证
对于从地址栏上接收到的变量,必须要验证其合法性。例如,如果从地址栏上收到了文章ID值,则需要验证ID是否为数字,是否有攻击字符等。

跨站攻击的预防
在验证提交的数据时,为防止跨站攻击 ,可以检查上一个页面是否为本站,另外,过滤<iframe>、<javascript>、<alert>,重点把“<”替换为“&lt;”,把 “>”替换为“&gt;”

目录和文件夹的安全
用户只能访问网站目录下的内容,确保用户不能访问网站目录以外的目录。
程序中涉及文件包含的地方,要确认所有包含的文件的位置正确。为了防止非法包含文件,应特别小心“./”或“../”的使用。

后台所有程序页面需要做授权验证
如果未经过成功登录,不允许访问任何一个后台程序页面。如果用Session验证,Session有效期不可以太长,建议为15分钟。
成功登陆后的用户,需要验证是否有某个操作的权限。

关键信息需要加密
对于密码、会话令牌等关键信息,需要进行加密后再保存到数据库,不允许用明文方式。一般采用MD5加密方式。

配置文件安全
程序中的配置文件(重点是数据库连接配置)需要重点进行安全保护,配置文件不能允许用户直接访问,配置文件的文件扩展名不能为.inc、.txt,必须为可执行脚本扩展名,如.asp、.php、.jsp、.aspx…

数据库安全
数据库文件需要重点安全保护,对于使用access数据库的程序,不可以允许数据库直接可以通过浏览器下载,数据库文件的路径和文件名称需要不易猜测到,数据库文件的扩展名不能为.mdb。可以设置服务器来禁止此类型的文件下载。
使用“最低权限”限制数据库用户的权限。如果使用SQL SERVER或MySQL数据库,可以考虑只给浏览用户以读权限,后台用户以读、写及删权限。

资源的释放
程序中的使用了关键资源后,必须进行显式释放和关闭,尤其是数据库连接、文件句柄等资源。

防止过分详细的错误提示
攻击者经常会故意输入错误的内容,进而分析系统给出的错误提示信息,从中获取系统信息,发现可能存在的漏洞。对于使用Access数据库的用户来说,过于详细的错误提示可能会暴露出数据库文件的路径。

友好的操作反馈提示
对于流程性的操作,需要给用户的操作以友好性反馈提示,让用户了解自己的操作是否有问题,问题在什么地方。例如,会员注册表单,如果用户提交时,忘记填写某些项,可以在该项后以醒目的颜色来提示,提示的显示最好以AJAX技术实现无刷新效果,提高用户体验。后台的程序对于一些操作,如删除、审核,必须让用户确认一下才可以执行。不管用户操作成功或失败,都需要给与提示信息。

验证码的使用
对于用户注册、用户登陆、调查问卷、在线反馈、评论等程序,需要加上验证码,防止机器人绕过限制提交垃圾信息。

时间: 2024-10-05 21:20:39

开发网站需要注意的安全问题的相关文章

用 Umbraco 开发网站[2]:使用 Umbraco创建一个基本站点(上)

经过前面的准备,我们已经充分具备了开发一个 Umbraco 站点的条件,Let's go on~~~ Umbraco 官网提供了一个学习的静态模板资源包,蛮多前往的人还真不容易找到,地址在下面: https://github.com/verekia/initializr-template/archive/master.zip 一.创建第一个[Document Type](文档类型) 1.制作任何站点的第1步都是创建一个“文档类型”.文档类型是数据的容器,在这里您可以添加编辑数据字段/属性,用户可

思考:用开发移动app的观念来开发网站

首先祝大家新年快乐.万事如意. 开发网站程序也有一些年头了,从最初的静态HTML+ JS,到后来的WebForm,然后过渡到现在的MVC. 由于最近做一些技术调研,也接触了很多移动开发,iOS和Android的东西也知道点,会做一些简单的app. 做移动app做多了,再回头看网站开发,我开始怀疑,我们到底需不需要ASP.NET MVC这样的框架? 网站的本质就是 HTML + CSS +JS + HTTP(TCP/IP)协议 + 可以响应HTTP协议的服务器. 移动app的本质是 移动UI +

用 Umbraco 开发网站[1]:下载安装与初探

一.Umbraco 下载方式 学习如何使用软件,首先要从有软件开始.Umbraco 的下载方式有四种: 1.直接下载(包括下载发行包.源代码):前往官网(https://our.umbraco.org/contribute/releases/)或者 github(https://github.com/umbraco/Umbraco-CMS) 下载发行包或者源代码: 2.NuGet下载:使用 VS 自带的 NuGet 插件,搜索合适版本的 UmbracoCms(https://www.nuget.

2016年1月25日 《1024伐木累》-小白篇之开发网站,三天!(中篇-2奇怪的IE)-总章节十一

往期回顾:  老王的“先见之明”,解决了困扰耗仔三人的大难题.顺利安装完开发工具,大家投入紧张的工作.航空部领导的突然闯入,IE不兼容,页面错乱,摆在三人面前的形势依然严峻.第一次见这阵仗的耗仔,又会怎么办? 2016-02-01<1024伐木累>-小白篇之开发网站,三天!(中篇-2奇怪的IE) # region 总章节11 IE出了问题,来不及找原因,屋内就涌进一堆领导,你一言我一语,围着三人叽叽喳喳说个不停. 此时的耗仔头都大了,这到底是要干啥,刚开始没几个小时,再这么折腾下去,还怎么工作

自己开发网站全文检索系统

本文是我写的一篇数据库相关的作业Report,在这里贴出来 1. 概述 1.1. 问题提出 假如你拥有一个庞大的网站,内容又多,那么来访者往往很难找到自己所需要的东东,这时候你就需要一个站内搜索来帮助来访者更快的找到索要的资料了! 1.2. 解决的办法 搭建自己的全文检索系统.1.2.1. 什么是全文检索全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法.全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统.目前最大的搜索引擎Google和Baidu使用的就是全文检索

jsp+mysql开发网站留言板源代码下载

原文:jsp+mysql开发网站留言板源代码下载 源代码下载地址:http://www.zuidaima.com/share/1550463448304640.htm jsp+mysql开发网站留言板源代码下载

《1024伐木累》-小白篇之开发网站,三天!(结束篇)-总章节十三

往期回顾:  忙到深夜,终于可以休息,三人打闹了一会,就各自去洗漱.刚洗完澡心情有些压抑的耗仔开始向光大人请教研发人员的“升级”之路,光大人耐心给耗仔上了一课.睡眼朦胧中吴博士来敲门,新的一天又要开始了., 2016-02-22<1024伐木累>-小白篇之开发网站,三天!(结束篇) # region 总章节13 吴博士带的早餐太丰富了,耗仔吃的有点多,一路打着饱嗝就到了航空部.大门口,闫参谋来回踱着方步,焦急的等待着.一看到几人,赶忙迎了上去,“你们终于来了,快上去吧!” 没有寒暄,一行人直奔

《1024伐木累》-小白篇之开发网站,三天!(前篇)-总章节八

往期回顾: 空军k所,老王留下迷惘的耗仔独自与吴博士沟通需求,回到公司,老王又指定耗仔为新项目负责人,在退居"二线"月侠的热心帮助下,耗仔重新调整工作计划,新来的明儿也即将加入,一切似乎都在顺风顺水的发展着,下班时,一通电话打破了平静局面,光大人,月侠,耗仔要火速赶往空军某部,三天时间开发航空某部网站.   小序 人生! 若白驹过隙,匆匆而已, 光阴似锦,无法倒流, 青春宝贵,奋斗无休, 北漂! 有激情,有迷茫,有机遇,有挑战, 不拼搏又何必留恋? 年轻,真好! 引子 “走,走,快!吴

该不该用bootstrap来开发 网站?

一直想做一个自己的网站,文章类型的网站.一心想用bootstrap来制作. 不过筹划了将近半年,工作一直都很忙,每天加班到七八点,还是没有开始制作. 因为不会图片不会美工,所以,每次都是开始动手就感觉挤牙膏,做模板非常吃力.即使做出来了,网站根本就不像一个网站! 非IT行业人来说就是太丑了,一张图片都没有,根本就不像一个网站 国人的审美习惯跟bootstrap冲突 国内的大部分网站基本上没有一个是用bootstrap来制作的.而且bootstrap制作出来的网站界面都非常简洁,完全不符合国人的审