Giter Site home page Giter Site logo

moqi88 / ythtbbs Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 5.24 MB

Automatically exported from code.google.com/p/ythtbbs

License: GNU General Public License v2.0

Shell 0.32% C 78.26% Gnuplot 0.04% HTML 7.65% Groff 0.10% Makefile 0.31% Java 0.04% C++ 0.14% Bison 0.84% Perl 0.76% Python 0.05% JavaScript 9.07% Diff 0.06% CSS 1.20% ApacheConf 0.01% C# 0.97% Smalltalk 0.18%

ythtbbs's People

Stargazers

 avatar

ythtbbs's Issues

discuzx forum id在.BOARDS文件内的写回功能

考虑到discuzx的board可能会移动或改变,此时telnet下的版面需��
�分离出一个简单的挂接功能,不能再通过导入的方式来进行�
��接。

通过判断版面中文名,对应到discuzx的forum 
id,然后把这个id写到struct boardheader里面,再写回.BOARDS

Original issue reported on code.google.com by [email protected] on 16 Sep 2010 at 7:32

telnet下注册显示论坛规则

telnet下注册时,

1.需要显示论坛规则 (读取discuz下文件)
(可以在验证码那一页做这个事情)

2.需要用户做规则确认(Y/N)判断


Original issue reported on code.google.com by [email protected] on 30 Jul 2010 at 7:02

登录时增加判断discuz web注册的用户

在main.c里面增加判断,如果注册的用户是discuz 
web下注册的数据库用户,而.PASSWDS里没有,则判断后在.PASSWDS�
��件里添加此用户,并重新读入。


Original issue reported on code.google.com by [email protected] on 20 Jun 2010 at 11:54

ancienttelnetlogin插件执行外部命令的安全性改动

巫山霏云: 
这样,首先用老的加密一次,看是否匹配,如果匹配,替换��
�新的密码,如果不匹配,就用新的再试一次,如果还是不匹�
��,就可以认为密码错误,否则就认为是 ok
或者反过来也可以,先判断新的密码


bridgeduan: 是的
都可以


巫山霏云: 嗯,那就这样了
现在web是怎么判断密码的?
和telnet同步了么

--------------------------------------------

生成discuz的md5密码的地方在./ythtlib/crypt.c
int
gendiscuzpasswd(char* discuzpassmd5, const char *salt, const char *passbuf)

其中discuz的salt是注册时六个随机生成的16进制数字
--------------------------------------------------------------------

ancienttelnetlogin插件是一个8.16以前注册程序未修改时注册的teln
et老用户在 discuzx下的登录插件
主要文件所属目录为

DISCUZ_ROOT/source/plugin/ancienttelnetlogin/ancientlogin.inc.php

里头有       exec(DISCUZ_ROOT."/source/plugin/ancienttelnetlogin/discuzgenpasswd 
$salt $password", $res);
调用ytht代码里local_utl/discuzgenpasswd.c文件来生成ytht下的md5密码

这个调用可能会造成注入攻击漏洞,如果有空请帮我修改,��
�没有相应的技术能力。多谢

-----------------------------------------------------------------

巫山霏云: 
我在想啊,为什么我们要舍近求远呢,干脆找个标准的md5函��
�替换了ytht的可以不?用户在输入的时候先判断是否是新密码
,如果是原来的加密的,则用新的加密函数生存新的密码保��
�,以后就和这个对比,这样的话,两边都很容易了


bridgeduan: 汗,这当然更好了!
那我给你开个任务?
这样的话就没有任何困难了
我telnet下修改密码的程序也好写了


巫山霏云: 嗯?
行,要怎么搞


bridgeduan: 
就这么改,现在的还保存,但是把register和login时生成的salt和
md5都改成discuzx的模式和加密方法
等这个改完后,web下登录老用户时,提醒它在telnet下先登录
这样就不需要exec()了
ytht生成discuz的md5函数我已经写好了
我回头给你


巫山霏云: 嗯,我们现在的用户也不多吧?


bridgeduan: 对,700多才


巫山霏云: 嗯,这样的话,也好做


bridgeduan: 那我更新任务去了,你到时看看


巫山霏云: 好


bridgeduan: 总之最好是无缝地更新上:)
多谢多谢:)


bridgeduan: 现在已经和telnet同步
读取数据库,如果用户所属的组(groupid)是20,表示为原ytht老
用户
此时调用discuzgenpasswd来生成ytht的md5,然后更新组为10,新手��
�路,更新为discuz的salt和md5
以后就是直接用discuz的原始登录了


巫山霏云: 
但不是说discuzgenpasswd会有过滤么,这样的话就没办法和原来��
�一致了吧?


