1、输入url可以直接进入网站了;
2、进入网站不需要经过登录窗口了。
改善学习日记的登录模式
由于学习日记的登录模式,将学习日记做成了一个封闭的系统。现在,我们要对外开放,必须改变登录模式。准备采用不登录也能查看帖子和把登录窗口移到每个网页的上部,做到随时都可以登录和退出。
HttpSession中isNew() 和 invalidate()的用法
isNew()是指是否一个新创的session,当用户访问一个支持session的jsp网页时,session被创建,尽管有时session里面并没有任何东西。
invalidate()是指清空session对象里的东西,并不指清除这个session对象本身。
所以,要判断一个session里面是否存在自己想要的东西(这个session是否有效),是不能用isNew()的,应该用UserInfo userInfo=(UserInfo)session.getAttribute("USERINFO");if (userInfo!=null)之类的来判断。
表格的属性:height,cellpadding
我是真正的菜鸟,现在才考虑把学习日记的页面表格问题,原来的表格在1024×768的模式行高会随表格内文字的多少而变成1行或2行,很难看。昨晚,在网上查了一下,学了一点 <td height="">和<table cellpadding="">的用法。这样,页面稍微好看了点。
如下:
<table border = "1" width="100%" cellpadding="3" align="center">
<%! int colorSwitch = 1; %>
<logic:iterate id="anGoal" name="goalList" type="com.learndiary.website.model.ArticleInfo">
<% if (colorSwitch % 2 == 0) { Color="#FFFFFF"; }
else { Color="#FFFFFF"; }
%>
<tr bgcolor="<%= Color %>">
<td width = "30%" height="33" align="center">
转贴:创建网页表格的基本原则和方法
把一个应用设置成http://localhost/就可运行的默
昨天晚上,从一个学习日记里的朋友那里学到一点如上的知识:
步骤:
1、改8080端口为80端口中,80端口是系统的默认WEB端口吧?
2、把应用的配置文件中的path="/learndiary" 改为 path="",把系统原来的ROOT应用的 path改了或删除这个应用。
3、这里访问admin应用可以用:http://localhost/admin,访问manager应用可以用:http://localhost/manager/html
4、上面的知识我只是从这位朋友那里知道了怎么用,并不知道原因。以后再了解。
Tomcat服务器的使用
学习和记录一些有关tomcat服务器使用的问题。
真让人操心,孩子咳嗽又复发了
她妈妈今天带她去看医生了。可能是最近的气候不大好吧,单位同事的孩子也有几个不大好的。
(转帖)默认安装的mysql服务不安全因素涉及的内容
转自:http://blog.iyi.cn/start/2004/12/mysql_1.html
默认安装的mysql服务不安全因素涉及的内容
默认安装的mysql服务不安全因素涉及的内容有:
一.mysql默认的授权表
二.缺乏日志能力
三.my.ini文件泄露口令
四.服务默认被绑定全部的网络接口上
五.默认安装路径下的mysql目录权限
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一.mysql默认的授权表
由于mysql对身份验证是基于mysql这个数据库的,也叫授权表。所有的权限设置都在这里了。
我们只讨论最为重要的一个表 user表。它控制的是接受或拒绝连接。
先看一下
select host,user,password,Delete_priv from user;
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
| % | root | | Y |
| localhost | | | Y |
| % | | | N |
+-----------+------+------------------+-------------+
现在新的版本,安装完毕都会出现一个快速设置窗口,用于设置口令。
以上,就是user表里的内容(略了点)看看有什么问题?
我们知道mysql的验证方式是比较特殊的,它基于两个2个信息来进行的
1.从那里连接
2.用户名
第一条没什么问题,当然口令必须是安全的。
第二条从任何主机,以用户root,不需要口令都可以连接,权限为所有的权限。(注:这里的权限是全局权限)
第三条从本地主机,任何用户名(注:user为空白,不表示不需要用户名),不需要口令,都可以连接,所有的权限
第四条从任何主机,任何用户名,不需要口令,都可以连接,无任何权限。
可以看出,2\\3\\4都是不安全的,如何攻击这里就不说了,请参看资料文库。
如果你mysql只允许本地连接,删除host的%和user中的nul(表示空)
delete from user where host=‘%‘;
delete from host where user=‘‘;
最后的user表,看起来因该是这个样子
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
+-----------+------+------------------+-------------+
最后需要刷新授权表,使其立刻生效
flush privileges;
如果你的mysql需要被远程使用,需要为%段中的root帐号,加上一个安全的密码
update user set password=password(‘youpass‘) where host=‘%‘;
其中youpass,就是口令
mysql> select host,user,password,Delete_priv from user;
+-----------+------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+------+------------------+-------------+
| localhost | root | 67457e226a1a15bd | Y |
| % | root | 77c590fa148bc9fb | Y |
+-----------+------+------------------+-------------+
更好的做法是,对远程主机的连接,指定为特定的
修改host中的%为允许连接的主机,比如:
192.168.0.% 允许一个特定的子网
www.sandflee.net 允许一个特定的主机
帐号默认的名字也是担心的问题。有可能导致被暴力破解
update user set user=‘localadmin‘ where host=‘localhost‘;
update user set user=‘remoteadmin‘ where host=‘%‘;
最后的user表看起来像是这个样子
mysql> select host,user,password,Delete_priv from user;
+-----------+-------------+------------------+-------------+
| host | user | password | Delete_priv |
+-----------+-------------+------------------+-------------+
| localhost | localadmin | 67457e226a1a15bd | Y |
| % | remoteadmin | 77c590fa148bc9fb | Y |
+-----------+-------------+------------------+-------------+
更为详细的资料,请去参考晏子的《MySQL中文参考手册》。随便那都有下
二.缺乏日志能力
mysql安装完成以后,会在%SystemRoot%目录下产生my.ini的设置文件
默认的内容如下:
——————————————————————————————
basedir=C:/mysql
#bind-address=192.168.0.1
datadir=C:/mysql/data
#language=C:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=C:/mysql/bin/mysqld-nt.exe
user=root
password=root
注意log#=这个
它没有被定义,且被注销掉了。
更改为一个适合的路径,比如:
log=c:/mysql/logs/mysql.log
三.my.ini文件泄露口令
我们看到my.ini最后,有这两句
user=root
password=root
如果,你安装完成时,使用了mysql所提供的快速设置功能,(较新的版本)你的帐号和口令将被写到my.ini文件中。
这也是mysql写到启动组里的winmysqladmin.exe工具,运行时需要读取的。它提供的mysql服务
的一些监视功能。这样winmysqladmin.exe才能获得mysql服务的状态信息。
其实,这个也不算漏洞,我们看看my.ini默认的权限,它可以被user组用户读取。
从而导致口令被泄露
解决方法:
从新设定my.ini文件的权限.
从新设定帐号及口令
不使用快速设置
四.服务默认被绑定全部的网络接口上
服务被绑定到了所有的网络接口上,比如,你只需要一个运行在内网的mysql服务,但是你的机器有
外网的接口,mysql也会被绑定上,从而带来一些不必要的麻烦和威胁。
在my.ini里的这句
#bind-address=192.168.0.1
它默认被注销掉了
应该打开它
如果,只是本地使用,更改为
bind-address=127.0.0.1
如果是其它情况,应该选者一个合适的网络接口
五.默认安装路径下的mysql目录权限
mysql默认的安装路径为c:\\mysql,基本上都难得改,要改的话也是麻烦,还要去改my.ini。
但,这样就有个问题
通常c:\\的权限是everyone组-所有的权限。这是默认的,由于继承性,导致mysql下的data目录
也是everyone组-所有的权限。导致被随意访问、读取、删除,可能泄露和破坏数据。
更改mysql目录到一个合适,安全的访问权限。
over...
今天修复了导航系统的一些BUG
像页面中找不到应该由ACTION提供的参数、删除日记出错、编辑、提交、填写查询操作中操作非法后,回到原页面提示错误会丢掉request中的参数(解决方法:在session中再保存一次重复的参数,但不知有没有更好的办法?)等问题。
提交到CVS库,并把最新的程序上传空间试运行。
现在空间的程序最大的改变就是拆分了那个失败的LearnDiaryDB.java。不知道对空间速度的提高有没有用。还有,我考虑把导航字符串等字符串作为一个参数传给页面是不是不好,是否应该只把特征参数传入页面,再由页面处理得到整个字符串。这样,可以加大页面布局的灵活性。以后,到了程序界面制作的时候,这肯定是个问题要碰到的。
作为一个程序业余爱好者,真希望能够得到专业人士的指点。
the use of "is been"?
>It is been a long time since we went to movies.
if it is a perfect present sence?