表格的属性: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、上面的知识我只是从这位朋友那里知道了怎么用,并不知道原因。以后再了解。

(转帖)默认安装的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。不知道对空间速度的提高有没有用。还有,我考虑把导航字符串等字符串作为一个参数传给页面是不是不好,是否应该只把特征参数传入页面,再由页面处理得到整个字符串。这样,可以加大页面布局的灵活性。以后,到了程序界面制作的时候,这肯定是个问题要碰到的。

  作为一个程序业余爱好者,真希望能够得到专业人士的指点。

I have stopped learning english for some days

  Expect for writing few english diaries and writing few comment in the program with english,I have stopped the english learning for two weeks.

  it's a bad trend,english is a useful tool,must learn it continually.

  so,I plan to listen it and read some english material loudly in the morning,don't need too much time,ten minutes,I think it is enough,the key is persistence.