From 0e74571a157d3ca7997398e82f2ef3be119216db Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 25 Jul 2025 18:48:04 -0400 Subject: [PATCH] init 5 --- protected/src/configs/off_redis.php | 19 +++++++++++ protected/src/configs/on_security.php | 9 +++++ protected/src/configs/on_sessions.php | 19 +++++++++++ protected/src/controllers/app/cookie_ctrl.php | 34 +++++++++++++++++++ .../src/services/on_session_encryption.php | 32 +++++++++++++++++ 5 files changed, 113 insertions(+) create mode 100644 protected/src/configs/off_redis.php create mode 100644 protected/src/configs/on_security.php create mode 100644 protected/src/configs/on_sessions.php create mode 100644 protected/src/controllers/app/cookie_ctrl.php create mode 100644 protected/src/services/on_session_encryption.php diff --git a/protected/src/configs/off_redis.php b/protected/src/configs/off_redis.php new file mode 100644 index 0000000..053665a --- /dev/null +++ b/protected/src/configs/off_redis.php @@ -0,0 +1,19 @@ + + * @copyright (c) 2025, Robert Strutts + * @license MIT + */ + +use CodeHydrater\bootstrap\configure as Config; + +Config::set('redis', [ +// 'host' => 'redis.example.com', + 'port' => 6379, + 'auth' => 'your_redis_password', + 'prefix' => 'PROJECT_SESSIONS:', +]); + diff --git a/protected/src/configs/on_security.php b/protected/src/configs/on_security.php new file mode 100644 index 0000000..81a27b1 --- /dev/null +++ b/protected/src/configs/on_security.php @@ -0,0 +1,9 @@ + true, +)); \ No newline at end of file diff --git a/protected/src/configs/on_sessions.php b/protected/src/configs/on_sessions.php new file mode 100644 index 0000000..400d72e --- /dev/null +++ b/protected/src/configs/on_sessions.php @@ -0,0 +1,19 @@ + + * @copyright (c) 2025, Robert Strutts + * @license MIT + */ + +use CodeHydrater\bootstrap\configure as Config; + +Config::set('sessions', [ + 'type' => 'cookies', // Session Type: php, files, redis, or cookies + 'session_variable' => 'ses_app_', // set session variable name for project + 'session_name' => 'main_SESS', // More secure then PHPSESSID + 'session_table' => false, // DB PHP Session Table name, false = USE FILES + 'session_key' => '73bf4a217c532ee59d22f7279e677750', +]); \ No newline at end of file diff --git a/protected/src/controllers/app/cookie_ctrl.php b/protected/src/controllers/app/cookie_ctrl.php new file mode 100644 index 0000000..f8076ba --- /dev/null +++ b/protected/src/controllers/app/cookie_ctrl.php @@ -0,0 +1,34 @@ + + * @copyright Copyright (c) 2022, Robert Strutts. + * @license MIT + */ +namespace Project\controllers\app; + +/** + * Description of cookie_ctrl + * + * @author Robert Strutts + */ +class cookie_ctrl { + + public function __construct() { + \CodeHydrater\session_management::start(); + } + + public function save() { + $_SESSION['admin'] = "Bob"; + $_SESSION['logged_in'] = true; + echo "Saved..."; + } + + public function read() { + var_dump($_SESSION); +// var_dump($_SESSION['admin'] ?? ""); + } + +} diff --git a/protected/src/services/on_session_encryption.php b/protected/src/services/on_session_encryption.php new file mode 100644 index 0000000..87a4527 --- /dev/null +++ b/protected/src/services/on_session_encryption.php @@ -0,0 +1,32 @@ + + * @copyright (c) 2025, Robert Strutts + * @license MIT + */ + +// A more secure class is: \CodeHydrater\services\sodium_storage + +use CodeHydrater\bootstrap\registry as Reg; + +Reg::get('di')->register('session_encryption', function($args) { + try { + if (! \CodeHydrater\bootstrap\configure::has('sessions', 'session_key')) { + + $testing = new \CodeHydrater\services\encryption(); + echo "Here is a Key to use: " . $testing->generate_valid_key(); + die("Please assign the config for sessions, session_key!"); + } + + $enc = new \CodeHydrater\services\encryption( + \CodeHydrater\bootstrap\configure::get('sessions', 'session_key') + ); + $enc->change_security_level("lighting"); // Quickest but not secure... + return $enc; + } catch (\Exception $e) { + + } +}); \ No newline at end of file