学习日记向您征集学习日记logo创意并请教1

朋友:

  您好。一切都还好吗?我是学习日记的admin。

  现在有两个事情打搅您:

  1、学习日记向您征集学习日记logo创意:

  学习日记创办到还没有一个代表我们形象的logo,请把你的想法和创意告诉我们,或者回复在学习日记网站的下列帖子的回复中:http://www.learndiary.com/disDiaryContentAction.do?goalID=1215(向广大网友征集学习日记logo创意,ps:学习日记的登录模式已经初步改变,不必登录即可查看帖子。)或在留言板中留言(游客身份可以留言)。如果可能的话,你能为我们制作一个你想像中的学习日记logo,我们将感激不尽(请发往邮箱:webmaster@learndiary.com)。

  我们的口号是:学习到永远!!!我们致力于以JAVA技术构建一个普遍适用的开源网络学习交流平台。

  2、请教1个问题:

  1)怎样在游客登录系统成功后,回到并刷新他前的页面?

  比如:我现在在不登录的情况直接输入url:http://www.learndiary.com/disDiaryContentAction.do?goalID=1215查看这个帖子,然后,我点击页面上部的“请登录”链接:http://www.learndiary.com/toLoginAction.do  ,然后我在出现的登录窗口输入我的用户名和密码并成功登录后,请问:我怎么回到并刷新原页面:http://www.learndiary.com/disDiaryContentAction.do?goalID=1215 ?学习日记的最新源码见我们的开发者社区的CVS库中的old目录。

  我们现在已经添加了导航系统,对数据存取层做了一点拆分,初步改变了登录模式。接下来,进一步改变登录模式。。。

  在我们快速完成了一些有关用户使用的必要的改变后,根据情况,我们会启动新系统的全新设计。

今天孩子咳嗽发烧,把她送到医院门诊输液

  这两天咳嗽加剧,昨晚和今天下午发烧,今天下午体温曾达到39。4度,我和她妈妈把她送到人民医院住院部找金医生看了。然后开了一些液体,因为小孩青霉素过敏,忘了给老师说,又麻烦老师重新开了药。

  在门诊上输液,大概有3个小时。小孩的体温基本正常了。我们在晚上9:00过把她抱回了家。

  找金老师看病是她妈妈的一个医院的朋友介绍的。没有挂号,人家对我们还挺客气的。

  小孩的病还要认真对待,难关还没有过去。

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

(转帖)默认安装的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...