标签: phpbb

如何将用户登录从我的网站集成到phpBB?

在修改phpBB方面,我需要一些可能是新手问题的帮助.

我有一个用PHP开发的整个系统,我想集成phpBB,以便人们可以导航到论坛并无缝发布,而无需再次登录.

现在,使用phpBB用户表作为我的系统的用户表(并让人们在phpBB而不是在我的网站中注册)是不可能的(重做我们的系统需要做更多的工作而不是建立我们自己的基本论坛) .
我假设我可以破解我的方式让phpBB相信某个用户ID已经登录,但是,该用户将不会存在于phpBB的用户表中(我假设它会导致它几乎无处不在) .

我能找到的所有教程和论坛帖子都暗示以phpBB为主要内容.我反而无法找到任何相关的东西.

我猜测解决这个问题的唯一可行方法是让两个表相对同步.

现在,只要我可以让两个用户表同步,集成两个站点的最佳方法是什么,将我的站点的登录和用户表保持为"主要"表?
另外,在phpBB的用户表中创建记录时,有什么特别要注意的吗?或者弄清楚它是否相对简单?如果有多个表,我应该写什么表?

phpbb login

16
推荐指数
3
解决办法
2万
查看次数

处理PHP/MySQL中的未读帖子

对于个人项目,我需要使用PHP和MySQL构建一个论坛.我不可能使用已经构建的论坛包(例如phpBB).

我目前正在研究构建这样一个应用程序所需的逻辑,但这是漫长的一天,我正在努力处理用户未读帖子的概念.我的一个解决方案是拥有一个单独的表,它基本上保存所有帖子ID和用户ID,以确定它们是否已被读取:

tbl_userReadPosts: user_id, post_id, read_timestamp

显然,如果用户的ID出现在此表中,我们就知道他们已经阅读了帖子.这很好,除非我们每天都有帖子(这比在提议的系统中更有可能)和用户的thousdands.即使不是几小时,这张表也会在几天内变得很大.

另一种选择是将用户的上一个活动作为时间戳跟踪,然后检索在上次活动更新后发布的所有帖子.这在理论上是有效的,但是假设用户正在写一篇非常长的帖子,同时几个成员也开始新的线程或回复其他线程中的帖子.当用户提交他的新帖子时,他的最后一个活动将被更新,因此与那些同时进行的活动不匹配.

有没有人有这方面的经验,你是如何解决它的?

我已经检查了phpBB,似乎系统为每个用户分配了一个自定义会话,并在此基础上工作,但文档对于如何处理未读帖子非常稀疏.

一如既往地感激地收到了想法和意见.

php mysql phpbb forums read-unread

16
推荐指数
2
解决办法
4916
查看次数

将phpBB BBCode帖子转换为Markdown

我有一个phpBB2论坛,帖子存储在BBCode中.论坛帖子在数据库中存储如下:

[quote:e5adceb8e8][quote:e5adceb8e8="Person 2"][quote:e5adceb8e8="Person 3"]Nested quote[/quote:e5adceb8e8]Another nested quote[/quote:e5adceb8e8]Some text[/quote:e5adceb8e8]

[b:e5adceb8e8]Some bold text[/b:e5adceb8e8]
[i:e5adceb8e8]italic text[/i:e5adceb8e8]
[u:e5adceb8e8]underlined text[/u:e5adceb8e8]

[code:1:e5adceb8e8]print ("hello world!");[/code:1:e5adceb8e8]

[img:e5adceb8e8]http://www.google.co.nz/intl/en_com/images/logo_plain.png[/img:e5adceb8e8]

[url]http://google.com[/url]

