- OLED monitor topic
- Nvidia GPU-k jövője - amit tudni vélünk
- Melyik tápegységet vegyem?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Kormányok / autós szimulátorok topikja
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Akciókamerák
- SSD kibeszélő
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Mini-ITX
Ú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.
-
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
- OLED monitor topic
- Nvidia GPU-k jövője - amit tudni vélünk
- Futás, futópályák
- Milyen NAS-t vegyek?
- Bemutatkozott a Poco F2 Pro (már megint)
- A lemondást javasolja az Intel vezetőjének Donald Trump
- E-roller topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Béta iOS-t használók topikja
- További aktív témák...
- Logitech G923 Racing Wheel and Pedals Xbox One/PC Kormány És Pedálsor
- eladó 4db 2TB NASware WD red (WD20EFAX)
- Xiaomi Redmi Note 13 Pro+ 5G 512GB 12GB RAM - 2027. FRBRUÁRIG GARANCIÁS / akár beszámítással is
- ÚJ Lenovo LOQ 15ARP9 - 15.6" FullHD IPS 144Hz - Ryzen 7 7435HS - 24GB - 512GB - RTX 4050 - 2 év gari
- LG OLED42C44LA 2 Év Gyári Garancia
- Telefon felvásárlás!! Samsung Galaxy S24/Samsung Galaxy S24+/Samsung Galaxy S24 Ultra
- Update 08.19. - Bomba árak 2025-ben is! Üzleti - Consumer laptopok DELL FUJITSU HP LENOVO
- BESZÁMÍTÁS! ASUS C246M i5 9400F 16GB DDR4 250GB SSD 1TB HDD GTX 1660 Super 6GB Zalman N4 Zalman 600W
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- BESZÁMÍTÁS! 4TB Western Digital RED Pro SATA HDD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: FOTC
Város: Budapest