Simple forum software for building great communities.
Go to file
Franz Liedke 8e86d38804 Merge pull request from GHSA-3wjh-93gr-chh6
* Integration tests: Memoize request handler as well

This is useful to send HTTP requests (or their PSR-7 equivalents)
through the entire application's middleware stack (instead of
talking to specific controllers, which should be considered
implementation detail).

* Add tests for CSRF token check

* Integration tests: Configure vendor path

Now that this is possible, make the easy change...

* Implement middleware for CSRF token verification

This fixes a rather large oversight in Flarum's codebase, which was that
we had no explicit CSRF protection using the traditional token approach.

The JS frontend was actually sending these tokens, but the backend did
not require them.

* Accept CSRF token in request body as well

* Refactor tests to shorten HTTP requests

Multiple tests now provide JSON request bodies, and others copy cookies
from previous responses, so let's provide convenient helpers for these.

* Fixed issue with tmp/storage/views not existing, this caused tmpname to notice.
Fixed csrf test that assumed an access token allows application access, which is actually api token.
Improved return type hinting in the StartSession middleware

* Using a different setting key now, so that it won't break tests whenever you re-run them once smtp is set.
Fixed, badly, the test to create users etc caused by the prepareDatabase flushing all settings by default.

* added custom view, now needs translation
2019-06-24 09:14:38 +02:00
.github Update SECURITY.md 2019-05-23 11:15:55 +02:00
.travis Checkout the branch before committing 2018-06-20 14:47:37 +09:30
js Bundled output for commit 24522943f6 [skip ci] 2019-06-01 18:10:13 +00:00
less Updated names to match components in fontawsome (#1791) 2019-06-11 20:17:59 +02:00
migrations Fix table name in migration 2019-01-31 22:01:05 +01:00
src Merge pull request from GHSA-3wjh-93gr-chh6 2019-06-24 09:14:38 +02:00
stubs/migrations Remove extension generator 2016-10-04 23:26:03 +03:30
tests Merge pull request from GHSA-3wjh-93gr-chh6 2019-06-24 09:14:38 +02:00
views Merge pull request from GHSA-3wjh-93gr-chh6 2019-06-24 09:14:38 +02:00
.deploy.enc Webpack (#1367) 2018-06-20 13:20:31 +09:30
.editorconfig part one of adding tests, updating core 2018-04-13 07:13:10 +02:00
.gitattributes Webpack (#1367) 2018-06-20 13:20:31 +09:30
.gitignore Move integration tests to separate directory 2019-02-01 19:01:12 +01:00
.styleci.yml Update StyleCI rules 2016-11-16 15:47:12 +10:30
.travis.yml Travis: Fix build job 2019-03-03 20:39:30 +01:00
CHANGELOG.md Update CHANGELOG.md 2019-06-13 09:13:31 +02:00
composer.json patched constraint for components/font-awesome, fixes #1790 2019-06-11 20:22:35 +02:00
LICENSE Remove copyright year from LICENSE 2018-11-21 18:24:59 +10:30
README.md Clearer delineation of installation pointer 2018-11-22 18:37:00 +10:30

Build Status Total Downloads Latest Stable Version License

About Flarum

Flarum is a delightfully simple discussion platform for your website. It's fast and easy to use, with all the features you need to run a successful community. It is designed to be:

  • Fast and simple. No clutter, no bloat, no complex dependencies. Flarum is built with PHP so its quick and easy to deploy. The interface is powered by Mithril, a performant JavaScript framework with a tiny footprint.

  • Beautiful and responsive. This is forum software for humans. Flarum is carefully designed to be consistent and intuitive across platforms, out-of-the-box.

  • Powerful and extensible. Customize, extend, and integrate Flarum to suit your community. Flarums architecture is amazingly flexible, with a powerful Extension API.

Installation

This repository contains Flarum's core code. If you want to set up a forum, visit the Flarum skeleton repository.

Contributing

Thank you for considering contributing to Flarum! Please read the Contributing guide to learn how you can help.

Security Vulnerabilities

If you discover a security vulnerability within Flarum, please send an e-mail to security@flarum.org. All security vulnerabilities will be promptly addressed.

License

Flarum is open-source software licensed under the MIT License.