Aktív témák
-
Frigo
őstag
Mindenképp PDO mellett érdemes dönteni nem csak az absztraktabb adatbázis kezelés miatt ,hanem sokkal biztonságosabb is ,pl query paraméterezés ,prepared statements . Emellett van jó pár hasznos funkciója is pl a fetch_class .Hátránya ,hogy a régebbi PHP változatokban még kicsit bugos volt ,de ezeket valószínűleg már kigyomlálták.
-
jeges
senior tag
ezek csak példák, inkább azt akartam szemléltetni, hogy a kérdés jóval túlmutat egy függvény használatán. nem véletlen, hogy az eszközök, logikák többsége nem kapcsolódik egyetlen nyelvhez (jelen esetben a php-hez).
http referer: az az oldal, ahonnan az adott oldalra érkeztél. a $_SERVER tömb tárolja egyébként, a tömbre keresve a php manual-ban is megtalálod.
akkor hasznos többek közt, ha nem akarod, hogy a keresősorból közvetlenül is elérhető legyen a tartalom. ilyenkor a program elején ellenőrzöd, hogy mi van a http referer-ben, és ha nem az, ami kellene, akkor hibát dobsz. -
jeges
senior tag
filter_var a barátod
meg a rendszeres db mentésszerk: "egyéb módszer"-be meglehetősen sokminden belefér a felhasználó kiléptetésétől a http referer ellenőrzésén keresztül a négy-szem elv alkalmazásáig, ill a fent már említett mentési rend kialakítása is ide tartozik. erre külön recept nincs, az alkalmazott eszközök környezettől függően lehetnek mások.
-
rt06
veterán
a linkelt algoritmussal nekem az a problemam, hogy mivel a salt az emailcim sha1 hash-ebol keszul, ezert:
- email valtoztatasa problemas lehet
- a salt kizarolag szamjegyeket es a latin abc elso 6 kisbetujet fogja tartalmazni (imho erdemes ott is a teljes karakterkeszletet hasznalni)a kliensoldali ellenorzes jo, mert leveszi a teher egy reszet a szerverrol, viszont semmifele keppen sem ajanlott kizarolag arra tamaszkodni, mivel - mint irtad - pofonegyszeruen kijatszhato*
esetleg vess egy pillantast erre (a jtr tobb, mint ezerszer lassabban tudja torni az ezzel hash-elt jelszavakat, mint a mezei sozott md5 hash-t)
*: a hetekben regisztraltam egy site-ra, feliratokat lehet letolteni
az oldal ingyenes, viszont vannak korlatozasok (kedvencek koze legfeljebb 5 tetel teheto be), amik feloldasahoz vip felhasznalova kell valni, amihez viszont anyagilag kell tamogatni az oldalt
a fenti korlatozas pusztan javascript-tel van megoldva, ami azt jelenti, hogy csupan par masodperc plusz, mig valaki egy ujabb tetelt a kedvencek listahoz, annak ellenere, hogy 5, vagy annal tobb tetel szerepel mar ott
amennyiben hasznalnanak szerveroldali ellenorzest is, ez nem lenne (ilyen egyszeruen) megoldhato -
rt06
veterán
nem maga a komment a problema, amig az az aposztrofokon belul van, nem okoz galibat
az aposztrofokat, idezojeleket kell megfeleloen escape-elnijelszot hash-elni, sozni, megint hash-elni mindenkepp erdemes (akar tobbszor is), de ennel is fontosabb a megfelelo (hosszusagu/bonyolultsagu) jelszo megkovetelese
ilyen celu ellenorzesre en pl szoktam az altalam uzemeltetett rendszereken hasznalni a jtr-t, ami egy jelszotoro program
ha valaki jelszava megbukik (sajnos eleg surun van ami az elso par masodpercben megfejtesre kerul), az vagy kap masikat, vagy allithat be maganak masikat -
Frigo
őstag
Escape függvények használata alap ,ezenfelül érdemes megismerkedni a mysqli ,PDO prepared statement-jével .Illetve ügyelni kell arra hogy az adatbázishoz való csatlakozáskor olyan usert adjunk meg akinél csak a legalapabb műveletek vannak engedélyezve (INSERT,UPDATE,DELETE) és véletlenül se tudjon táblát vagy adatbázist droppolni.
-
rt06
veterán
#!/usr/bin/php -q
<?php
#nem az include-on mulik, hanem mint PazsitZ irta, a lathatosagon
#amit a fuggvenyen kivul hozol letre, az nem latszik a fuggvenyben, s amit a fuggvenyben hozol letre, az nem latszik a fuggvenyen kivul
#erre hasznalhatsz a fuggevnynek atadott parametereket (ha vissza is akarod kapni, mi valtozott a fuggvenyben, akkor cim szerinti atadassal), illetve a fuggvenyek visszateresi erteket
function pluszegy() {
printf( "%d, %d\n", $x, $y ); // 0, 0 - illetve 2 notice, mert itt nem letezik az $x es $y
$x++; // notice, mert itt nem letezik az $x
$y++; // notice, mert itt nem letezik az $y
printf( "%d, %d\n", $x, $y ); // 1, 2
}
function pluszegy_ertek( $x, $y ) {
printf( "%d, %d\n", $x, $y ); // 1, 2
$x++; // 1 -> 2
$y++; // 2 -> 3
printf( "%d, %d\n", $x, $y ); // 2, 3
}
function pluszegy_cim( &$x, &$y ) {
printf( "%d, %d\n", $x, $y ); // 1, 2
$x++; // 1 -> 2
$y++; // 2 -> 3
printf( "%d, %d\n", $x, $y ); // 2, 3
}
function pluszegy_vissza() {
return 5;
}
function pluszegy_vissza_ertek( $x, $y ) {
printf( "%d, %d\n", $x, $y ); // 1, 2
$x++; // 1 -> 2
$y++; // 2 -> 3
printf( "%d, %d\n", $x, $y ); // 2, 3
return $x + $y; // 2+3 -> 5
}
function pluszegy_vissza_cim( &$x, &$y ) {
printf( "%d, %d\n", $x, $y ); // 1, 2
$x++; // 1 -> 2
$y++; // 2 -> 3
printf( "%d, %d\n", $x, $y ); // 2, 3
return $x + $y; // 2+3 -> 5
}
$x = 1;
$y = 2;
printf( "fuggvenyhivas parameter nelkul\n%d, %d\n", $x, $y ); // 1, 2
pluszegy();
printf( "%d, %d\n\n", $x, $y ); // 1, 2
$x = 1;
$y = 2;
printf( "fuggvenyhivas ertek szerinti atadassal\n%d, %d\n", $x, $y ); // 1, 2
pluszegy_ertek( $x, $y );
printf( "%d, %d\n\n", $x, $y ); // 1, 2
$x = 1;
$y = 2;
printf( "fuggvenyhivas cim szerinti atadassal\n%d, %d\n", $x, $y ); // 1, 2
pluszegy_cim( $x, $y );
printf( "%d, %d\n\n", $x, $y ); // 2, 3
$x = 1;
$y = 2;
printf( "fuggvenyhivas parameter nelkul\n%d, %d\n", $x, $y ); // 1, 2
$z = pluszegy_vissza();
printf( "%d, %d, %d\n\n", $x, $y, $z ); // 1, 2, 5
$x = 1;
$y = 2;
printf( "fuggvenyhivas ertek szerinti atadassal\n%d, %d\n", $x, $y ); // 1, 2
$z = pluszegy_vissza_ertek( $x, $y );
printf( "%d, %d, %d\n\n", $x, $y, $z ); // 1, 2, 5
$x = 1;
$y = 2;
printf( "fuggvenyhivas cim szerinti atadassal\n%d, %d\n", $x, $y ); // 1, 2
$z = pluszegy_vissza_cim( $x, $y );
printf( "%d, %d, %d\n\n", $x, $y, $z ); // 2, 3, 5
?> -
-
rt06
veterán
a fuggvenyen belul nem lathatoak a $dbhost, $dbuser, $dbpass, $dbname valtozok, ezert nem sikerul kapcsolodnod
add at oket parameterkent a ConnectToDb fuggvenynek, pl.:
dbconnect.php
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "images";
?>fuggveny:
<?php
require_once 'dbconnect.php';
function ConnectToDb( $host, $user, $pass, $database )
{
$con = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
}
....
ConnectToDb( $dbhost, $dbuser, $dbpass, $dbname );
?>esetleg, hogy ne kelljen, csak egy parametert atadnod (szebben nez ki talan), atszervezheted picit a dolgot, pl.:
dbconnect.php
<?php
$db = array();
$db["host"] = "localhost";
$db["user"] = "root";
$db["password"] = "";
$db["database"] = "images";
?>fuggveny.php
<?php
require_once( "dbconnect.php" );
function connectToDB( $db ) {
$dbConnection = mysql_connect( $db["host"], $db["user"], $db["password"] );
mysql_select_db( $db["database"], $dbConnection );
return $dbConnection;
}
$dbc = connectToDB( $db );
?>
Aktív témák
Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Kerékpárosok, bringások ide!
- RETRO beárazás (mobil, PC, konzol)
- Yettel topik
- Autós topik
- Tőzsde és gazdaság
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- OLED monitor topik
- A fociról könnyedén, egy baráti társaságban
- Milyen billentyűzetet vegyek?
- További aktív témák...
- 0 perces RYZEN 3 laptop, eredeti Win10! FullHD IPS / 12GB DDR4 / 1TB M.2 SSD! LEGOLCSÓBB SZÁMLÁS ÁR!
- iPad Pro 11" M4 2024 256GB Cellular - Apple garancia, 100%, független, ezüst, doboz, számla
- Macbook Pro 13" - 2018 gyártás, 2 mag i5, 16/512GB - garancia (34)
- Apple iPhone 14 128GB, Kártyafüggetlen, 1 Év Garanciával
- Nitro AN515-56 15.6" FHD IPS i7-11370H RTX 3050 16GB 512GB NVMe magyar vbill gar
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
- Xiaomi Redmi A3 64GB Kártyafüggetlen, 1Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest