- LTE frekvenciák
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy A52s 5G - jó S-tehetség
- Android alkalmazások - szoftver kibeszélő topik
- iPhone topik
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Redmi Note 12 Pro - nem tolták túl
- VoLTE/VoWiFi
Ú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
- Azonnali VGA-s kérdések órája
- Kazy Computers - Fehérvár - Megbízható?
- Gurulunk, WAZE?!
- Kerékpárosok, bringások ide!
- One otthoni szolgáltatások (TV, internet, telefon)
- Mikrotik routerek
- Azonnali játékos kérdések órája
- Erőgép kompakt tábla formájában a Redmitől
- LTE frekvenciák
- Renault, Dacia topik
- További aktív témák...
- Üzletből, garanciával, Macbook Pro Retina 14" 2021, M1 32GB RAM/1TB SSD Space gray
- HP EliteBook x360 830 G8 Core i5 1145G7 2.6GHz/16GB RAM/512GB
- UF Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1360P 16/1TB Iris Xe 2,8K OLED 90Hz
- Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1260P 16/512 Iris Xe 2,8K OLED 90Hz
- Új DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -40% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Bomba ár! Dell Inspiron 7400 - i7-1165G7 I 8GB I 512SSD I 14,5" 2K I HDMI I Cam I W11 I Garancia!
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Új Apple iPhone 16e 128GB, Kártyafüggetlen, 3 Év Garanciával
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest