- Milyen alaplapot vegyek?
- Kormányok / autós szimulátorok topikja
- OLED TV topic
- Autós kamerák
- Gamepad
- Apple MacBook
- Milyen belső merevlemezt vegyek?
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
Új hozzászólás Aktív témák
-
krisz67
tag
válasz
krisz67 #18422 üzenetére
pl: profil.php
<?php
$errmsg_arr = array();
$errmsg_arr[] = 'A folytatáshoz jelentkezz be!';
$errflag = true;
if($errflag) {
$_SESSION['LoginForm'] = $errmsg_arr;
session_write_close();
header("location: index.php");
exit();
};
?>És aztán kell még átmenteni valami PHP kódot, vagy csak a HTMl részét, de viszont így a védett rész, látható mindig, mert ugye ha nincs benne a php kód, vagy az elején úgyis egyből átírányítja a főoldalra, hiába nyitja meg valaki a profil.php-t?
-
SUPREME7
őstag
válasz
krisz67 #18418 üzenetére
Bár nekem sem sok közöm van a "webfejlesztéshez" csak hobbikókányoló vagyok, de erről eszembe jutott, hogy mikor elkezdtem tanulgatni akkor én is miket ollóztam össze innen-onnan
Kegyetlen.
http://data.hu/get/9866952/php.rar
Szimplán amit el akarsz rejteni azt tedd:
<?php if(isset($_SESSION['user_info']) && is_array($_SESSION['user_info'])) { ?>
A fenti feltétel azt jelenti, hogy "HA BE VAN JELENTKEZVE"
Akkor ezt a szöveget látja<?php }else{ ?>
HA NINCS akkor pedig ezt.
<?php } ?>
-
fordfairlane
veterán
válasz
krisz67 #18415 üzenetére
A munkamenet két részből áll. A kliens kap egy munkamenet-azonosítót, amit aztán valamiféle cookieban tárol le. A szerveroldalon ugyanezen azonosító alatt vannak a $_SESSION-ba belerakott adatok.
A munkamenet addig él, amíg vagy a kliens- vagy a szerveroldalon nem tűnik el a kettő közül valamelyik.
A kliensen egy cookie sokmindentől eltűnhet. Az ún. session cookie olyan, ami nem kap lejárati dátumot. Ezek azok a cookiek, amiket a böngésző a RAM-ban tárol, és amelyek a böngésző bezárásakor törlődnek. Be lehet állítani, hogy a PHP session-kezelője olyan cookiet küldjön a böngészőnek, amely permanensen tárolódik a böngészőben, ameddig a lejárati dátum le nem jár, de ehhez emlékeim szerint a php.ini-hez kell tudni hozzáférni. Persze ha a böngészőben törlöd a cookiekat, akkor is elveszik a dolog.
A szerveren a PHP session kezelőben van egy szemétgyűjtő-eljárás. Ez a hosszú ideje inaktív munkamenet-bejegyzéseket törli. Itt is lehet lejárati dátumot adni, hogy mik azok, amik kimehetnek a szemétbe.
Igen, ezek közül bármelyik eltűnik, onnantól kezdve elvesznek a munkamenetben tárolt adatok, és ezeket újra fel kell vinni. Ezeket a lejárati dátumokat kezelni kell tudni.
Egy valamit nem értek. Többször írtál php fájl-írásról. Nem tudom, miféle elképzelés van emögött, de ez semmiféle védelmet nem nyújt. Abban a pillanatban, amint a config.php-ban fizikailag beleíródnak a kapcsolódáshoz szükséges adatok, mindenki hozzáférhet az adatbázishoz, aki ismeri az oldal url-jét. Teljesen mindegy, hogy hogyan írod felül. FTP fájlfeltöltéssel, SSH-val, egyik php átírja a másik php-t a kiszolgálón stb... A webkiszolgálók így működnek. A php script könyvtár osztott erőforrás. Minden változás az össze kliensnél jelentkezik. Ezért nem értem, miért akarsz te php scripteket felülírni. Ez nem járható út. Nincs olyan, hogy php scripteket írsz felül X gépről egy webkiszolgálón, úgy, hogy másnál nem lesz látható ez a változtatás.
-
sztanozs
veterán
válasz
krisz67 #18415 üzenetére
Kérdés, hogy mire kellenek a kapcsolódási adatok. Felhasználónkét változhat a szerver, vagy az adatbázis? Vagy csak a felhasználónevet és jelszót kell bekérni? Miért nem lehet egyszer megadni (vagy miért nem paraméterezett, ha szeretnéd a felhasználónevet vagy jelszót beilleszteni a connection string-be).
-
fordfairlane
veterán
válasz
krisz67 #18412 üzenetére
Szerintem munkamenetbe mentsd el. A munkamenetbe mentett adatok megmaradnak egészen addig, amíg a böngésző be nem zárul.
A munkamenet használata nagyon zanzásítva a következő:
Minden oldalon el kell indítani a PHP beépített munkamenet-kezelőjét. Ez ha nem automatikus, már pedig alapból nem szokott, akkor minden oldal futtatását egy
session_start();
-tal kell indítani. Ezután a PHP scripted hozzáfér egy $_SESSION nevű tömbhöz. Ezt a tömböt úgy használhatod, mint egy szimpla assszociatív PHP arrayt-t. Tehát mondjuk beleírod azt, hogy
$_SESSION["felhasznalonev"] = $_POST["felhasznalonev"];
Egy másik PHP script elején kiadod a session_start()-ot, utána máris ellenőrizheted, hogy a $_SESSION-ben benne vannak-e a szükséges adatok. Ha nincsenek, akkor át lehet irányítani az adatbekérő-formra.
-
fordfairlane
veterán
válasz
krisz67 #18407 üzenetére
Szerintem egyszerűbb lenne, hogyha leírnád emberi nyelven, hogy mit akarsz, mert az edit.php feltölti a connect.php-t, a form. php meg feltölti a connect.php hiányzó részeit, ez első ránézésre úgy rossz, ahogy van. Az egész koncepciót hibásnak érzem.
Szóval a kérdés, mit szeretnél megvalósítani? Miért akarsz egy formon keresztül adatbázishozzáférési adatokat bekérni?
-
GG888
senior tag
válasz
krisz67 #18404 üzenetére
<form method="post" action="connect.php">
<input type="text" name="felhasznalonev" placeholder="Felhasználónév">
...
</form>connect:
$_POST['felhasznalonev']
-ként fogod tudni majd elérni.
De jó lenne ha validálnál, meg vizsgálnád miket küldenek át.Valami ilyesmit akartál? Vagy írjuk meg az egészet?
Új hozzászólás Aktív témák
Hirdetés
- Honor Magic6 Pro - kör közepén számok
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Autós topik
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Samsung Galaxy S24 FE - később
- Milyen alaplapot vegyek?
- Kormányok / autós szimulátorok topikja
- Kedden érkezik a Galaxy S25 Edge
- Samsung Galaxy A54 - türelemjáték
- További aktív témák...
- BESZÁMÍTÁS! Dell Latitude 5550 üzleti -Intel Ultra 7 165U16GB DDR5 RAM 1TB SSD Intel Graphics WIN11
- AKCIÓ! Lenovo Thinkpad P15 Gen1 15 FHD notebook - i7 10750H 16GB RAM 512GB SSD Quadro T1000 W11
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Sapphire Pure RX 7900XT 20GB Videokártya! Bemutató darab!
- Samsung Galaxy S22 Ultra , 8/128 GB , Kártyafüggetlen
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest