2019-02-16 06:34:35 +00:00
# ReasonableFramework
2020-07-01 01:55:26 +00:00
![License LGPLv3 ](https://img.shields.io/github/license/gnh1201/reasonableframework.svg )
![KCC C-2020-018490 ](https://img.shields.io/static/v1?label=KCC&message=C-2020-018490&color=orange )
2019-06-11 00:14:36 +00:00
2020-02-17 09:39:22 +00:00
- ReasonableFramework is `RVHM` structured PHP framework with common security
2019-05-09 00:09:38 +00:00
- Prefix code: `RSF` (ReasonableFramework)
2020-01-21 11:58:17 +00:00
- Old prefix code: `VSPF` (Very Simple PHP Framework)
2019-03-15 01:49:27 +00:00
2020-02-17 03:36:34 +00:00
![This project open source licensed under LGPL version 3 ](https://github.com/gnh1201/reasonableframework/raw/master/lgplv3-147x51.png )
2020-05-29 02:11:20 +00:00
## Security policy
2020-05-29 02:11:55 +00:00
- [Security policy and techincal support ](SECURITY.md )
2020-02-17 03:35:16 +00:00
2018-12-11 07:02:45 +00:00
## Specification
2019-04-06 12:13:38 +00:00
- Database connection (via PDO, MySQLi (MySQL Improved), MySQL Tranditional, MySQL CLI, Oracle(OCI))
2020-02-05 02:43:12 +00:00
- RVHM structure: `R` is Route (like as `controller` ), `V` is View, `H` is Helper (like as `import` on Python/Go/NodeJS), `M` is Model and implemented with `KV bind` (like as `Map` data structure), Model is not required.
2020-02-05 06:21:24 +00:00
- Controllable shared variables: Minimize abuse of global variables (Inspired by the `scope` of AngularJS, and `SharedPreferences` of Android Framework)
2017-12-17 20:36:36 +00:00
2017-12-22 18:45:53 +00:00
## Compatible
2017-12-22 18:46:12 +00:00
- Tested in PHP 5.3.3
- Tested in PHP 7.x
2017-12-22 18:45:53 +00:00
2017-12-17 20:36:55 +00:00
## How to use
2018-12-11 07:02:45 +00:00
- Extract or clone this project to your (restrictive) shared web hosting.
2019-02-16 06:44:40 +00:00
- You can intergrate all of PHP projects (linear, modular (ex. `autoloader` ), or others) without complicated extensions.
2019-02-16 06:39:31 +00:00
- You can write your code and rewrite by `route` parameter without heavy framework. (like as `controller` )
2019-02-16 06:39:13 +00:00
- You can add your custom `ini.php` configuration file in `config` directory.
2017-12-17 20:36:36 +00:00
- Enjoy it!
2018-04-14 16:48:55 +00:00
## Map of structure
2019-02-16 06:39:13 +00:00
![Map of structure ](https://github.com/gnh1201/reasonableframework/raw/master/assets/img/reasonableframework.jpg )
2018-04-06 09:06:34 +00:00
2020-02-17 03:35:16 +00:00
## Roadmap
2020-02-17 09:56:12 +00:00
- Support critial and special-purposed web environment (industry, scientific, legacy, or more)
2018-02-09 09:09:19 +00:00
2018-06-11 05:02:46 +00:00
## Quick Start
1. git clone https://github.com/gnh1201/reasonableframework.git
2019-02-16 09:23:17 +00:00
2. set up database configuration: `/storage/config/database.ini.php`
2020-02-17 03:35:16 +00:00
3. create new file: `/route/example.php`
2019-02-26 02:59:49 +00:00
4. go to `http://[base_url]/?route=example` or `http://[base_url]/example/` (if set `.htaccess` ) in your web browser.
2020-07-01 02:01:25 +00:00
5. code it.
2018-06-11 05:02:46 +00:00
2019-02-19 17:09:55 +00:00
## Examples
2020-04-20 08:31:40 +00:00
- [Send severities from Zabbix to Grafana ](https://gist.github.com/gnh1201/792964e9719d2f62157cf46e394888f5 )
2019-02-19 17:12:13 +00:00
- [REST API Integration (Naver Papago Translation REST API) ](https://gist.github.com/gnh1201/081484e6f5e10bd3be819093ba5f49c8 )
2019-02-19 17:12:40 +00:00
- [Payment Gateway Integration (KCP) ](https://github.com/gnh1201/reasonableframework/blob/master/route/orderpay.pgkcp.php )
2018-03-10 17:15:08 +00:00
2020-07-01 02:01:25 +00:00
## Advanced security (only for sponsors)
2019-06-05 03:45:42 +00:00
- CORS, CSRF, XSS, SQL-injection protection is common security, it is free and open-source for everyone.
2020-02-17 03:35:16 +00:00
- Firewall, DDoS protection, and more security tools are available only for sponsors. [more ](https://github.com/gnh1201/reasonableframework/blob/master/SECURITY.md )
2019-06-04 07:12:51 +00:00
2020-07-01 02:01:25 +00:00
## Remote logger (free for all)
- Remote logger feature based on [RFC3164(The BSD Syslog Protocol) ](https://catswords.re.kr/go/rfc3164 ), with [Papertrail ](https://catswords.re.kr/go/papertrail )
2020-02-07 01:29:34 +00:00
2020-04-13 02:58:19 +00:00
## Compatible of free web hostings
| Provider | Pass? | Tested version | Note
2020-07-01 02:01:25 +00:00
| ---------------------- | ------ | -------------- | -------------------------- |
2020-07-01 08:36:54 +00:00
| [vultr.com ](https://catswords.re.kr/go/vultr ) (Vultr Holdings Co.) | :heavy_check_mark: Passed | v1.6.5.2 | Paid, Pre-configured LAMP server |
| cafe24.com (Cafe24 Inc.) | :heavy_check_mark: Passed | v1.6.2 | Paid |
2020-07-01 08:35:03 +00:00
| woobi.co.kr (MyCGI) | :heavy_check_mark: Passed | v1.6.2 | |
| dothome.co.kr (Anysecure Inc.) | :heavy_check_mark: Passed | v1.5 | |
| ivyro.net (Smileserv Inc.) | :heavy_check_mark: Passed | v1.5 | |
2020-07-01 02:09:17 +00:00
| 000webhost.com | :warning: Warn | v1.5 | Advertising logo |
| freewebhostingarea.com | :heavy_check_mark: Passed | v1.5 | |
| infinityfree.net | :warning: Warn | v1.5 | Anti-crawling |
| freehosting.io | :heavy_check_mark: Passed | v1.5 | |
| freehostingeu.com | :warning: Warn | v1.5 | CURL blocked |
| freehostingnoads.net | :warning: Warn | v1.5 | CURL blocked |
| awardspace.com | :warning: Warn | v1.5 | CURL blocked |
2020-04-13 02:58:19 +00:00
2020-02-07 01:29:34 +00:00
## How to use CLI (Command line interface)
2018-07-23 05:01:54 +00:00
```
2020-02-07 01:29:34 +00:00
$ php cli.php --route [route name] --session-id [session ID]
2018-07-23 05:01:54 +00:00
```
2020-06-03 05:55:40 +00:00
## Administratives
2020-06-03 05:56:33 +00:00
- This project was registered to the Korea Copyright Commission's software copyright registration system. the registration number is `C-2020-018490` (version: v1.6.5.1-kcc) and approved in June 3, 2020.
2020-06-03 05:54:58 +00:00
- The open source license applied to this project will remain the same now and in the future.
2019-03-15 01:03:33 +00:00
## 한국어(Korean)
2020-07-09 09:08:44 +00:00
- **리즈너블 프레임워크**는 한국의 웹 개발 환경에 적합한 PHP 프레임워크입니다.
- 레거시 코드가 많거나 숙련되지 않은 개발자에 의해 프로그램이 개발되는 환경에서도 최대의 안정성과 보안을 제공합니다.
- 한국, 북미, 유럽권의 PHP를 기반으로 하는 무료 웹 호스팅에서도 안정적인 운영이 가능합니다.
2020-07-09 09:12:54 +00:00
- 객체지향, 모듈러(MVC), 시큐어 코딩 등 현대적인 웹 기술을 모르더라도 **더 적합한** 기준을 제공합니다.
2020-01-28 15:44:49 +00:00
- 리즈너블 프레임워크는 CSRF, XSS, SQL 인젝션 등 기초적인 **보안 위협에 사전 대응**하도록 설계되어 있습니다.
2020-07-09 09:12:54 +00:00
- 이 프로젝트는 PHP 버전 4 부터 버전 7까지 다양한 기업 수준의 적용 사례를 포함하고 있습니다.
2020-02-07 01:29:34 +00:00
- [카카오톡 채팅방 ](https://catswords.re.kr/go/kakaotalk )을 통해 실시간 버그 및 보안 이슈 해결이 가능합니다.
2019-03-15 01:06:32 +00:00
## English
2020-07-09 09:08:44 +00:00
- **ReasonableFramework** is a PHP framework designed to the restrictive web environments.
- It provides maximum stability and security even in environments where programs are developed by inexperienced developers or based on lagacy codes.
2020-07-09 09:12:54 +00:00
- It also works smoothly on free web hosting (in South Korea, America, and Europe) based on PHP 4 and 7.
- It provides a convincing standard even if you don't know modern web techs, such as object-oriented, modular(MVC), and secure coding.
- **ResonableFramework** is designed to **proactively respond to fundamental security threats** such as CSRF, XSS, and SQL injection.
- This projects including a lots of the **enterprise level cases** from PHP version 4(legacy) to 7(modern).
2020-02-07 01:29:34 +00:00
- You can quickly resolve bugs and security issues in [our chatting room ](https://catswords.re.kr/go/kakaotalk ).
2020-01-28 12:19:23 +00:00
## Contact us
2020-02-17 03:35:16 +00:00
- gnh1201@gmail.com
2020-01-28 12:19:23 +00:00
- support@exts.kr
2020-07-01 02:02:35 +00:00
- catswords@protonmail.com (if you require confidential)