- 80 cm-es képtálójú, 4K-s BenQ monitor audiovizuális típusú munkához
- Felfűtené a 2 nm-es versenyt a japán Rapidus
- AI és közelségérzékelő növeli az MSI QD-OLED kijelzőinek élettartamát
- Bemutatjuk az MSI új Godlike X870E és MAX szériás alaplapjait
- Összefoghat az Intel és a Samsung üvegszubsztrátumok piacán
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- ZIDOO médialejátszók
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Milyen TV-t vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Gaming notebook topik
- Apple MacBook
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
Új hozzászólás Aktív témák
-
Thunder78
őstag
Szvsz lehet hogy az extrán nincs engedélyezve!
session.save_path="C:\Temp\php\session"
session.save_handler = files
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.serialize_handler = phpEzeket találtam így hírtelen a php.ini-be a session-ökkel kapcsolatban
-
Thunder78
őstag
if (!empty($_POST['adat'])) {
// van post, lehet feldolgozni a cuccost
Header("Location:valami.php"); // valami.php-re kerül a vezérlés
} else {
// Első meghívás, megjeleníted a form-ot!
}Viszon így nem megy át a POST ... tehát más módszert kell használnod az adatok továbbítására, én a munkamenet változókat javasolnám!
Minden php fájl elején meghívod a session_start(); utasítást.
Aztán $_SESSION-ba teheted be a cuccot.
Pl: $_SESSION['adat']=$adat; a másik fájlba meg a fordítottját játszod el.
Én így szoktam csinálni! -
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
1 Felesleges kliensoldalon kódolni (ráadásul úgy JS-függő lesz az oldalad), egyszerűbb és biztonságosabb a https használata. Ha a titkosítatlan jelszót lehallgatják, ugyanúgy le fogják az md5-öst is, és ugyanott tartasz biztonságban.
2 raczger már írt egy megoldást, de szerintem jobb, ha nem külön mezőt használsz annak eldöntésére, hogy kell-e futtatni a beléptetőkódot, hanem a felhasználónév és jelszó meglétét nézed.
-
raczger
őstag
hát van ezekre többféle kevésbé, és többnyire jó megoldások, leírom az én esetemet hogyan szoktam ezeket megoldani, de ennél vannak elegánsabb megoldások is:
Vegyük, hogy van egy login.php-nk, amiben benne van a beléptető HTML form, és a PHP beléptető script.
az oldal felépítése ez lenne: (remélem a $_REQUEST, vagy a $_GET tömböt ismered)<?php
if ( $_REQUEST['login]=="" )
{
print "ide irasd ki a html formot, és az action-be szerepeljen ez: login.php?login=yes";
}
elseif( $_REQUEST['login']=="yes" )
{
print "Ide jöhet a beléptető php kód, és az md5-ös kódolás meg egyéb ellenőrzések amik szükségesek, például hogy másik formról ugyanide ne küldjenek lehet olyat ellenőrizni, hogy honnan jött a kérés, pl:";
if ( $_SERVER['HTTP_REFERER']=="http://domainneved.hu/mappaneve/login.php" )
{ print "és akkor ide teheted a beléptetést"; }
else
{ print "Valami hibaüzenet"; }
}
else
{ print "Ide is jöhet hibaüzi!"; }
?>meg beteheted ugyanabba a fájlba a kettőt úgy is, hogy használod a következőt: (én csak egyszer néztem meg milyen, nekem valamiért nem tetszik, de hát ez van
)
a php beléptető kód elé írd ezt: ob_start(); , a végére pedig ezt: ob_end_flush();
úgy tudom hogy a két kód közötti php kód akkor fut le ha a POSTDATA-t már elküldték, tehát ha szimplán betöltik az oldalt nem fog lefutni a beléptetés, mindenféle hibaüzenettelremélem érthető volt, és tudtam segíteni, üdv: raczger
-
Thunder78
őstag
Elvileg járható út, de akkor a jelszavaknál mindenképp használj md5 hash-t szerintem. Különben elég ha valaki belenéz a forrásba, és máris tudja a másik jelszavát.
Erre készítesz egy ilyent:
<?
print md5(jelszó);
?>
És ebből máris tudod, hogy mit kell beírnod a forrásba
Aztán így máris védve vagy az önjelölt ''hacker''-ektől -
Thunder78
őstag
Persze ...az md5 hash egy 32 karakteres hexa kód, amit a paraméterként átadott szövegből generál. Ugyanarra a szövegre mindig ugyanazt a kódot generálja.
Ha eleve ezt az md5 hash-t tárolod le a usernév mellé az adatbázisban, akkor kicsit nőhet az oldalad biztonsága.
használata:
$hash = md5($pass);
És utána a hash változót hasonlítod össze az adatbázisban letárolt hash értékkel. Illetve a munkamenet változóba is, meg mindenhol ezt az értéket használod, mintha ez lenne maga a jelszó
Röviden ennyi a lényege.
Jah? Mégvalami ... alapban nincs hozzá visszafejtés. Ha vissza akarod fejteni, akkor rákereshetsz, létezik script ami dekódol. De annyira én sem foglalkoztam ezzel, úgy használom ahogy leírtam az előbb -
Thunder78
őstag
Vagy ahogy H.O.D. mondja, vagy ha usernév és jelszó, akkor beteheted őket egy munkamenet változóba.
<?
session_start();
...
//berakás munkamenetbe
$_SESSION[ 'user' ] = $user;
$_SESSION[ 'pass' ] = $pass;
...
?>
<?
session_start();
...
//kiszedés munkamenetből
$user = $_SESSION[ 'user' ];
$pass = $_SESSION[ 'pass' ];
...
?>
Persze a $pass-nál érdemes md5-öt használni azért
A lényeg, hogy a session-start(); minden kód elején ott legyen.
Onnantól nem kell foglalkoznod ezzel a két adattal, amíg nem változik vagy az illető ki nem jelentkezik.
Én ezt szoktam használni
[Szerkesztve] -
Thunder78
őstag
Ez idáig oké .. tudom hogy kell továbbküldeni az oldalt egy linkkel.
De én azt szeretném, hogy ha a selectben valaki kiválaszt valamit, akkor ne kelljen submitre kattintania, hanem egyből ugorjon, ahova kell. Mint ahogy a PH!-n választom ki, hogy a topic hanyadik oldalát lássam. Ilyesmit szeretnék -
föccer
nagyúr
Odáig eljutottam, hogy felvettem egy $_j = 0; változót, amivel számolni fogom, hogy az aktuális sorban éppen hanyadik elemet iratom ki.
A feltételemmel viszont valami gaj vanValaki javítaná nekem, mert nem vagyok a szintaktika magaslatán
if ($_j == 0 ) print (''<td><a href=adatlap.php?id=''.$row[id].'' target=_blank>''.$ertek.''</a>'')
else print ''<td>$ertek</td>''; -
--=Gefi=--
tag
Átadod változóként a nevet, vagy az id-t egy másik phpnek (A HREF=akarmi.php?id=$row[id] target=_blank). A másik phpben meg attól függően kezeled, hogy milyen felhasználónevet kaptál. Pl mondjuk annak a részleteit kérdezed le az adatbáziból. Az átadott változót a $_GET[''id''
néven tudod elérni (ebben az esetben).
Új hozzászólás Aktív témák
Hirdetés
- Eladó Apple Watch Series 6 GPS 40 mm-es
- Eladó iPad 10.9 (2022)
- Sony α6700 + Sigma MC-11 csomag + AJÁNDÉK
- Legjobb kijelzős! ThinkPad T14s Gen 2 i5-1135G7 16GB 1000GB FHD - 400nit! magyarbill 1 év garancia
- Legjobb kijelzős! ThinkPad T14s Gen 2 i5-1135G7 16GB 512GB FHD - 400nit! magyarbill 1 év garancia
- BESZÁMÍTÁS! MSI B450M R7 1700X 16GB DDR4 128GB SSD 1TB HDD GTX 1650 Super 4GB Zalman T7 Chieftec 400
- ÚJ Bontatlan Honor 400 Lite 8/256 Velvet Grey, Dual SIM
- ÚJ OMEN Transcend 14 - 14"2.8K OLED 120Hz - Ultra 7 155H - 16GB - 1TB - RTX 4060 - Win11 - 3 év gari
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3060, 94% Akkumulátor
- Ultimate előfizetés új fiókra akár 2736 Ft/hó áron! Azonnali, automatizált aktiválással, csak Nálam!
Állásajánlatok
Cég: FOTC
Város: Budapest