PHPandMYSQL login
Sooory a téma címe miatt!(és a besorolása miatt is!)
Hali!
hogyan tudom előírni azt , hogy ne tudjon az ember bejelentkezés nélkül bizonyos oldalakon lépegetni?
őszintén 1DB felhasználó név és jelszó párosom van (ennyi kell)...
sessionnal próbálkozok sikertelenül.
a session valamiért nekem mindig olyan idegennek tűnik ezért most a sütikre szeretnék rátérni.(ha valaki meg győz afelől , hogy a session biztonságosabb mint a süti akkor megfontolom a visszatérést.)
a sessionnál ez a hibaüzenet fogad:(google chrome)
most telepítem a firefoxot, hogy nyomon tudjam követni a sütik alakulását (chormnál még nem jöttem rá , hogy hogyan kell!)
kérdés újra:(ez a fontos)
Hogyan tudom előírni azt , hogy ne tudjon az ember bejelentkezés nélkül bizonyos oldalakon lépegetni?
Előre is köszönöm a hozzáértő szakemberek építőjellegű válaszai!
AZ ISMERETLEN.....
■ Hali!
hogyan tudom előírni azt , hogy ne tudjon az ember bejelentkezés nélkül bizonyos oldalakon lépegetni?
őszintén 1DB felhasználó név és jelszó párosom van (ennyi kell)...
sessionnal próbálkozok sikertelenül.
a session valamiért nekem mindig olyan idegennek tűnik ezért most a sütikre szeretnék rátérni.(ha valaki meg győz afelől , hogy a session biztonságosabb mint a süti akkor megfontolom a visszatérést.)
a sessionnál ez a hibaüzenet fogad:(google chrome)
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /web/free/4/valami-d623aee34c78634331bb9ac524478a73/pages/admin/page1.php:1) in /pages/admin/page1.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /web/free/4/valami-d623aee34c78634331bb9ac524478a73/pages/admin/page1.php:1) in /pages/admin/page1.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /web/free/4/valami-d623aee34c78634331bb9ac524478a73/pages/admin/page1.php:1) in /pages/admin/page1.php on line 2
most telepítem a firefoxot, hogy nyomon tudjam követni a sütik alakulását (chormnál még nem jöttem rá , hogy hogyan kell!)
kérdés újra:(ez a fontos)
Hogyan tudom előírni azt , hogy ne tudjon az ember bejelentkezés nélkül bizonyos oldalakon lépegetni?
Előre is köszönöm a hozzáértő szakemberek építőjellegű válaszai!
AZ ISMERETLEN.....
Session
Ami a hibauzenetet illeti, szinten volt mar itt is szo rola, a Google is egy jopar talalatot tud adni, legyszi hasznald azt.
Mas: a konnyebb segitseg nyujtas erdekeben celszeru lenne visszaolvasnod a sajat postodat es egy kicsit kevesbe kapkodva, rendszertelenul irni. Ha azt varod, hogy masok idot forditsanak rad, legyszi Te se sajnald az idot a tema megirasatol.
hmmmmm
elgondolkodtató!
viszont "sajnos" erre a kérdésemre nem találtam választ:
na most mégyek felderíteni a cikkeket!
Keresoszo
Hogyan tudom előírni azt ,
nos....
most jött egy ötlet (magát az ötletet ellenőrizd kérlek a kód az.....)
Elképzelhető. Attól függ,
nos....
most jött egy ötlet (magát az ötletet ellenőrizd kérlek a kód az.....)
asszem enyi
jónak láttam elküldeni
DE mivel a session az elegánsabb így ahhoz kérek egy kis segítséget(googlén kívül).
session
A két hibaüzit azért kaptad, mert már került valami (pl. echo()-val) a kimenetre a session_start() előtt. Ez a fv. legyen a fájl első sora. Pontosabb segítséghez a kód (eleje) is kéne, amivel a hibát előidézted.
Az előíráson nem tudom mit értesz, de ha megjelenítést, akkor pl.:
- A users táblába csinálj még egy mezőt (text típ.), amibe felsorolod ; -vel elválasztva azokat az URL-eket vagy fájlneveket, amiket megnézhet a Júzer.
- Minden oldal elején ellenőrzöd, hogy be van-e jelentkezve.
- Ha igen, lekéred az ő URL-jeit és explode egy tömbbe; ha nem, küldöd a login formra.
- Lekéred a fájlod nevét v. a kért url-t (ehhez ajánlom a manual-ban
$_SERVER
tömb tanulmányozását).- Összehasonlítod, hogy amit kért, benne van-e a megengedettek között.
- Előbbi függvényében átírányítasz (ha nem), vagy mehet tovább a folyamatod.
Persze ez egy rendkívül egyszerű megoldás, ettől sokkal jobbat is lehet csinálni. Mindenesetre olvass el mindent, amit javasoltunk.
köszönöm
Szívesen
no!
kissebb nagyobb javításokat alkalmaztam rajta....
Nem jó
A hibák:
1. Nem használsz adatbázist: minden Júzernek u.azt a jelszót kell ismernie (tehát a jelszó elveszti funkcionalitását, nyilvános); nem személyhez kötött a bejelentkezés, a progid nem tudja, hogy ki lépett be (ha nem csak olvasási jogai vannak Júzernek, akkor ez nagyon fontos).
2. Több helyen kihagytad a
<html> <head>
stb. tag-eket, döntsd el: valid HTML kimeneteket akarsz vagy nem.3. Célszerű a különféle inputokat, adatkezelést, ellenőrzést jól elkülöníteni a megjelenéstől.
4. Átirányításra használd a
header('Location: http://www.example.com/hibaoldal1.htm');
függvényt, mindenféle echo nélkül. Ezzel meg tudod oldani, hogy ha nem stimmel valahol valami, mindig u.azt a - szépen formázott - hibalapot add ki, és nem kell minden ellenőrzött oldalon vacakolni vele.5. Soha ne tegyél session-be, cookie-ba, stb. jelszót, pláne minden titkosítás nélkül!! Gondolj arra: a session is (többnyire) sütiben tárolódik, ami a kliens gépén bekerül egy szöveges fájlba. Ezért ezt úgy kell kezeld, hogy bárki elolvashatja. Javaslom, nézz utána a PHP alapvető biztonsági kérdéseinek.
Na, így hirtelen ennyit. Biztos lehetne még jópár dolgon javítani, elsőre nekem ennyi szúrta nagyon a szemem.
Javitas
Húú, valóban!
Szerk.: akkor egy kis cikkajánló a témában AzIsmeretlennek:
Munkamenet kezelés alapjai
Munkamenet kezelés biztonsági kérdései
PHP, valamennyire biztonságosabban
Privát mail
ánye!
1.:
2szóból áll a felhasználó nevem.
2.:
1. Nem használsz adatbázist: minden Júzernek u.azt a jelszót kell ismernie (tehát a jelszó elveszti funkcionalitását, nyilvános)
erre volt az email
3.:
Több helyen kihagytad a <html> <head> stb. tag-eket, döntsd el: valid HTML kimeneteket akarsz vagy nem.
a header.php beolvassa a <html> és a <head> tagokat.
és a végén a veg.php le is zárja :)
4.:
élszerű a különféle inputokat, adatkezelést, ellenőrzést jól elkülöníteni a megjelenéstől.
bővebb kifejtést please!
5.:
Átirányításra használd a header('Location: http://www.example.com/hibaoldal1.htm'); függvényt, mindenféle echo nélkül. Ezzel meg tudod oldani, hogy ha nem stimmel valahol valami, mindig u.azt a - szépen formázott - hibalapot add ki, és nem kell minden ellenőrzött oldalon vacakolni vele.
nincs időzítve csak ennyi a bajom!(ez is megfordult a fejemben csak utána elvetettem!)
6.:
Soha ne tegyél session-be, cookie-ba, stb. jelszót, pláne minden titkosítás nélkül!! Gondolj arra: a session is (többnyire) sütiben tárolódik, ami a kliens gépén bekerül egy szöveges fájlba. Ezért ezt úgy kell kezeld, hogy bárki elolvashatja. Javaslom, nézz utána a PHP alapvető biztonsági kérdéseinek.
erre már válaszoltak....
Deeee hogyan tudom a sessinont letitkosítani majd kiolvasni??
7.:
Bocsi, de ez a probléma szerintem a fórumba való, nem válaszolok mail-en. Ha nekem ez a megoldás tetszene, jeleztem volna itt, hogy keress meg.
mindjárt ki lesz javítva!
na így hirtelen ennyi!
Minye?
2. Miután post-oltam, láttam is.
3. Na, akkor lehet pont ez a header.php okozta a kezdeti hibaüziket. Viszont így a "helyi echoval" kiírt azonos tag-ek nem stimmelnek. (Megj.: nem nekem kell megfeleltetned a munkádat, hanem magadnak/megrendelődnek/... Ha írok/írunk egy észrevételt, azt építő szándékkal tesszük, felesleges ez a védekező álláspont.)
4. Nézz utána (pl. wikipedia): MVC. Én ugyan CMV-nek hívnám a sorrendiség miatt, de ez a "hivatalos" rövidítése. (Model-View-Controller)
5. Miért kéne időzíteni? És miért pont 5 (ha jól emékszem) másodpercre? Ez valakinek túl gyors, másnak túl lassú. Nem tudod úgy megcsinálni, hogy minden látogatódnak tetszen.
6. Igen, és láthatod, hogy be is linkeltem pár cikket, amik elolvasásával meg fogod érteni a session működését. Vannak további cikkek is, ezek csak a legfontosabbak.
7.
Egyebek:
Látom, több témát is nyitottál, valójában egy probléma megoldása érdekében. Nehéz lesz még neked is összeválogatni belőle a neked megfelelő utat/megoldást, másnak egyszerűen lehetetlen.
oké!
másik fórumon (nemrég szűnt meg) ha a nevet rosszul írjuk akkor meglátogat minket az admin egy levelével.
azokat elolvastam...
please külsős linkeket!
Mi nem tiszta?
Továbbiak:
Ezzel kellett volna kezdjem,
PHP kézikönyv (le is töltheted a kézikönyvet),
Nagy Gusztávnak szerintem nagyon jó jegyzetei/könyvei vannak.
Aztán létezik még millió onlány és letölthető kézikönyv, ezekre én vagy véletlenül szoktam rátalálni, vagy itt rákérdezek. Viszont - ez az én hibám - sok letöltött leírást nem jegyzek fel, hogy honnét volt.
koszz