Notings of Attention™
Acmlmboard 2 Released
Github/GIT | @acmlmboard
Chatting Places
Discord

Affiliates
Super Mario Bros. X | Kuribo64
Views: 8,952,111
Main | FAQ | IRC chat | Memberlist | Active users | Latest posts | Stats | Ranks | Online users | Search
03-28-24 09:05 AM
Guest: Register | Login

0 users currently in msg db 'Computer Address',0xa | 1 bot

Main - msg db 'Computer Address',0xa - 'New' board software: Blargboard (1)
Next newer thread | Next older thread


Arisotura
Posted on 02-02-14 05:32 PM, in Link | ID: 43300
Developer
pancakes
Level: 83


Posts: 480/1868
EXP: 5395228
Next: 36993

Since: 01-05-12
From: France

Last post: 654 days
Last view: 193 days
Blargboard is a messageboard software developed by me. It's based off ABXD by Kawa, Dirbaio, etc... ABXD itself is inspired by Acmlmboard.

https://github.com/StapleButter/Blargboard

As you may already know, Kuribo64 is powered by Blargboard v1.0. It is a version older than what's in the Github repo, though. It's dirty, hacky, and lacks a few features. The repo version (v1.1) is in the process of being cleaned up and improving.

You can read more about Blargboard itself in the provided README.

Now, a quick tour through Blargboard's main features.


Post layouts and HTML support

This feature comes from Acmlmboard. Basically, you get to enter HTML that will surround each of your posts, giving them a unique look on the board. Needless to say that it makes it very easy to recognize a user from their layout.

Since the first day I've been on Acmlmboards, I fell in love with the concept, and especially the post layout feature. However, not everyone loves it, and some people will find that post layouts make threads harder to read. Thus, there are several features in place to prevent abuse of this feature: ability for users to block individual post layouts or all layouts, ability for admins to nuke someone's post layout and/or block them from having a layout...

It is also possible to enter HTML in posts. This can come in handy. Javascript and that kind of stuff is filtered for security reasons, though. Blargboard has two layers of filtering: first layer ensures proper nesting so you can't break out of post tables, and removes tags that aren't in the whitelist. Second layer filters out malicious tags should they make it through the first layer. (I want to see you defeat the first layer, though ;) )

Oh and unlike old Acmlmboards, Blargboard doesn't require you to strip all newlines from your HTML. It tries to handle them intelligently, which works well in most cases.


Plugins

Blargboard can be extended through plugins. There are many things plugins can do, like adding header links, messing with posts, giving custom username colors to users, etc...

Anyone with enough PHP coding skills should be able to code plugins easily. Blargboard's codebase shouldn't be too hard to understand. It tries to be as direct as possible while keeping enough flexibility, unlike those huge, bloated 'professional' board softwares where the simplest thing goes through layers and layers of abstraction.

For the same reason, one could directly hack Blargboard's code, although it can make updates more complicated.


Templates

This feature is currently in the works. At the time of writing this, almost all the main pages have been rewritten to use templates, but there are still several pages remaining to be converted.

Templates should make it easier to customize the look of your board, by separating logic and presentation. Blargboard uses Smarty as its template engine.

It is also planned for plugins to be able to add their own templates or override the existing ones.


Permission system

Blargboard uses a flexible permission system for everything, from regular user tasks to administration.

Users can belong to one primary group, and additional secondary groups. By default, Blargboard comes with 6 primary groups that match the ABXD powerlevels: banned, normal user, local moderator, global moderator, administrator, owner.

Users' permissions are resolved as such: first, the primary group permissions are applied. Then, if any secondary groups are defined, their permissions override the primary group's. Finally, if the user has user-specific permissions defined, they override the previous permissions.

With that, for example, if a given user is abusing a certain forum, you can block him from posting in that forum. But you can also block a user from editing their own posts, sending private messages, posting profile comments, editing their bio, or anything else.

Or hell, if you're insane, you could also allow a normal user to edit other users' profiles.

Plugins can also add their own permissions to it.


Security

Blargboard will operate fine no matter if magic_quotes is on or not. It will refuse to operate if register_globals is on, though, but who is actually insane enough to have that on?

Blargboard is also invulnerable to SQL injection attacks, and mostly protected against CSRF attacks.

But uh, rule number one in security is: never assume your system can't be hacked. So should your board get hacked, Blargboard makes it impossible to destroy data such as users, threads or posts. Deleting threads will send them to a 'hidden trash' forum configured by the board owner (this is optional). Deleting posts hides them, causing a placeholder to be shown instead. Moderators can enter a reason as to why they deleted the post, which appears in the placeholder.

Blargboard also features a 'rereg radar', that logs IP address matches and password matches. It proves handy in detecting duplicate accounts and such.

It only stores the information that passwords matched, and the corresponding users. It does not store plaintext passwords. Stored passwords are hashed using SHA256, with global salt and per-user salt.



So, what else is there to say? There are many other fun little features in Blargboard which I didn't mention here, I'll let you discover them.

Blargboard is still a work in progress, though. Use it at your own risk, and consider using something else (like official ABXD) if you don't have enough PHP/MySQL skills. I'm also not responsible if it explodes in your face.

If you want to see a demo board, there's not really one. There is Kuribo64, linked at the beginning of the post, which runs off a somewhat older Blargboard version. That version is mostly the same visually, though, as most of the last changes are internal.


I give credit to the ABXD team (Kawa, Dirbaio, Nina, xfix, and myself), without whom Blargboard wouldn't have been possible.


Have fun :)

____________________
Kuribo64 - melonDS

want some revolution in your coffee?

Next newer thread | Next older thread
Main - msg db 'Computer Address',0xa - 'New' board software: Blargboard (1)


Acmlmboard v2.5.5 (10/04/2020)
© 2005-2024 Acmlm, Emuz, et al.

Page rendered in 0.033 seconds. (774KB of memory used)
MySQL - queries: 55, rows: 477/511, time: 0.023 seconds.