[url=http://google.com]Google[/url]

[color=darkred:e5adceb8e8]
Coloured text[/color:e5adceb8e8]

[size=18:e5adceb8e8]
Big text[/size:e5adceb8e8]

[list:e5adceb8e8]
List Item 1
List Item 2
[/list:u:e5adceb8e8]

[list:e5adceb8e8]
[*:e5adceb8e8]List Item 1
[*:e5adceb8e8]List Item 2
[/list:u:e5adceb8e8]

[list=1:e5adceb8e8]
[*:e5adceb8e8]List Item 1
[*:e5adceb8e8]List Item 2
[/list:o:e5adceb8e8]

[list=a:e5adceb8e8]
[*:e5adceb8e8]List Item 1
[*:e5adceb8e8]List Item 2
[/list:o:e5adceb8e8]
Run Code Online (Sandbox Code Playgroud)

我正在使用任何可以帮助我将此语法转换为Markdown的工具.理想情况下我只想要转换的[b],[i],[quote],[url],[code],和[list]标签.最好将[img]标记转换为Markdown中的链接,以避免页面调整大小问题.任何纯粹的表示元素(如[color][size]标签)都将转换为纯文本.

markdown phpbb bbcode

12
推荐指数
1
解决办法
2083
查看次数

用于HTML模板文件的Eclipse HTML编辑器

我正在尝试使用包含Web Developer Tools的Eclipse Ganymedes 3.4.1版编辑phpbb HTML模板文件.

这些模板文件包含带有模板变量标记的HTML标记,格式为{ variable_name }.现在,当试图打开这样的文件时,Eclipse会尝试验证这些模板变量标记.

例如模板包含

<meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}" /> 
Run Code Online (Sandbox Code Playgroud)

在编辑器主体上打开Eclipse后显示:

Unsupported Character Body
Character encoding "{S_CONTENT_ENCODING}" is not supported by this platform.
<button>Set encoding...</button>
Run Code Online (Sandbox Code Playgroud)

如何使用WTP解决这个问题,还是有更好的编辑器用于模板编辑?

html templates phpbb editor

8
推荐指数
1
解决办法
3762
查看次数

针对PhPbb数据库验证用户

最近我开始实现一个解决方案,它将使用PhPbb数据库进行表单授权,我使用了以下类中的类:

PhPbb C#认证端口

所以我在'ValidateUser'函数中使用这个类编写了一个成员资格提供者:

public override bool ValidateUser(string username, string password)
    {
        ForumsDataContext db = Root.ForumsDataContext;
        PhPbbCryptoServiceProvider phpbbCrypt = new PhPbbCryptoServiceProvider();
        string remoteHash = db.Users.Where(u => u.UserName == username).FirstOrDefault().UserPassword;
        if (String.IsNullOrEmpty(remoteHash))
            return false;
        return phpbbCrypt.phpbbCheckHash(password, remoteHash);
    }
Run Code Online (Sandbox Code Playgroud)

然而,这总是返回false,因为'phpbbCrypt.phpbbCheckHash'返回false并且我不太了解PhPbb以确定散列不匹配的原因.

任何sugestions?

c# phpbb phpbb3 asp.net-mvc-3

8
推荐指数
1
解决办法
1762
查看次数

在ASP.net中复制PHPBB密码哈希c#

我现在正在使用phpbb 3.0.8.它拥有3,000名用户和约60,000个帖子.我正在将论坛改为另一个,用经典的ASP编写(我知道人们会对此不赞成,但我有充分的理由).

我的网站是用ASP.net编写的.经典的ASP论坛有一个连接它的API.我把所有这些都设置好了,它运行正常.我已经写了自己的登录表单.

我想要复制所有用户帐户.目前的论坛有表:

Username | Password |  Hash  |  Salt
Run Code Online (Sandbox Code Playgroud)

我已经覆盖了经典的ASP哈希技术,现在使用ASP.net Security.SHA1哈希.密码存储为SHA1(rawpassword + salt).

我的计划是将新字段存储在当前的字段旁边:

UserID | Password |  Hash  |  Salt  |  PHPBBHash
Run Code Online (Sandbox Code Playgroud)

当用户登录时,如果设置了PHPBB hashh字段,则使用PHPBB哈希散列密码.然后,如果登录成功,它将删除PHPBBHash字段,并创建当前系统哈希值.这样,这是从PHPBB到新论坛的平稳过渡,没有人丢失他们的帐户.

我的问题是,给定PHPBB哈希,用户名和密码,在ASP.net中c#如何验证PHPBB哈希?它是如何计算的?

我担心的是经典的ASP哈希函数声称是SHA1,但它产生了不同的结果Securiy.SHA1.

编辑

如果有人能给我一个明确的解决方案,我会对此表示赏心悦目,我很欣赏链接到资源的答案,但我仍然在努力理解它.

测试用例

原始密码:

blingblangblaow222
Run Code Online (Sandbox Code Playgroud)

在PHPBB3数据库中:

username: Tom
username_clean: tom
user_password: $H$9ojo08A3LuhnkXR27p.WK7dJmOdazh0
user_passchg: 1301433947
user_form_salt: 637f480dfdab84ef
Run Code Online (Sandbox Code Playgroud)

使用来自Vishalgiris的示例代码回答,我们这样做:

phpBB.phpBBCryptoServiceProvider cPhpBB = new phpBB.phpBBCryptoServiceProvider();
string remoteHash = "$H$9ojo08A3LuhnkXR27p.WK7dJmOdazh0";
bool result = cPhpBB.phpbbCheckHash("blingblangblaow222", remoteHash);
Response.Write("<BR><BR><BR>" + result);
Run Code Online (Sandbox Code Playgroud)

这实际上返回true.超!但有谁知道为什么这有效?我很困惑,它似乎根本不考虑盐.

c# asp.net hash phpbb

7
推荐指数
2
解决办法
2586
查看次数

从远程服务器获取文件并使用php复制到本地服务器的最佳方法

假设远程服务器上有一个文件可以没有任何限制地下载,即.您可以在浏览器中直接链接到该文件并下载该文件,例如http://www.remotesite.com/video.avi将提示您的浏览器下载该文件.使用php,获取该文件并将其上传到我的本地服务器的最佳方法是什么,而文件根本不会下载到我的PC,如果你在文件上传表单中添加了一个url,那么phpBB会发生什么?还需要了解所需代码的示例.谢谢

php phpbb download remote-server localserver

7
推荐指数
1
解决办法
2万
查看次数

phpBB3自动登录

我已经将phpbb3论坛集成到我现有的网站上.

我已经能够使我的注册过程也将用户添加到phpbb数据库中.

现在,我正面临一个问题,即当我登录我的网站时,我试图让用户自动登录论坛.

这里有人这样做过吗?我在Google上找不到任何相关内容,因为所有帖子似乎都在谈论'phpbb外部网页'以及如何在其他网页上使用phpbb会话.然而,我想要做的是仅在会员登录我的网站时启动登录,并且按照我在谷歌上找到的教程将让我的用户登录我的论坛时登录我的网站(这是另一种方式).

谢谢

php phpbb phpbb3

6
推荐指数
1
解决办法
5960
查看次数

php - 使用全局变量的网站安全性

我最近浏览了一些php源代码,特别是像phpbb和esotalk这样的论坛软件

我注意到一件事,他们中的大多数在页面的开头都使用了一个全局变量作为某种安全性,如下所示:

if (!defined("IN_ESOTALK")) exit; //For esotalk
if (!defined("IN_PHPBB")) exit; //FOR phpbb
Run Code Online (Sandbox Code Playgroud)

这有什么安全感?我不明白.你能解释一下这会阻止什么,怎么样?

谢谢,Vidhu

php security forum phpbb

6
推荐指数
1
解决办法
329
查看次数

输入参数'redirect_uri'的提供值无效

我一直从windows live收到此错误

输入参数'redirect_uri'的提供值无效.预期值为"https://login.live.com/oauth20_desktop.srf"或与重定向匹配的URL

为什么我一直收到这个错误.我在windows live developer app中设置了域名

在我的<head>元素中

<script src="//js.live.net/v5.0/wl.js"></script>
Run Code Online (Sandbox Code Playgroud)

就在我所拥有的<body>元素的正下方

  WL.init({
    client_id: '{S_AL_WL_CLIENT_ID}', //{S_AL_WL_CLIENT_ID} = phpbb template variable for client_id
    redirect_uri: '{AL_BOARD_URL}', //{AL_BOARD_URL} = phpbb template variable for the  urlencoded domain name
    response_type: 'token',
    scope: ["wl.signin", "wl.basic", "wl.birthday", "wl.emails", "wl.work_profile", "wl.postal_addresses"]
});
Run Code Online (Sandbox Code Playgroud)

登录按钮是

    <div id="login">
        <a href="#"><img src="images/windows_live_connect.png" alt="Windows Live" /></a> 
    </div>
Run Code Online (Sandbox Code Playgroud)

听众

jQuery('#login a').click(function(e) 
{
    e.preventDefault();
            WL.login({
                scope: ["wl.signin", "wl.basic", "wl.birthday", "wl.emails", "wl.work_profile", "wl.postal_addresses"]
            }).then(function (response) 
            {
                //do something with stuff here. You know brainy type ajaxy stuff …
Run Code Online (Sandbox Code Playgroud)

javascript phpbb windows-live phpbb3

5
推荐指数
1
解决办法
1万
查看次数