ASP是一种编程语言吗?
ASP不是编程语言,而是一种开发环境。 ASP提供了一个在服务器端执行指令的环境,它利用了特殊的符号来区分HTML与必须经过服务器翻译才能送往客户端的命令。它可以执行的指令包括HTML 语言,Microsoft VBScript和Microsoft Jscript等,因此可以制作出功能强大的Web应用程序。
什么是ASP.NET?它与ASP有什么关系?
Active Server Pages(ASP,活动服务器页面)就是一个比较简单编程环境,在其中,可以混合使用HTML、脚本语言以及少量组件来创建服务器端的Internet应用程序。
ASP.NET 是微软力推的功能强大的编程环境,可以使用C#等多种高级语言及脚本语言、HTML、XML、XSL等来创建基于网络的应用程序。ASP.NET将C#作为一种面向对象语言,在很多方面来看,C#将成为微软的与Java相似的语言。C#是ASP.NET开发中一个最重要的功能,微软会将C#发展成为 Java的强劲对手。这也是微软.Net框架的一个重要组成部分。我认为C#是微软在编程语言领域击败对手的主要工具。
ASP.NET在面向对象性、数据库连接、大型站点应用等方面都优于ASP程序,ASP.NET还提供更多的其他方面的新特性,例如:内置的对象缓存和页面结果缓存;内置的XML支持,可用于XML数据集的简单处理;服务器控制提供了更充分的交互式制等。
ASP.NET依然完全锁定在微软的操作系统中,要真正发挥ASP.NET潜力,你要使用C#或vb.net。这两种语言将成为ASP.NET标准的核心的脚本语言。
如何使用6个内置ASP对象?
ASP 提供了多个内嵌对象,无须建立就可以在指令中直接访问和使用它们,这六个对象主要有:请求(Request)对象、响应(Response)对象、工作阶段(Session)对象、应用程序(Application)对象、服务器(Server)对象、Cookies对象,这六个对象中的服务器 (Server)对象可加载其他组件,这可以扩展ASP的功能。
使用Server.CreateObject所建立的对象,它的生命周期在它建立时开始,在它所在的网页程序结束时结束。如果想要让该对象跨网页使用,则可以用Session对象来记录Server.CreateObject所建立的对象。
数据库连接文件的安全需要注意什么?
数据库连接文件必须以.asp为后缀,文件名最好为conn.asp。
涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接用户名与口令应给予最小的权限。
出现次数多得用户名与口令可以写在一个位置比较隐蔽的包含文件中。如果涉及到与数据库连接,理想状态下只给它以执行存储过程的权限,千万不要直接给予该用户以修改、插入、删除记录的权限。
如何在脚本编程中防止SQL注入漏洞?
提交表单时过滤用户输入的非法字符信息,防止SQL注入漏洞。在处理输入框的ASP程序中,最好屏蔽掉HTML、JavaScript、VBScript 语句,如无特殊要求,可以限定只允许输入字母与数字,屏蔽掉特殊字符。同时对输入字符的长度进行限制。而且不但在客户端进行输入合法性检查,同时要在服务器端程序中进行类似检查。
输入框是黑客利用的一个目标,他们可以通过输入脚本语言等对用户客户端造成损坏;如果该输入框涉及到数据查询,他们会利用特殊查询输入得到更多的数据库数据,甚至是表的全部。因此必须对输入框进行过滤。但如果为了提高效率仅在客户端进行输入合法性检查,仍有可能被绕过,因此必须在服务器端再做一次检查。
来源:互联网