Hirdetés
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- iPhone topik
- Milyen okostelefont vegyek?
- Kis méret, nagy változás a Motorolánál
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Fotók, videók mobillal
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy Z Flip5 - ami kint, az van bent
Ú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
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Melyik tápegységet vegyem?
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Nintendo Switch 2
- Kerékpárosok, bringások ide!
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Amlogic S905, S912 processzoros készülékek
- Milyen autót vegyek?
- Anglia - élmények, tapasztalatok
- További aktív témák...
- 170 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- magyar billentyűzet - 165 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- 164 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Microsoft Surface Hub 2s - Interaktiv 4K monitor/ All in one PC - I5 8. generációs - Piaci ár alatt
- Benq - LU951- 5000 Ansi Lézer projektor - Piaci ár alatt
- GYÖNYÖRŰ iPhone 13 256GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2247
- Huawei P30 Pro / 6/128GB / Kártyafüggetlen / 12Hó Garancia / Kijelzőn beégés
- HIBÁTLAN iPhone 11 Pro 64GB Midnight Green -1 ÉV GARANCIA -Kártyafüggetlen, MS3372
- Készpénzes számítógép PC félkonfig alkatrész hardver felvásárlás személyesen / postával korrekt áron
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3434
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Kegyetlen.


