jsp登录系统Word格式文档下载.docx

上传人:b****1 文档编号:15309512 上传时间:2022-10-29 格式:DOCX 页数:13 大小:21.24KB
下载 相关 举报
jsp登录系统Word格式文档下载.docx_第1页
第1页 / 共13页
jsp登录系统Word格式文档下载.docx_第2页
第2页 / 共13页
jsp登录系统Word格式文档下载.docx_第3页
第3页 / 共13页
jsp登录系统Word格式文档下载.docx_第4页
第4页 / 共13页
jsp登录系统Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

jsp登录系统Word格式文档下载.docx

《jsp登录系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《jsp登录系统Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

jsp登录系统Word格式文档下载.docx

方案选取:

考虑到系统的安全性和访问速度,由于JDBC—ODBC桥方式在设计时,只是考虑到使用的简便性,在安全和访问速度上有所欠缺,且当系统移植时,得重复设置。

所以我们选取用加载纯Java驱动的方式连接到数据库,即方案二。

数据库设计

该登录系统主要是进行用户信息的查询、增添和删除操作。

涉及到数据信息只有用户姓名和密码,所以我们在设计数据表时只需设计一个用户信息表user_info,该表含有用户名user_name,密码password两个字段。

①创建一个user数据库:

创建数据库需要以nomount方式启动一个现场,然后在此状态下创建。

SVRMGR>

createdatabaseuser

controlfilereuse

datafile‘/Oracle/data/user.dbs’size10M

logfilegroup1’/Oracle/data/user.dbf’size500k

maxlogfiles5

maxlogmenmber5

maxdatafiles50

archivelog;

创建数据库之后,还需要做一些其他工作,比如运行一些脚本程序

1.catalog.sql:

此脚本创建数据字典和视图,对所有的数据库以sys用户的身份运行该脚本。

2.catproc.sql:

为Oracle系统的过程选件创建辅助的数据字典和视图,这只有安装了过程选件时才以sys用户身份运行该脚本。

执行这两个脚本程序也许要用很长时间,因为它要建立许多数据库结构要创建几乎所有的数据字典和视图。

而且此时user数据库则只有一个表空间system表空间,所以还要在该数据库中建立用户自己的表空间,以便管理和保证安全。

②创建新表空间

表空间是一个逻辑概念,它的所有数据和结构信息都存储在一个或多个数据文件中,当需要扩充数据库存储空间是,有必要创建新的表空间,并指定它的数据文件。

这样数据库就相当于又划出一个磁盘空间来给这个表空间,这个表空间当然属于这个数据库的,因此就扩大了数据库的存储空间。

刚创建的数据库只有一个system表空间。

因为system表空间是系统表空间,里面存储着数据字典和数据库结构等重要信息,是数据库系统运行的基础,若是把所有数据信息都存储在这个表空间里,一方面会迅速占满它的空间,另一方面也加大了出错的可能性。

另外,当要向数据库增加另一套应用程序时,因为它与以前的应用程序差别较大,它的数据以前并没与存储过,所以最好是创建新的表空间给这一应用程序,这也方便了数据的管理和维护。

创建一个新的表空间的sql如下:

createtablespaceuser

defaultstorage(initial5M)

next2M

minextents10

maxextents10)

online;

创建表空间后,通过altertablespace来向表空间增加数据文件。

altertablespaceuser

adddatafile‘/Oracle/data/user.dbf’size10M

③创建用户

对于一个数据库系统,安全性是首要的,若是没有充分的安全性控制,则任何人可以在任何时候访问数据库,一方面造成数据信息的泄露,另一方面可能由于非法操作而造成数据库的无效,甚至崩溃。

所以要对数据库的不同使用使用对象授予不同的权限。

在我们这个用户登录系统中,根据“最小权限”原则,用于连接数据库的用户只需要拥有在user数据库的user_info表上的查询、增加、和删除表中记录的权限。

同时还应该对个用户给予createsession系统权限,以使用户能够连入数据库系统,另外该用户还应有一个connect角色,这是每个数据库都有的一个角色,它是专门为最终的应用系统的用户设计的。

createuseruser_personsidentifieduser_persons;

给用户授予一些权限

grantcreatesession,altersession

selectonuser_info,

insertonuser_info,

deleteonuser_info

touser_presons;

用户user_persons创建成功后,在以后的系统设计中,将使用该用户对数据库进行连接。

系统功能模块设计

①安全设计

在设计系统之前必须考虑到安全问题,由于现在要求设计的功能比较简单,在这里只考虑了一种可能会攻击本系统的常见攻击:

SQL注入攻击。

SQL注入攻击主要是攻击者通过在URL、表格域或其他的输入域输入自己精心设计的SQL命令,以此改变SQL的属性,骗过应用系统,从而对数据库中的信息不加限制的访问。

这种攻击对系统来说是非常危险的,因为攻击者可以在XX的情况下,使用SQL命令从数据库中提取信息,甚至破坏数据库。

任何输入,不论是Web页面中的表格域还是一条SQL查询语句中的API参数,都有可能遭受SQL注入的攻击。

攻击者往往是在输入域中输入自己的SQL命令来进行攻击,这些SQL语句通常使用特殊的字符如“;

”和“’’”等,使得原来的系统的SQL命令无效或者属性被改变,再或者是在执行的同时也把用于攻击的SQL命令嵌入执行。

为了要解决这一问题,我们在设计系统时应该对用户提交的信息进行特殊字符的过滤,把含有与SQL语法有关的特殊字符以及保留字的提交信息在提交到数据库之前被去除。

该系统采取的策略是限定用户的用户名和密码只能是字母和数字的组合,而且长度必须是9位。

同时还要考虑用于连接数据库的用户要采取“最小权限”原则,这在设计数据库的时候已经实现了。

②功能实现

该系统要求使用JSP技术进行设计,所以系统的前台是JSP页面,用户通过浏览器的显示页面完成和系统的交互,所以根据系统功能要求,这里就需要分别设计系统主界面文件denglu.jsp、用户信息验证页面文件yanzheng.jsp、注销页面文件zhuxiao.jsp和注册页面文件zhuce.jsp,以及后台数据库连接和处理文件LinkOracle.java。

系统主界面文件denglu.jsp

该页面的主要功能是提供系统的入口,是整个系统的主页,用户刚登录系统时,会看到系统提供给用户的用户信息输入框,即用户名和密码。

同时还提供给用户登录和注册连个按钮,用户根据选择点击不同的按钮实现其与系统的交互。

当点击登录按钮系统将链接到用户信息验证页面进行信息验证,当点击注册按钮系统则将链接到注册页面提供新用户注册服务。

如果用户登录成功,系统将在session中保存用户名,之后该页面将显示用户信息和用户用于退出系统以及链接到注销页面的按钮。

该页面此时的将不再显示用户信息的输入框。

这为以后系统的进一步扩展打下了基础。

实现代码见附件。

用户信息验证页面yanzheng.jsp

该页面是登录页面的表单信息提交页面,即用于验证用户提交的登录信息,它主要是实现和后台数据库连接操作的JavaBean之间传递参数,它向LinkOracle.class传递用户名和密码,等数据库查询工作完成后判断用户信息是否正确,如果正确则提示用户登录成功,并将用户名放到session中保存,如果不正确则提示用户信息输入有误,并转到系统登录界面,以便用户重新登录。

为了系统的安全,防止SQL注入攻击,该部分还要提供用户输入信息的过滤功能,对提交给后台数据库的信息进行限制,在该系统中规定了用户名和密码只能是字母和数字,并且要求用户名和密码只能是9位。

注册页面zhuce.jsp

该页面是为新用户设计的,新的用户通过点击登录页面上的注册按钮链接到该页面。

它提供了两个输入框,分别用于输入注册用户名和用户密码,按规范输入后点击提交,信息将发送到后台处理程序进行用户信息的插入操作,如果该操作失败将提示用户重新注册,相反的将提示注册成功,转到登录页面,以便新用户登录。

同样的在注册信息提交到数据库之前也要进行过滤检查,以保证系统的安全。

注销页面文件zhuxiao.jsp

该页面是用来实现用户的注销功能,它是在用户已经成功登录到系统的前提下进行的操作。

用户通过点击登录页面的注销按钮链接到该页面。

它是通过获取session中保存的用户名的,之后把该用户名提交给后台数据库处理程序实现特定的用户信息的删除。

同样的系统会给出提示,告诉用户操作是否完成,如果成功,则把session中的用户名删除,并转到登录界面,等待用户的下一步操作。

项目评估和扩展

登录系统是许多我们常见的Web服务的一部分,但也只是一小部分,但是象许多电子商务等网站的后续操作都必须在用户登录后进行。

我们设计的这个登录系统虽然在功能上已经很齐全了,但是在安全管理上还有些不足,只考虑了SQL注入的攻击防范,为了使得系统能够有效的防范此类攻击,系统在用户名和密码的信息进行了规范,也使得在某方面带给用户不便,显得不够人性化了。

同时这种规范方法不一定是最好的防范措施,还要在以后的维护过程中进行优化。

结束语

这个系统的设计其实很大程度上强调的是设计者的安全防范的思维以及在数据库管理上的高瞻远瞩,而对其程序编程能力要求不是很高。

在进行数据库设计时在一开始就应该意识到以后的系统扩展和在数据库访问上的安全问题,进而设计合适的实行方案。

同样在设计系统的功能实现部分时,也不得不意识到作为一个这样的web服务的安全问题,想办法做出一个尽可能安全而又能让用户接受的防范攻击策略,这两部分才是系统的关键所在。

 

附件:

<

!

--*********************Denglu.jsp************************-->

%@pagecontentType="

text/html;

charset=gb2312"

language="

java"

%>

%@pageimport="

database.Oracle.Oracle"

%>

html>

body>

jsp:

useBeanid="

oracle"

class="

scope="

session"

/>

table>

formmethod="

POST"

action="

yanzheng.jsp"

>

<

%

//是否登陆

if((String)session.getValue("

user_name"

)!

=null)

{

StringuserName=(String)session.getAttribute("

);

tralign="

justify"

valign="

top"

<

tdwidth="

120"

height=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1