bridgeduan: 是的,但是用分号和引号做密码的老用户很少
至于新用户不过滤,直接在discuz数据库里读
只要更新了就不过滤了


巫山霏云: 嗯
明白的
新用户的密码是直接用的dz的吧


bridgeduan: 还不完全是,如果是现在在telnet下注册的新用户
数据库里存储的是dz的茅
md5,.PASSWDS文件里存储的是ytht的md5


巫山霏云: 嗯。那就这样。。。替换telnet的密码


bridgeduan: 我已经给你发信了,更新了需求
有不明白的地方随时更新需求,我会自动收到信并回复
ytht代码我现在已经比较熟了,但你可能不熟


巫山霏云: 嗯,了解的


bridgeduan: :)
那多谢了
其实函数我都写好了


巫山霏云: 是啊:)


bridgeduan: 当时之所以不那么做
是因为当时没读懂ytht的md5,另外ytht生成的salt和discuz的salt有�
��大区别,存储上你得费点心思,比较麻烦
ytht的salt是个signed long,discuz的salt是一个六个16进制的字符串
存到.PASSWDS时可能会出现问题,所以要考虑转换函数


巫山霏云: 你是说salt还是说的生成的密码?


bridgeduan: 是salt
帽密码都是一样的,只不过discuz解码过,ytht是二进制存储
md5密码


巫山霏云: 
salt应该是不用关心的,最后生成的密码应该是一样的
嗯


bridgeduan: 嗯
一开始我们还想过放弃.PASSWDS,但是技术上的代价更大了


Sent at 2:18 PM on Friday
巫山霏云: 
gendiscuzpasswd这个函数生成的就是discuz的是吧?参数是(返回��
�,salt,密码)?


bridgeduan: 是的
我们目前在register.c里面用到
新注册的每个telnet用户会自动地在discuzx下生成一个discuz的salt
和md5
在第215-219行 ./src/register.c 

Original issue reported on code.google.com by [email protected] on 13 Sep 2010 at 6:11

发布代码1.0.02版本

在版面同步做完后,发布一个1.0.02版本的ytht代码与相应discuzx
插件在sf和google code里。

Original issue reported on code.google.com by [email protected] on 2 Oct 2010 at 1:03

给版面加上和discuzx互通的标记

给版面加上web互通的标记

这个标记放在boardheader的flag2里面,叫DISCUZWEB_FLAG,有这个标��
�的版面,版面列表里显示为W
改为直接用数据库访问。

这个标记可以在后台直接修改。

Original issue reported on code.google.com by [email protected] on 10 Sep 2010 at 3:04

smth_sshbbsd中的C数据库函数编译

在src中的改动telnet下编译能通过,但是ssh下,需要make 
install如上所示目录。

这个目录下的Makefile.am并没有支持sql函数的功能,要加上

-----------------------------------

目前许多修改都要读取discuzx数据库,src也实现了数据库这块�
��编译。
但是smth_sshbbsd目录下却无法编译src中已经编译成功并测试通��
�的文件。

src这块我是这么设置的(应该也是不规范的),可用于参考��
�

在src目录下加入mysql编译选项 Options


    1 message - Collapse all  -  Report discussion as spam  


bridged     
View profile  
 More options Jul 13, 12:15 pm
由于在libythtbbs/user.c里面使用了mysql相关的函数,结果src里的�
��序link时发现找不到mysql库 
查看src目录下的Makefile.am 
发现$LDADD库(ytht自定义库)的定义是在Makerule.base里 
LDADD = $(LIBS) $(top_srcdir)/libythtbbs/libythtbbs.a $(top_srcdir)/ 
ythtlib/libytht.a 
可加上 
LDADD = $(LIBS) $(top_srcdir)/libythtbbs/libythtbbs.a $(top_srcdir)/ 
ythtlib/libytht.a -lmysqlclient 
这样调用ythtlib时,就可以自动链接上mysql编译选项。 

    Reply     Reply to author     Forward  
End of messages 
« Back to Discussions

Original issue reported on code.google.com by [email protected] on 6 Sep 2010 at 1:51

ancienttelnetlogin插件里的安全性改动

ancienttelnetlogin插件是一个8.16以前注册程序未修改时注册的teln
et老用户在 discuzx下的登录插件
主要文件所属目录为

DISCUZ_ROOT/source/plugin/ancienttelnetlogin/ancientlogin.inc.php

里头有       exec(DISCUZ_ROOT."/source/plugin/ancienttelnetlogin/discuzgenpasswd 
$salt $password", $res);
调用ytht代码里local_utl/discuzgenpasswd.c文件来生成ytht下的md5密码

这个调用可能会造成注入攻击漏洞,如果有空请帮我修改,��
�没有相应的技术能力。多谢

Original issue reported on code.google.com by [email protected] on 31 Aug 2010 at 7:59

写出用户系统中discuzx的改动文档

用户系统合并时,一共改变了登录和注册两个页面,登录一��
�功能,增加了一个插件

对此需要写一个注释,以便让大家安装。

Original issue reported on code.google.com by [email protected] on 19 Aug 2010 at 6:02

telnet注册部分写入discuz表仍需修改

目前写入的密码依然是老的md5

需要把新注册的用户全部改为写入新密码,这样就方便设计��
�。
以前的老用户毕竟是有限的,一个个逐步处理比较方便。
这样就不用烦恼插件的事情了。

分为两步,一个是写入新的userid和新的salt与md5pass
另一个是写入email和firstlogin time。

原先的设计是有问题的。

Original issue reported on code.google.com by [email protected] on 2 Aug 2010 at 5:34

导入用户信息与积分

在用户积分规则敲定以后,
将ytht下的用户操作积分,简单折算后导入到discuzx相关表中。

Original issue reported on code.google.com by [email protected] on 6 Oct 2010 at 5:27

版面长期无法接受站外转信

转信方式请参见SYSOP版置底第一文

这是一年前的转信方式,除了图片应该都能转成功的,但是��
�启后似乎不行了(但不保证问题和重启相关),接受不到。

比如转到[email protected],应该能转到traingle版,并且在post版
生成一个转移通知文件,现在两者都没有。

转信的版面帐号定义在

/etc/aliases  
的#BBS下面

如果需要修改(按理是不需要修改的),要用root权限。


Original issue reported on code.google.com by [email protected] on 2 Sep 2010 at 6:04

telnet注册时需要遍历更多的discuz表

排查register.c和transythttodiscuz.c两个程序


注册所影响的用户组:(有些不一定是注册时影响的,可能��
�自动登录时添加的)
用户的id号取决于pre_ucenter_members的插入id号,自增。

pre_common_credit_rule_log
pre_common_member (已写)
pre_common_member_count (需要写)
pre_common_member_field_forum
pre_common_member_field_home
pre_common_member_log
pre_common_member_profile
pre_common_member_status
pre_common_stat
pre_common_statuser
pre_ucenter_memberfields
pre_ucenter_members (已写)
pre_ucenter_pms

Original issue reported on code.google.com by [email protected] on 12 Aug 2010 at 3:43

完成扩展精华区初步的概念设计

根据协同写作系统的idea,参考smartstar, Fenlix, pzhg, chy, 
datiechui, 
joshua反馈的意见,写出“扩展精华区”,英文名是distillate 
writing system的概念设计。

使用Visio 2003制作。插件搭建在discuzx 1.5RC 
默认版面和群组模板上,并且开启右侧边栏。

Original issue reported on code.google.com by [email protected] on 14 Sep 2010 at 8:51

做出导入ytht版面文章到discuzx版面的功能


命令行模式:

transythttodiscuzx -boardname [bname] -date [startdate]

读取.DIR来转移版面

要求:
1.输入版面名称,和需要转移文章的日期。从ytht转移该名称��
�版面到discuzx。文章转移日期为startdate到至今的。
2.版面需要转移
(1).版面英文名
(2).版面文章列表
3.文章需要转移
(1).文章名
(2).作者名
(3).文章发表时间
(4).同主题链
(5).文章内容
(6).回复内容
(7).附件
(8).相关HTML语法
(9).文章标记 g,m,锁定等


Original issue reported on code.google.com by [email protected] on 17 Aug 2010 at 9:01

discuzx下修改密码追加注释

discuzx下修改密码时,不会同步到telnet,因为开发力量的原因�
��个用处很小的功能不做了,这事需要在页面模板上给出说明
。

Original issue reported on code.google.com by [email protected] on 13 Sep 2010 at 6:12

导入blog数据到discuzx

导入原有的blog数据到discuzX

1.和导入后的用户匹配上
2.如果有图片附件的(应该不多),手工重新加上

Original issue reported on code.google.com by [email protected] on 9 Aug 2010 at 6:47

telnet下阅读discuzx文章页


从数据库里取出

考虑

1.怎样匹配版面?
2.怎样读数据库?
3.怎样定位。

废弃原有的文件系统。

Original issue reported on code.google.com by [email protected] on 18 Aug 2010 at 3:34

增加转换文章时的步进值

考虑到有些版面文章很多,需要考虑转换文章时的步进值
比如一次转换5-10篇文章,以避免及排查可能的错误。

Original issue reported on code.google.com by [email protected] on 25 Oct 2010 at 6:35

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.