From ff65eb98a2b34591a1494a335e08c8c6855ca60f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A4=80=ED=9D=A0?= Date: Tue, 24 Sep 2024 17:29:05 +0900 Subject: [PATCH] cfmgrv4 init...1 --- .gitignore | 19 + .vscode/settings.json | 3 + LICENSE | 22 + README.md | 2 + app/.htaccess | 6 + app/Common.php | 15 + app/Config/App.php | 202 +++++++ app/Config/Autoload.php | 94 +++ app/Config/Boot/development.php | 34 ++ app/Config/Boot/production.php | 25 + app/Config/Boot/testing.php | 38 ++ app/Config/CURLRequest.php | 20 + app/Config/Cache.php | 171 ++++++ app/Config/Constants.php | 275 +++++++++ app/Config/ContentSecurityPolicy.php | 176 ++++++ app/Config/Cookie.php | 107 ++++ app/Config/Cors.php | 105 ++++ app/Config/Database.php | 201 +++++++ app/Config/DocTypes.php | 46 ++ app/Config/Email.php | 121 ++++ app/Config/Encryption.php | 92 +++ app/Config/Events.php | 55 ++ app/Config/Exceptions.php | 106 ++++ app/Config/Feature.php | 29 + app/Config/Filters.php | 109 ++++ app/Config/ForeignCharacters.php | 12 + app/Config/Format.php | 77 +++ app/Config/Generators.php | 44 ++ app/Config/Honeypot.php | 42 ++ app/Config/Images.php | 31 + app/Config/Kint.php | 65 +++ app/Config/Logger.php | 150 +++++ app/Config/Migrations.php | 50 ++ app/Config/Mimes.php | 536 ++++++++++++++++++ app/Config/Modules.php | 84 +++ app/Config/Optimize.php | 32 ++ app/Config/Pager.php | 37 ++ app/Config/Paths.php | 75 +++ app/Config/Publisher.php | 28 + app/Config/Routes.php | 48 ++ app/Config/Routing.php | 140 +++++ app/Config/Security.php | 103 ++++ app/Config/Services.php | 32 ++ app/Config/Session.php | 127 +++++ app/Config/Toolbar.php | 122 ++++ app/Config/UserAgents.php | 252 ++++++++ app/Config/Validation.php | 44 ++ app/Config/View.php | 62 ++ app/Controllers/Admin/Home.php | 13 + app/Controllers/Admin/UserController.php | 29 + app/Controllers/AuthController.php | 58 ++ app/Controllers/BaseController.php | 58 ++ .../Cloudflare/AccountController.php | 71 +++ .../Cloudflare/CloudflareController.php | 51 ++ .../Cloudflare/RecordController.php | 109 ++++ app/Controllers/Cloudflare/ZoneController.php | 144 +++++ app/Controllers/CommonController.php | 32 ++ app/Controllers/Home.php | 11 + app/Controllers/MVController.php | 302 ++++++++++ .../Mangboard/CrawlerController.php | 131 +++++ app/Controllers/Mangboard/UserController.php | 80 +++ app/Database/Migrations/.gitkeep | 0 app/Database/Seeds/.gitkeep | 0 app/Entities/Cloudflare/AccountEntity.php | 31 + app/Entities/Cloudflare/RecordEntity.php | 31 + app/Entities/Cloudflare/ZoneEntity.php | 31 + app/Entities/CommonEntity.php | 22 + app/Entities/Mangboard/BoardEntity.php | 44 ++ app/Entities/Mangboard/BoardsEntity.php | 32 ++ app/Entities/Mangboard/FileEntity.php | 60 ++ app/Entities/Mangboard/UserEntity.php | 50 ++ app/Entities/SNSUserEntity.php | 32 ++ app/Entities/UserEntity.php | 49 ++ app/Filters/.gitkeep | 0 app/Filters/AuthFilter.php | 65 +++ app/Helpers/.gitkeep | 0 app/Helpers/Cloudflare/Account_helper.php | 1 + app/Helpers/Common_helper.php | 223 ++++++++ app/Language/.gitkeep | 0 app/Language/en/Cloudflare/Account.php | 22 + app/Language/en/Cloudflare/Record.php | 47 ++ app/Language/en/Cloudflare/Zone.php | 38 ++ app/Language/en/Mapurl.php | 16 + app/Language/en/User.php | 27 + app/Language/en/Validation.php | 4 + app/Libraries/.gitkeep | 0 app/Libraries/CommonLibrary.php | 21 + app/Libraries/MyAuth/GoogleAuth.php | 110 ++++ app/Libraries/MyAuth/LocalAuth.php | 33 ++ app/Libraries/MyAuth/MyAuth.php | 58 ++ app/Libraries/MyCloudflare/Account.php | 70 +++ app/Libraries/MyCloudflare/MyCloudflare.php | 67 +++ app/Libraries/MyCloudflare/Record.php | 129 +++++ app/Libraries/MyCloudflare/Zone.php | 157 +++++ app/Libraries/MyCrawler/Inven.php | 120 ++++ app/Libraries/MyCrawler/MyCrawler.php | 310 ++++++++++ app/Libraries/MyCrawler/Sir.php | 123 ++++ app/Libraries/MyCrawler/Yamap.php | 85 +++ app/Libraries/MyCrawler/Yamoon.php | 89 +++ app/Libraries/MyMangboard/Storage.php | 155 +++++ app/Libraries/MySocket/CloudflareSocket.php | 69 +++ app/Libraries/MySocket/GoogleSocket.php | 61 ++ app/Libraries/MySocket/WebSocket.php | 90 +++ app/Libraries/MyStorage/FileStorage.php | 111 ++++ app/Models/.gitkeep | 0 app/Models/Cloudflare/AccountModel.php | 79 +++ app/Models/Cloudflare/RecordModel.php | 125 ++++ app/Models/Cloudflare/ZoneModel.php | 116 ++++ app/Models/CommonModel.php | 255 +++++++++ app/Models/Mangboard/BoardModel.php | 158 ++++++ app/Models/Mangboard/BoardsModel.php | 146 +++++ app/Models/Mangboard/FileModel.php | 127 +++++ app/Models/Mangboard/UserModel.php | 236 ++++++++ app/Models/SNSUserModel.php | 71 +++ app/Models/UserModel.php | 86 +++ app/ThirdParty/.gitkeep | 0 app/Traits/AuthTrait.php | 26 + app/Traits/FileTrait.php | 62 ++ app/Traits/ImageTrait.php | 103 ++++ app/Views/admin/user/index.php | 50 ++ app/Views/admin/user/insert.php | 24 + app/Views/admin/user/update.php | 24 + app/Views/admin/user/view.php | 19 + app/Views/admin/welcome_message.php | 5 + app/Views/cells/board/information.php | 5 + app/Views/cells/board/reference.php | 5 + .../cells/product/beremetal_calculator.php | 82 +++ app/Views/cells/product/device.php | 43 ++ app/Views/cells/product/virtual.php | 30 + app/Views/cells/product/virtual_caculator.php | 87 +++ app/Views/cloudflare/account/create.php | 22 + app/Views/cloudflare/account/index.php | 54 ++ app/Views/cloudflare/account/update.php | 24 + app/Views/cloudflare/account/view.php | 19 + app/Views/errors/cli/error_404.php | 7 + app/Views/errors/cli/error_exception.php | 65 +++ app/Views/errors/cli/production.php | 5 + app/Views/errors/html/debug.css | 190 +++++++ app/Views/errors/html/debug.js | 116 ++++ app/Views/errors/html/error_404.php | 84 +++ app/Views/errors/html/error_exception.php | 430 ++++++++++++++ app/Views/errors/html/production.php | 25 + app/Views/front/user/index.php | 41 ++ app/Views/front/user/insert.php | 24 + app/Views/front/user/login.php | 39 ++ app/Views/front/user/login_v1.php | 37 ++ app/Views/front/user/update.php | 24 + app/Views/front/welcome_message.php | 342 +++++++++++ app/Views/layouts/admin.php | 44 ++ app/Views/layouts/admin/head.php | 20 + .../layouts/admin/head/make_password.php | 5 + app/Views/layouts/admin/head/member_link.php | 17 + app/Views/layouts/admin/head/search.php | 4 + app/Views/layouts/admin/left_menu.php | 14 + app/Views/layouts/admin/left_menu/base.php | 9 + .../layouts/admin/left_menu/shoppingmall.php | 20 + app/Views/layouts/admin/left_menu/site.php | 13 + app/Views/layouts/admin/tail.php | 0 app/Views/layouts/empty.php | 34 ++ app/Views/layouts/front.php | 41 ++ app/Views/layouts/front/head.php | 2 + app/Views/layouts/front/head/navigator.php | 44 ++ app/Views/layouts/front/head/top_menu.php | 37 ++ app/Views/layouts/front/left_menu.php | 14 + app/Views/layouts/front/tail.php | 1 + app/Views/layouts/front/tail/copyright.php | 48 ++ app/Views/layouts/front_simple.php | 49 ++ app/Views/layouts/main.php | 71 +++ app/Views/templates/Pagers/bootstrap_full.php | 34 ++ .../templates/Pagers/bootstrap_simple.php | 17 + app/Views/templates/admin/footer.php | 65 +++ app/Views/templates/admin/header.php | 7 + app/Views/templates/admin/index_head.php | 12 + app/Views/templates/empty/footer.php | 2 + app/Views/templates/empty/header.php | 1 + app/Views/templates/front/footer.php | 35 ++ app/Views/templates/front/header.php | 11 + app/Views/templates/front/index_head.php | 14 + app/Views/welcome_message.php | 331 +++++++++++ app/index.html | 11 + builds | 125 ++++ composer.json | 49 ++ env | 69 +++ phpunit.xml.dist | 63 ++ preload.php | 104 ++++ public/.htaccess | 49 ++ public/css/admin.css | 66 +++ public/css/admin/content.css | 95 ++++ public/css/admin/left_menu.css | 34 ++ public/css/admin/member_link.css | 17 + public/css/common/copyright.css | 29 + public/css/common/left_menu.css | 60 ++ public/css/common/login.css | 46 ++ public/css/common/login_v1.css | 50 ++ public/css/common/top_menu.css | 74 +++ public/css/common/top_navigator.css | 24 + public/css/empty.css | 14 + public/css/front.css | 54 ++ public/css/front/billing.css | 18 + public/css/front/content.css | 96 ++++ public/css/front/order.css | 50 ++ public/css/front/sitepage.css | 69 +++ public/css/main.css | 209 +++++++ public/css/main/content.css | 96 ++++ public/css/style.css | 33 ++ public/favicon.ico | Bin 0 -> 5430 bytes public/images/auth/google_login_button.png | Bin 0 -> 2280 bytes public/images/banner/sub_visual1.jpg | Bin 0 -> 156725 bytes public/images/banner/sub_visual2.jpg | Bin 0 -> 65350 bytes public/images/banner/sub_visual3.jpg | Bin 0 -> 181277 bytes public/images/banner/sub_visual4.jpg | Bin 0 -> 103135 bytes public/images/common/adminbg.png | Bin 0 -> 147749 bytes public/images/common/btn_login.png | Bin 0 -> 23014 bytes public/images/common/discord.png | Bin 0 -> 663 bytes public/images/common/excel.png | Bin 0 -> 881 bytes public/images/common/kakaotalk.png | Bin 0 -> 1399 bytes public/images/common/menu_on.gif | Bin 0 -> 2290 bytes public/images/common/telegram.png | Bin 0 -> 1763 bytes public/images/common/top.png | Bin 0 -> 2565 bytes public/images/common/top_skype.png | Bin 0 -> 2166 bytes public/images/logo/android-icon-144x144.png | Bin 0 -> 12970 bytes public/images/logo/android-icon-192x192.png | Bin 0 -> 18403 bytes public/images/logo/android-icon-36x36.png | Bin 0 -> 2316 bytes public/images/logo/android-icon-48x48.png | Bin 0 -> 3166 bytes public/images/logo/android-icon-72x72.png | Bin 0 -> 5056 bytes public/images/logo/android-icon-96x96.png | Bin 0 -> 7419 bytes public/images/logo/apple-icon-114x114.png | Bin 0 -> 9327 bytes public/images/logo/apple-icon-120x120.png | Bin 0 -> 10011 bytes public/images/logo/apple-icon-144x144.png | Bin 0 -> 12970 bytes public/images/logo/apple-icon-152x152.png | Bin 0 -> 14044 bytes public/images/logo/apple-icon-180x180.png | Bin 0 -> 17937 bytes public/images/logo/apple-icon-57x57.png | Bin 0 -> 3818 bytes public/images/logo/apple-icon-60x60.png | Bin 0 -> 4062 bytes public/images/logo/apple-icon-72x72.png | Bin 0 -> 5056 bytes public/images/logo/apple-icon-76x76.png | Bin 0 -> 5430 bytes public/images/logo/apple-icon-precomposed.png | Bin 0 -> 18839 bytes public/images/logo/apple-icon.png | Bin 0 -> 18839 bytes public/images/logo/favicon-16x16.png | Bin 0 -> 1139 bytes public/images/logo/favicon-32x32.png | Bin 0 -> 2001 bytes public/images/logo/favicon-96x96.png | Bin 0 -> 7419 bytes public/images/logo/favicon.ico | Bin 0 -> 1150 bytes public/images/logo/logo-small.png | Bin 0 -> 7635 bytes public/images/logo/ms-icon-144x144.png | Bin 0 -> 12970 bytes public/images/logo/ms-icon-150x150.png | Bin 0 -> 13788 bytes public/images/logo/ms-icon-310x310.png | Bin 0 -> 39111 bytes public/images/logo/ms-icon-70x70.png | Bin 0 -> 4905 bytes public/images/main/bg_bnr.jpg | Bin 0 -> 290719 bytes public/images/main/bg_notice.gif | Bin 0 -> 52245 bytes public/images/main/icon1.png | Bin 0 -> 3304 bytes public/images/main/icon2.png | Bin 0 -> 4430 bytes public/images/main/icon3.png | Bin 0 -> 3754 bytes public/images/main/visual1.jpg | Bin 0 -> 382312 bytes public/images/main/visual2.jpg | Bin 0 -> 430511 bytes public/images/main/visual3.jpg | Bin 0 -> 236665 bytes public/images/sub/com_icon1.png | Bin 0 -> 2532 bytes public/images/sub/com_icon2.png | Bin 0 -> 4746 bytes public/images/sub/com_icon3.png | Bin 0 -> 5005 bytes public/images/sub/com_icon4.png | Bin 0 -> 27802 bytes public/images/sub/product_img1.jpg | Bin 0 -> 29965 bytes public/images/sub/product_img2.jpg | Bin 0 -> 27995 bytes public/images/sub/product_img3.jpg | Bin 0 -> 31325 bytes public/images/sub/sub1_1.jpg | Bin 0 -> 148056 bytes public/images/sub/sub2_1.jpg | Bin 0 -> 40912 bytes public/images/sub/sub2_1_icon.gif | Bin 0 -> 3293 bytes public/images/sub/sub2_1_skype.gif | Bin 0 -> 1574 bytes public/images/sub/sub2_2_tit.png | Bin 0 -> 7001 bytes public/images/sub/sub3_1.jpg | Bin 0 -> 79848 bytes public/images/sub/sub_visual1.jpg | Bin 0 -> 156725 bytes public/images/sub/sub_visual2.jpg | Bin 0 -> 65350 bytes public/images/sub/sub_visual3.jpg | Bin 0 -> 181277 bytes public/images/sub/sub_visual4.jpg | Bin 0 -> 103135 bytes public/index.php | 56 ++ public/js/admin.js | 104 ++++ public/js/admin/side_menu.js | 13 + public/js/empty.js | 6 + public/js/front.js | 93 +++ public/js/main.js | 93 +++ public/js/popup.js | 54 ++ public/robots.txt | 2 + public/tinymce_upload.php | 32 ++ spark | 84 +++ tests/.htaccess | 6 + tests/README.md | 118 ++++ .../2020-02-22-222222_example_migration.php | 37 ++ .../_support/Database/Seeds/ExampleSeeder.php | 41 ++ tests/_support/Libraries/ConfigReader.php | 17 + tests/_support/Models/ExampleModel.php | 24 + tests/database/ExampleDatabaseTest.php | 46 ++ tests/index.html | 11 + tests/session/ExampleSessionTest.php | 18 + tests/unit/HealthTest.php | 50 ++ writable/.htaccess | 6 + writable/cache/index.html | 11 + writable/excel/index.html | 11 + writable/index.html | 11 + writable/logs/index.html | 11 + writable/session/index.html | 11 + writable/uploads/index.html | 11 + 298 files changed, 15147 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app/.htaccess create mode 100644 app/Common.php create mode 100644 app/Config/App.php create mode 100644 app/Config/Autoload.php create mode 100644 app/Config/Boot/development.php create mode 100644 app/Config/Boot/production.php create mode 100644 app/Config/Boot/testing.php create mode 100644 app/Config/CURLRequest.php create mode 100644 app/Config/Cache.php create mode 100644 app/Config/Constants.php create mode 100644 app/Config/ContentSecurityPolicy.php create mode 100644 app/Config/Cookie.php create mode 100644 app/Config/Cors.php create mode 100644 app/Config/Database.php create mode 100644 app/Config/DocTypes.php create mode 100644 app/Config/Email.php create mode 100644 app/Config/Encryption.php create mode 100644 app/Config/Events.php create mode 100644 app/Config/Exceptions.php create mode 100644 app/Config/Feature.php create mode 100644 app/Config/Filters.php create mode 100644 app/Config/ForeignCharacters.php create mode 100644 app/Config/Format.php create mode 100644 app/Config/Generators.php create mode 100644 app/Config/Honeypot.php create mode 100644 app/Config/Images.php create mode 100644 app/Config/Kint.php create mode 100644 app/Config/Logger.php create mode 100644 app/Config/Migrations.php create mode 100644 app/Config/Mimes.php create mode 100644 app/Config/Modules.php create mode 100644 app/Config/Optimize.php create mode 100644 app/Config/Pager.php create mode 100644 app/Config/Paths.php create mode 100644 app/Config/Publisher.php create mode 100644 app/Config/Routes.php create mode 100644 app/Config/Routing.php create mode 100644 app/Config/Security.php create mode 100644 app/Config/Services.php create mode 100644 app/Config/Session.php create mode 100644 app/Config/Toolbar.php create mode 100644 app/Config/UserAgents.php create mode 100644 app/Config/Validation.php create mode 100644 app/Config/View.php create mode 100644 app/Controllers/Admin/Home.php create mode 100644 app/Controllers/Admin/UserController.php create mode 100644 app/Controllers/AuthController.php create mode 100644 app/Controllers/BaseController.php create mode 100644 app/Controllers/Cloudflare/AccountController.php create mode 100644 app/Controllers/Cloudflare/CloudflareController.php create mode 100644 app/Controllers/Cloudflare/RecordController.php create mode 100644 app/Controllers/Cloudflare/ZoneController.php create mode 100644 app/Controllers/CommonController.php create mode 100644 app/Controllers/Home.php create mode 100644 app/Controllers/MVController.php create mode 100644 app/Controllers/Mangboard/CrawlerController.php create mode 100644 app/Controllers/Mangboard/UserController.php create mode 100644 app/Database/Migrations/.gitkeep create mode 100644 app/Database/Seeds/.gitkeep create mode 100644 app/Entities/Cloudflare/AccountEntity.php create mode 100644 app/Entities/Cloudflare/RecordEntity.php create mode 100644 app/Entities/Cloudflare/ZoneEntity.php create mode 100644 app/Entities/CommonEntity.php create mode 100644 app/Entities/Mangboard/BoardEntity.php create mode 100644 app/Entities/Mangboard/BoardsEntity.php create mode 100644 app/Entities/Mangboard/FileEntity.php create mode 100644 app/Entities/Mangboard/UserEntity.php create mode 100644 app/Entities/SNSUserEntity.php create mode 100644 app/Entities/UserEntity.php create mode 100644 app/Filters/.gitkeep create mode 100644 app/Filters/AuthFilter.php create mode 100644 app/Helpers/.gitkeep create mode 100644 app/Helpers/Cloudflare/Account_helper.php create mode 100644 app/Helpers/Common_helper.php create mode 100644 app/Language/.gitkeep create mode 100644 app/Language/en/Cloudflare/Account.php create mode 100644 app/Language/en/Cloudflare/Record.php create mode 100644 app/Language/en/Cloudflare/Zone.php create mode 100644 app/Language/en/Mapurl.php create mode 100644 app/Language/en/User.php create mode 100644 app/Language/en/Validation.php create mode 100644 app/Libraries/.gitkeep create mode 100644 app/Libraries/CommonLibrary.php create mode 100644 app/Libraries/MyAuth/GoogleAuth.php create mode 100644 app/Libraries/MyAuth/LocalAuth.php create mode 100644 app/Libraries/MyAuth/MyAuth.php create mode 100644 app/Libraries/MyCloudflare/Account.php create mode 100644 app/Libraries/MyCloudflare/MyCloudflare.php create mode 100644 app/Libraries/MyCloudflare/Record.php create mode 100644 app/Libraries/MyCloudflare/Zone.php create mode 100644 app/Libraries/MyCrawler/Inven.php create mode 100644 app/Libraries/MyCrawler/MyCrawler.php create mode 100644 app/Libraries/MyCrawler/Sir.php create mode 100644 app/Libraries/MyCrawler/Yamap.php create mode 100644 app/Libraries/MyCrawler/Yamoon.php create mode 100644 app/Libraries/MyMangboard/Storage.php create mode 100644 app/Libraries/MySocket/CloudflareSocket.php create mode 100644 app/Libraries/MySocket/GoogleSocket.php create mode 100644 app/Libraries/MySocket/WebSocket.php create mode 100644 app/Libraries/MyStorage/FileStorage.php create mode 100644 app/Models/.gitkeep create mode 100644 app/Models/Cloudflare/AccountModel.php create mode 100644 app/Models/Cloudflare/RecordModel.php create mode 100644 app/Models/Cloudflare/ZoneModel.php create mode 100644 app/Models/CommonModel.php create mode 100644 app/Models/Mangboard/BoardModel.php create mode 100644 app/Models/Mangboard/BoardsModel.php create mode 100644 app/Models/Mangboard/FileModel.php create mode 100644 app/Models/Mangboard/UserModel.php create mode 100644 app/Models/SNSUserModel.php create mode 100644 app/Models/UserModel.php create mode 100644 app/ThirdParty/.gitkeep create mode 100644 app/Traits/AuthTrait.php create mode 100644 app/Traits/FileTrait.php create mode 100644 app/Traits/ImageTrait.php create mode 100644 app/Views/admin/user/index.php create mode 100644 app/Views/admin/user/insert.php create mode 100644 app/Views/admin/user/update.php create mode 100644 app/Views/admin/user/view.php create mode 100644 app/Views/admin/welcome_message.php create mode 100644 app/Views/cells/board/information.php create mode 100644 app/Views/cells/board/reference.php create mode 100644 app/Views/cells/product/beremetal_calculator.php create mode 100644 app/Views/cells/product/device.php create mode 100644 app/Views/cells/product/virtual.php create mode 100644 app/Views/cells/product/virtual_caculator.php create mode 100644 app/Views/cloudflare/account/create.php create mode 100644 app/Views/cloudflare/account/index.php create mode 100644 app/Views/cloudflare/account/update.php create mode 100644 app/Views/cloudflare/account/view.php create mode 100644 app/Views/errors/cli/error_404.php create mode 100644 app/Views/errors/cli/error_exception.php create mode 100644 app/Views/errors/cli/production.php create mode 100644 app/Views/errors/html/debug.css create mode 100644 app/Views/errors/html/debug.js create mode 100644 app/Views/errors/html/error_404.php create mode 100644 app/Views/errors/html/error_exception.php create mode 100644 app/Views/errors/html/production.php create mode 100644 app/Views/front/user/index.php create mode 100644 app/Views/front/user/insert.php create mode 100644 app/Views/front/user/login.php create mode 100644 app/Views/front/user/login_v1.php create mode 100644 app/Views/front/user/update.php create mode 100644 app/Views/front/welcome_message.php create mode 100644 app/Views/layouts/admin.php create mode 100644 app/Views/layouts/admin/head.php create mode 100644 app/Views/layouts/admin/head/make_password.php create mode 100644 app/Views/layouts/admin/head/member_link.php create mode 100644 app/Views/layouts/admin/head/search.php create mode 100644 app/Views/layouts/admin/left_menu.php create mode 100644 app/Views/layouts/admin/left_menu/base.php create mode 100644 app/Views/layouts/admin/left_menu/shoppingmall.php create mode 100644 app/Views/layouts/admin/left_menu/site.php create mode 100644 app/Views/layouts/admin/tail.php create mode 100644 app/Views/layouts/empty.php create mode 100644 app/Views/layouts/front.php create mode 100644 app/Views/layouts/front/head.php create mode 100644 app/Views/layouts/front/head/navigator.php create mode 100644 app/Views/layouts/front/head/top_menu.php create mode 100644 app/Views/layouts/front/left_menu.php create mode 100644 app/Views/layouts/front/tail.php create mode 100644 app/Views/layouts/front/tail/copyright.php create mode 100644 app/Views/layouts/front_simple.php create mode 100644 app/Views/layouts/main.php create mode 100644 app/Views/templates/Pagers/bootstrap_full.php create mode 100644 app/Views/templates/Pagers/bootstrap_simple.php create mode 100644 app/Views/templates/admin/footer.php create mode 100644 app/Views/templates/admin/header.php create mode 100644 app/Views/templates/admin/index_head.php create mode 100644 app/Views/templates/empty/footer.php create mode 100644 app/Views/templates/empty/header.php create mode 100644 app/Views/templates/front/footer.php create mode 100644 app/Views/templates/front/header.php create mode 100644 app/Views/templates/front/index_head.php create mode 100644 app/Views/welcome_message.php create mode 100644 app/index.html create mode 100644 builds create mode 100644 composer.json create mode 100644 env create mode 100644 phpunit.xml.dist create mode 100644 preload.php create mode 100644 public/.htaccess create mode 100644 public/css/admin.css create mode 100644 public/css/admin/content.css create mode 100644 public/css/admin/left_menu.css create mode 100644 public/css/admin/member_link.css create mode 100644 public/css/common/copyright.css create mode 100644 public/css/common/left_menu.css create mode 100644 public/css/common/login.css create mode 100644 public/css/common/login_v1.css create mode 100644 public/css/common/top_menu.css create mode 100644 public/css/common/top_navigator.css create mode 100644 public/css/empty.css create mode 100644 public/css/front.css create mode 100644 public/css/front/billing.css create mode 100644 public/css/front/content.css create mode 100644 public/css/front/order.css create mode 100644 public/css/front/sitepage.css create mode 100644 public/css/main.css create mode 100644 public/css/main/content.css create mode 100644 public/css/style.css create mode 100644 public/favicon.ico create mode 100644 public/images/auth/google_login_button.png create mode 100644 public/images/banner/sub_visual1.jpg create mode 100644 public/images/banner/sub_visual2.jpg create mode 100644 public/images/banner/sub_visual3.jpg create mode 100644 public/images/banner/sub_visual4.jpg create mode 100644 public/images/common/adminbg.png create mode 100644 public/images/common/btn_login.png create mode 100644 public/images/common/discord.png create mode 100644 public/images/common/excel.png create mode 100644 public/images/common/kakaotalk.png create mode 100644 public/images/common/menu_on.gif create mode 100644 public/images/common/telegram.png create mode 100644 public/images/common/top.png create mode 100644 public/images/common/top_skype.png create mode 100644 public/images/logo/android-icon-144x144.png create mode 100644 public/images/logo/android-icon-192x192.png create mode 100644 public/images/logo/android-icon-36x36.png create mode 100644 public/images/logo/android-icon-48x48.png create mode 100644 public/images/logo/android-icon-72x72.png create mode 100644 public/images/logo/android-icon-96x96.png create mode 100644 public/images/logo/apple-icon-114x114.png create mode 100644 public/images/logo/apple-icon-120x120.png create mode 100644 public/images/logo/apple-icon-144x144.png create mode 100644 public/images/logo/apple-icon-152x152.png create mode 100644 public/images/logo/apple-icon-180x180.png create mode 100644 public/images/logo/apple-icon-57x57.png create mode 100644 public/images/logo/apple-icon-60x60.png create mode 100644 public/images/logo/apple-icon-72x72.png create mode 100644 public/images/logo/apple-icon-76x76.png create mode 100644 public/images/logo/apple-icon-precomposed.png create mode 100644 public/images/logo/apple-icon.png create mode 100644 public/images/logo/favicon-16x16.png create mode 100644 public/images/logo/favicon-32x32.png create mode 100644 public/images/logo/favicon-96x96.png create mode 100644 public/images/logo/favicon.ico create mode 100644 public/images/logo/logo-small.png create mode 100644 public/images/logo/ms-icon-144x144.png create mode 100644 public/images/logo/ms-icon-150x150.png create mode 100644 public/images/logo/ms-icon-310x310.png create mode 100644 public/images/logo/ms-icon-70x70.png create mode 100644 public/images/main/bg_bnr.jpg create mode 100644 public/images/main/bg_notice.gif create mode 100644 public/images/main/icon1.png create mode 100644 public/images/main/icon2.png create mode 100644 public/images/main/icon3.png create mode 100644 public/images/main/visual1.jpg create mode 100644 public/images/main/visual2.jpg create mode 100644 public/images/main/visual3.jpg create mode 100644 public/images/sub/com_icon1.png create mode 100644 public/images/sub/com_icon2.png create mode 100644 public/images/sub/com_icon3.png create mode 100644 public/images/sub/com_icon4.png create mode 100644 public/images/sub/product_img1.jpg create mode 100644 public/images/sub/product_img2.jpg create mode 100644 public/images/sub/product_img3.jpg create mode 100644 public/images/sub/sub1_1.jpg create mode 100644 public/images/sub/sub2_1.jpg create mode 100644 public/images/sub/sub2_1_icon.gif create mode 100644 public/images/sub/sub2_1_skype.gif create mode 100644 public/images/sub/sub2_2_tit.png create mode 100644 public/images/sub/sub3_1.jpg create mode 100644 public/images/sub/sub_visual1.jpg create mode 100644 public/images/sub/sub_visual2.jpg create mode 100644 public/images/sub/sub_visual3.jpg create mode 100644 public/images/sub/sub_visual4.jpg create mode 100644 public/index.php create mode 100644 public/js/admin.js create mode 100644 public/js/admin/side_menu.js create mode 100644 public/js/empty.js create mode 100644 public/js/front.js create mode 100644 public/js/main.js create mode 100644 public/js/popup.js create mode 100644 public/robots.txt create mode 100644 public/tinymce_upload.php create mode 100644 spark create mode 100644 tests/.htaccess create mode 100644 tests/README.md create mode 100644 tests/_support/Database/Migrations/2020-02-22-222222_example_migration.php create mode 100644 tests/_support/Database/Seeds/ExampleSeeder.php create mode 100644 tests/_support/Libraries/ConfigReader.php create mode 100644 tests/_support/Models/ExampleModel.php create mode 100644 tests/database/ExampleDatabaseTest.php create mode 100644 tests/index.html create mode 100644 tests/session/ExampleSessionTest.php create mode 100644 tests/unit/HealthTest.php create mode 100644 writable/.htaccess create mode 100644 writable/cache/index.html create mode 100644 writable/excel/index.html create mode 100644 writable/index.html create mode 100644 writable/logs/index.html create mode 100644 writable/session/index.html create mode 100644 writable/uploads/index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0b851ff --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +#codeigniter4 +composer.lock +/vendor/ +public/vendors/ +public/tinymce_uploads +.env + +writable/caceh/* +!writable/caceh/index.html +writable/logs/* +!writable/logs/index.html +writable/session/* +!writable/session/index.html +writable/uploads/* +!writable/uploads/index.html +writable/debugbar/* +!writable/debugbar/index.html +writable/excel/* +!writable/excel/index.html \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7bf3b90 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "php.version": "8.3" +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..148e7f7 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2014-2019 British Columbia Institute of Technology +Copyright (c) 2019-2024 CodeIgniter Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f5f8ee1 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# Automation + diff --git a/app/.htaccess b/app/.htaccess new file mode 100644 index 0000000..3462048 --- /dev/null +++ b/app/.htaccess @@ -0,0 +1,6 @@ + + Require all denied + + + Deny from all + diff --git a/app/Common.php b/app/Common.php new file mode 100644 index 0000000..95f5544 --- /dev/null +++ b/app/Common.php @@ -0,0 +1,15 @@ + + */ + public array $allowedHostnames = []; + + /** + * -------------------------------------------------------------------------- + * Index File + * -------------------------------------------------------------------------- + * + * Typically, this will be your `index.php` file, unless you've renamed it to + * something else. If you have configured your web server to remove this file + * from your site URIs, set this variable to an empty string. + */ + public string $indexPage = 'index.php'; + + /** + * -------------------------------------------------------------------------- + * URI PROTOCOL + * -------------------------------------------------------------------------- + * + * This item determines which server global should be used to retrieve the + * URI string. The default setting of 'REQUEST_URI' works for most servers. + * If your links do not seem to work, try one of the other delicious flavors: + * + * 'REQUEST_URI': Uses $_SERVER['REQUEST_URI'] + * 'QUERY_STRING': Uses $_SERVER['QUERY_STRING'] + * 'PATH_INFO': Uses $_SERVER['PATH_INFO'] + * + * WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded! + */ + public string $uriProtocol = 'REQUEST_URI'; + + /* + |-------------------------------------------------------------------------- + | Allowed URL Characters + |-------------------------------------------------------------------------- + | + | This lets you specify which characters are permitted within your URLs. + | When someone tries to submit a URL with disallowed characters they will + | get a warning message. + | + | As a security measure you are STRONGLY encouraged to restrict URLs to + | as few characters as possible. + | + | By default, only these are allowed: `a-z 0-9~%.:_-` + | + | Set an empty string to allow all characters -- but only if you are insane. + | + | The configured value is actually a regular expression character group + | and it will be used as: '/\A[]+\z/iu' + | + | DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! + | + */ + public string $permittedURIChars = 'a-z 0-9~%.:_\-'; + + /** + * -------------------------------------------------------------------------- + * Default Locale + * -------------------------------------------------------------------------- + * + * The Locale roughly represents the language and location that your visitor + * is viewing the site from. It affects the language strings and other + * strings (like currency markers, numbers, etc), that your program + * should run under for this request. + */ + public string $defaultLocale = 'en'; + + /** + * -------------------------------------------------------------------------- + * Negotiate Locale + * -------------------------------------------------------------------------- + * + * If true, the current Request object will automatically determine the + * language to use based on the value of the Accept-Language header. + * + * If false, no automatic detection will be performed. + */ + public bool $negotiateLocale = false; + + /** + * -------------------------------------------------------------------------- + * Supported Locales + * -------------------------------------------------------------------------- + * + * If $negotiateLocale is true, this array lists the locales supported + * by the application in descending order of priority. If no match is + * found, the first locale will be used. + * + * IncomingRequest::setLocale() also uses this list. + * + * @var list + */ + public array $supportedLocales = ['en']; + + /** + * -------------------------------------------------------------------------- + * Application Timezone + * -------------------------------------------------------------------------- + * + * The default timezone that will be used in your application to display + * dates with the date helper, and can be retrieved through app_timezone() + * + * @see https://www.php.net/manual/en/timezones.php for list of timezones + * supported by PHP. + */ + public string $appTimezone = 'UTC'; + + /** + * -------------------------------------------------------------------------- + * Default Character Set + * -------------------------------------------------------------------------- + * + * This determines which character set is used by default in various methods + * that require a character set to be provided. + * + * @see http://php.net/htmlspecialchars for a list of supported charsets. + */ + public string $charset = 'UTF-8'; + + /** + * -------------------------------------------------------------------------- + * Force Global Secure Requests + * -------------------------------------------------------------------------- + * + * If true, this will force every request made to this application to be + * made via a secure connection (HTTPS). If the incoming request is not + * secure, the user will be redirected to a secure version of the page + * and the HTTP Strict Transport Security (HSTS) header will be set. + */ + public bool $forceGlobalSecureRequests = false; + + /** + * -------------------------------------------------------------------------- + * Reverse Proxy IPs + * -------------------------------------------------------------------------- + * + * If your server is behind a reverse proxy, you must whitelist the proxy + * IP addresses from which CodeIgniter should trust headers such as + * X-Forwarded-For or Client-IP in order to properly identify + * the visitor's IP address. + * + * You need to set a proxy IP address or IP address with subnets and + * the HTTP header for the client IP address. + * + * Here are some examples: + * [ + * '10.0.1.200' => 'X-Forwarded-For', + * '192.168.5.0/24' => 'X-Real-IP', + * ] + * + * @var array + */ + public array $proxyIPs = []; + + /** + * -------------------------------------------------------------------------- + * Content Security Policy + * -------------------------------------------------------------------------- + * + * Enables the Response's Content Secure Policy to restrict the sources that + * can be used for images, scripts, CSS files, audio, video, etc. If enabled, + * the Response object will populate default values for the policy from the + * `ContentSecurityPolicy.php` file. Controllers can always add to those + * restrictions at run time. + * + * For a better understanding of CSP, see these documents: + * + * @see http://www.html5rocks.com/en/tutorials/security/content-security-policy/ + * @see http://www.w3.org/TR/CSP/ + */ + public bool $CSPEnabled = false; +} diff --git a/app/Config/Autoload.php b/app/Config/Autoload.php new file mode 100644 index 0000000..76cd926 --- /dev/null +++ b/app/Config/Autoload.php @@ -0,0 +1,94 @@ +|string> + */ + public $psr4 = [ + APP_NAMESPACE => APPPATH, + ]; + + /** + * ------------------------------------------------------------------- + * Class Map + * ------------------------------------------------------------------- + * The class map provides a map of class names and their exact + * location on the drive. Classes loaded in this manner will have + * slightly faster performance because they will not have to be + * searched for within one or more directories as they would if they + * were being autoloaded through a namespace. + * + * Prototype: + * $classmap = [ + * 'MyClass' => '/path/to/class/file.php' + * ]; + * + * @var array + */ + public $classmap = []; + + /** + * ------------------------------------------------------------------- + * Files + * ------------------------------------------------------------------- + * The files array provides a list of paths to __non-class__ files + * that will be autoloaded. This can be useful for bootstrap operations + * or for loading functions. + * + * Prototype: + * $files = [ + * '/path/to/my/file.php', + * ]; + * + * @var list + */ + public $files = []; + + /** + * ------------------------------------------------------------------- + * Helpers + * ------------------------------------------------------------------- + * Prototype: + * $helpers = [ + * 'form', + * ]; + * + * @var list + */ + public $helpers = []; +} diff --git a/app/Config/Boot/development.php b/app/Config/Boot/development.php new file mode 100644 index 0000000..a868447 --- /dev/null +++ b/app/Config/Boot/development.php @@ -0,0 +1,34 @@ + + */ + public array $file = [ + 'storePath' => WRITEPATH . 'cache/', + 'mode' => 0640, + ]; + + /** + * ------------------------------------------------------------------------- + * Memcached settings + * ------------------------------------------------------------------------- + * Your Memcached servers can be specified below, if you are using + * the Memcached drivers. + * + * @see https://codeigniter.com/user_guide/libraries/caching.html#memcached + * + * @var array + */ + public array $memcached = [ + 'host' => '127.0.0.1', + 'port' => 11211, + 'weight' => 1, + 'raw' => false, + ]; + + /** + * ------------------------------------------------------------------------- + * Redis settings + * ------------------------------------------------------------------------- + * Your Redis server can be specified below, if you are using + * the Redis or Predis drivers. + * + * @var array + */ + public array $redis = [ + 'host' => '127.0.0.1', + 'password' => null, + 'port' => 6379, + 'timeout' => 0, + 'database' => 0, + ]; + + /** + * -------------------------------------------------------------------------- + * Available Cache Handlers + * -------------------------------------------------------------------------- + * + * This is an array of cache engine alias' and class names. Only engines + * that are listed here are allowed to be used. + * + * @var array> + */ + public array $validHandlers = [ + 'dummy' => DummyHandler::class, + 'file' => FileHandler::class, + 'memcached' => MemcachedHandler::class, + 'predis' => PredisHandler::class, + 'redis' => RedisHandler::class, + 'wincache' => WincacheHandler::class, + ]; + + /** + * -------------------------------------------------------------------------- + * Web Page Caching: Cache Include Query String + * -------------------------------------------------------------------------- + * + * Whether to take the URL query string into consideration when generating + * output cache files. Valid options are: + * + * false = Disabled + * true = Enabled, take all query parameters into account. + * Please be aware that this may result in numerous cache + * files generated for the same page over and over again. + * ['q'] = Enabled, but only take into account the specified list + * of query parameters. + * + * @var bool|list + */ + public $cacheQueryString = false; +} diff --git a/app/Config/Constants.php b/app/Config/Constants.php new file mode 100644 index 0000000..99adc53 --- /dev/null +++ b/app/Config/Constants.php @@ -0,0 +1,275 @@ + "guest", + 'STATUS' => "use", + 'EMPTY' => "", + 'PERPAGE' => 20, + 'DELIMITER_FILE' => "||", + 'DELIMITER_ROLE' => ",", +]); +//URL +define('URLS', [ + 'LOGIN' => '/user/login', + 'SIGNUP' => '/user/signup', + 'LOGOUT' => '/user/logout', +]); +//회원ROLE +define('ROLES', [ + 'guest', + 'user', + 'vip', + 'manager', + 'cloudflare', + 'director', + 'master', +]); +//SESSION 관련 +define('SESSION_NAMES', [ + 'RETURN_URL' => "return_url", + 'RETURN_MSG' => "return_message", + 'ISLOGIN' => "islogined", + 'AUTH' => 'auth', +]); +//인증 관련 +define('AUTH_FIELDS', [ + 'ID' => 'id', + 'TITLE' => 'title', + 'ROLE' => 'role', +]); +//DBAction +define('DB_ACTION', [ + 'CREATE' => 'create', + 'MODIFY' => 'modify', +]); + +define("MESSENGERS", [ + "skype" => [ + "url" => "https://join.skype.com/invite/uKUgXfZThSQC", + "icon" => '스카이프', + "id" => '', + ], + "discord" => [ + "url" => "https://discord.gg/k6nQg84N", + "icon" => '디스코드', + "id" => '', + ], + "telegram" => [ + "url" => "https://t.me/daemonidc", + "icon" => '텔레그램', + "id" => '@daemonidc', + ], + "kakaotalk" => [ + "url" => "https://t.me/daemonidc", + "icon" => '카카오톡', + "id" => '', + ], +]); + +//아이콘 및 Sound관련 +define('ICONS', [ + 'LOGO' => '', + 'LOGIN' => '', + 'LOGOUT' => '', + 'HOME' => '', + 'MENU' => '', + 'LOCK' => '', + 'NEW' => '', + 'REPLY' => '', + 'DELETE' => '', + 'RELOAD' => '', + 'SETUP' => '', + 'FLAG' => '', + 'SEARCH' => '', + 'EXCEL' => '', + 'PLAY' => '', + 'CART' => '', + 'CARD' => '', + 'DEPOSIT' => '', + 'DESKTOP' => '', + 'UP' => '', + 'DOWN' => '', + 'LEFT' => '', + 'RIGHT' => '', + 'IMAGE_FILE' => '', + 'GOOGLE' => '', +]); + +define('TOP_BANNER', [ + 'default' => '', + 'aboutus' => '', + 'member' => '', + 'hosting' => '', + 'serverdevice' => '', + 'service' => '', + 'support' => '', +]); + +define('AUDIOS', [ + 'Alram_GetEmail' => '', +]); + +define('KEYWORD', '일본IDC 일본서버 일본 서버 일본호스팅 서버호스팅 디도스 공격 해외 호스팅 DDOS 방어 ddos 의뢰 디도스 보안 일본 단독서버 가상서버'); +define('LAYOUTS', [ + 'empty' => [ + 'path' => 'layouts' . DIRECTORY_SEPARATOR . 'empty', + 'stylesheets' => [ + '', + '', + '', + ], + 'javascripts' => [ + '', + ], + ], + 'front' => [ + 'title' => KEYWORD, + 'path' => 'layouts' . DIRECTORY_SEPARATOR . 'front', + //'topmenus' => ['aboutus', 'hosting', 'serverdevice', 'service', 'support'], + 'topmenus' => ['aboutus', 'hosting', 'service', 'support'], + 'metas' => [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + ], + 'stylesheets' => [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + ], + 'javascripts' => [ + '', + '', + '', + '', + '', + ], + ], + 'admin' => [ + 'title' => '관리자화면', + 'path' => 'layouts' . DIRECTORY_SEPARATOR . 'admin', + 'stylesheets' => [ + '', + '', + '', + '', + '', + '', + '', + '', + ], + 'javascripts' => [ + '', + '', + '', + '', + '', + ], + ], +]); diff --git a/app/Config/ContentSecurityPolicy.php b/app/Config/ContentSecurityPolicy.php new file mode 100644 index 0000000..2ac41a7 --- /dev/null +++ b/app/Config/ContentSecurityPolicy.php @@ -0,0 +1,176 @@ +|string|null + */ + public $defaultSrc; + + /** + * Lists allowed scripts' URLs. + * + * @var list|string + */ + public $scriptSrc = 'self'; + + /** + * Lists allowed stylesheets' URLs. + * + * @var list|string + */ + public $styleSrc = 'self'; + + /** + * Defines the origins from which images can be loaded. + * + * @var list|string + */ + public $imageSrc = 'self'; + + /** + * Restricts the URLs that can appear in a page's `` element. + * + * Will default to self if not overridden + * + * @var list|string|null + */ + public $baseURI; + + /** + * Lists the URLs for workers and embedded frame contents + * + * @var list|string + */ + public $childSrc = 'self'; + + /** + * Limits the origins that you can connect to (via XHR, + * WebSockets, and EventSource). + * + * @var list|string + */ + public $connectSrc = 'self'; + + /** + * Specifies the origins that can serve web fonts. + * + * @var list|string + */ + public $fontSrc; + + /** + * Lists valid endpoints for submission from `
` tags. + * + * @var list|string + */ + public $formAction = 'self'; + + /** + * Specifies the sources that can embed the current page. + * This directive applies to ``, `