Проверка за създадена сесия, но в различна директория

Ticketa

Registered
Привет,
Опитвам се да направя проверка дали имам създадена сесия - проблема е че двата кода работят на два различни потребителя и на две различни директории

/home/user/cms - url address: ip/cms

/usr/share/pma - url address: ip/phpmyadmin

Имам пълен достъп. Идеята ми е ако потребителя не се е вписал в CMS, да не може да отваря файловете в папка pma (тоест искам да огранича достъпа в папката, но конкретно чрез PHP)

Знам, че има начини с htaccess, но държа да ползвам PHP

Сесията в папка cms е проверявам така: $_SESSION['is_logged'] - true / false (1/0)

Ако потребителя има отворена сесия в cms после вече си има достъп до pma и се вписва с нужните данни потребител/парола, ако не е вписан в сесия is_logged го редиректва към /cms за вход. Не е голяма философия, въпроса е че не успявам да проверя сесията


Благодаря.
 
Аз не търся Autologin за phpmyadmin.

Както казах:
Имам платформа за управление на съдържанието, искам когато Х потребителя е вписан в тази платформа той да може да стигне безпроблемно до website.com/pma (там вече сам си попълва данните за PMA)

Когато не е вписан просто директорията не се отваря, а получава redirect към website.com/cms

До колкото разбрах на този етап това, което се опитам да направя е "споделена сесия чрез php", за момента открих два варианта:
Първия вариант при логване в website.com/cms - записваме бисквитка например: access (просто пример) тази бисквитка има Х тайминг колкото е лог тайма в cms, към PMA добавяме в index.php една проверка дали има създадена бисквитка и дали е валидна, ако ДА .. то допускаме потребителя да си въведе данните към pma, ако ли не... изхвърляме го.

Вторият вариант е чрез запис и проверка в база от данни или файл който е достъпен за двата линукс акаунта примерно website.com/cms работи през акаунт CMS...,а PMA работи през акаунт PMA (логично) двете платформи имат общ достъп до файла: /home/acccess.txt (ограничени права само за CMS/PMA (обща група). В този файл не записваме нищо повече от
IP:Add:Expire

Реално не позволяваме някакви достъпи с имена, пароли и прочие. Просто проверка за вписване в системата.


Другия проблем, който предполагам, че ще имам в бъдеще е при актуализиране на phpmyadmin тези 2/3 реда код вероятно ще се самоизтрият за проверка във файла/базата данни/бисквитката, тогава как можем да държим този файл да бъде актуален с нашите данни постоянно дори след ъпдейт? Хм

p.s. бисквитката се криптира + салт за връщане (декриптиране) така, че външен "хакер" да не може просто да добави бисквитка с име "access" някакъв тайм е да е "пречупи" дори да е "подуши" от някой клиент... самата бисквитка като бисквитка просто те допуска до директорията, нищо повече.

Начин на криптиране
Код:
<?php
$simple_string = "Welcome to Phpmyadmin\n"; // Store a string into the variable which need to be Encrypted
echo "Original String: " . $simple_string; // Display the original string
$ciphering = "AES-128-CTR"; // Store the cipher method
$iv_length = openssl_cipher_iv_length($ciphering); // Use OpenSSl Encryption method
$options = 0;
  
$encryption_iv = '1234567891011121'; // Non-NULL Initialization Vector for encryption
$encryption_key = "keyforcrypt"; // Store the encryption key
  
$encryption = openssl_encrypt($simple_string, $ciphering, $encryption_key, $options, $encryption_iv); // Use openssl_encrypt() function to encrypt the data
  
echo "<br />Encrypted String: " . $encryption . "\n"; // Display the encrypted string
  

$decryption_iv = '1234567891011121'; // Non-NULL Initialization Vector for decryption
$decryption_key = "keyforcrypt"; // Store the decryption key
  

$decryption=openssl_decrypt ($encryption, $ciphering, $decryption_key, $options, $decryption_iv);// Use openssl_decrypt() function to decrypt the data
  

echo "<br />Decrypted String: " . $decryption; // Display the decrypted string
?>
 
Не знам защо си дал такава реакция на @uphero предвид, че ти е дал отговора.

Изброяваш потенциални проблеми с твоя вариант, а в същото време не си си направил труда да прочетеш темата в stackoverflow.
 

Горе