网络安全 频道

巧用论坛数据库验证FTP帐号合法性

  二,GENE6中添加互动与关联关系:

  第一步:在GENE6管理程序对应的FTP域名称上点鼠标右键选择“属性”。(如图7)

图7

  第二步:在打开的站点属性窗口里找到“域->验证”,然后点右上角的“加号”按钮。(如图8)

图8

  第三步:为当前FTP站点添加一个验证方式,这里需要注意的是为了区分user和admin的验证类型,我们分别起名为bbs_user以及bbs_admin,当然这个名字是可以任意取的。帐号前缀处保持空白不要添加,方式处我们通过下拉菜单选择“ODBC数据库”。(如图9)

图9

  第四步:接下来我们要输入关键的信息,一个是ODBC数据库下的连接字串,另外一个是查询信息。bbs_user验证方式是这样添加的——连接字串为Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Port=3306;Database=discuz;User=root; Password=198029;Option=3。而查询信息为SELECT 'user' as account FROM cdb_members WHERE (groupid=10 and (uid=$LOGIN OR username=$LOGIN)) AND password=$PASSWORDMD5。

  第五步:而在bbs_admin处设置则有所区别,连接字串是Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Port=3306;Database=discuz;User=root; Password=198029;Option=3。而查询信息为SELECT 'admin' as account FROM cdb_members WHERE (groupid=1 and (uid=$LOGIN OR username=$LOGIN)) AND password=$PASSWORDMD5。(如图10)

图10

  小提示:

  下面我们主要讲解下这两条指令的意思,Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Port=3306;Database=discuz;User=root; Password=198029;Option=3是指使用MYSQL ODBC 5.1程序连接服务器提取数据库信息,服务器的地址为127.0.0.1,使用的端口十306,而数据库名是discuz,登录管理者的用户名为root,密码是198029,而最后的option=3不用理会保持这个值即可。而另外一句SELECT 'user' as account FROM cdb_members WHERE (groupid=10 and (uid=$LOGIN OR username=$LOGIN)) AND password=$PASSWORDMD5则是在刚才建立连接的数据库中查找cdb_members表内容,需要groupid=10并且username或uid与登录时输入的匹配,另外密码也要一致,只有满足这些条件后才能够以user作为帐号来登录FTP服务进入对应访问目录。而管理员组对应的语句SELECT 'admin' as account FROM cdb_members WHERE (groupid=1 and (uid=$LOGIN OR username=$LOGIN)) AND password=$PASSWORDMD5则是从上面建立的数据库中查找cdb_members,保证groupid=1并且username或uid与登录时输入的匹配,另外密码也要一致,只有满足这些条件后才能够以admin作为帐号来登录FTP服务进入对应访问目录。

  第六步:两个验证方式设置完毕我们点确定让修改生效。(如图11)

图11

  第七步:这样当我们在访问FTP站点时只要输入论坛注册时填写的ID信息以及密码就可以顺利登录了,不用理会GENE6中的任何帐户密码配置。(如图12)

图12

  第八步:添加了这种联动关系后我们使用管理员组帐户以及论坛注册的密码访问FTP的话,将看到之前设置的“admin帐户的目录权限高”这个目录的内容。(如图13)

图13

  第九步:我们使用普通用户组帐户以及论坛注册的密码访问FTP的话,将看到之前设置的“user帐户的目录权限低”这个目录的内容。从而真正实现了论坛与FTP站点帐户信息的统一以及根据不同论坛用户组权限分配不同FTP访问目录权限的功能。(如图14)(如图15)

图14

图15

  当然我们不仅可以通过本文介绍的方法实现帐户信息的联动,我们可以选择数据库表中任何一个参数值作为衡量标准完成权限分配的任务,例如我们常用的威望,声望,金钱或者积分等等,只要找到数据库中该项对应的参数值就可以轻松搞定。另外很多读者在设置联动关系时发现无法支持中文帐户来登录,这是因为安装ODBC版本过低,这也是ODBC 3.51最大的问题,换为5.1版本的ODBC后就能够解决问题。

  小提示:

  如果你擅长习惯使用serv-u来建立FTP的话,找个servuplus插件也能够解决这种论坛与FTP的帐户联动问题,具体设置方法类似这里就不详细说明了。

 

0
相关文章