Új hozzászólás Aktív témák
-
cucka
addikt
Bár a Session kezelés picit fura, néha bejelentkezés után vagy 2-3 mp és ki is lépett, néha meg akár 5-6 percig is bejelentkezve marad. Session időt tudom valahogy manipulálni, ha nem férek hozzá a szerverbeállításokhoz?
Szerintem valószínűleg a session kezeléseddel van a probléma, pl. van olyan aloldal, ahol hiányzik a session_start().
Az ini_set nagyon kevés szerveren van engedélyezve, a phpinfo()-val viszont meg tudod nézni a szerver session beállításait. -
ArchElf
addikt
Én pont a múlt héten dobtam össze egy MSSQL-es session kezelést (tudom, hogy az IIS+PHP4+MSSQL már majdnem főbenjáró bűn - de ugye a megbízónak mindig igaza van ) Mondjuk ha megtaláltam volna ezt a függvényt, lehet, hogy megspórolok egy órát (bár ahogy nézem, egész máshogy oldottam meg a dolgot - igaz biztos nem lett ilyen szép, mint ezzel volna).
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
válasz ArchElf #2702 üzenetére
Hát erre a IIS+PHP4+MSSQL kombóra csak annyit tudok mondani, hogy jajjj...
Amúgy szerintem ezt a session_set_save_hander() függvényt csak akkor van értelme használni, ha már egy kész weblapnak akarod átalakítani a munkamenet-kezelését. Mert amúgy szerintem több értelme van egy teljesen új, független kezelőt írni, pl OOP-ben.
[ Szerkesztve ]
A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.
-
Odiepapa
csendes tag
Sziasztok,
kicsit megakadtam egy feladatban es a segitsegeteket kernem. Ket tombnek az elemeit szeretnem osszehasonlitani. Az egyik tomb mar bent van az adatbazisban, es a masik tombre szeretnem cserelni. Hogy lehetseges ez a legkonnyebb modszerrel? en az in_array-jel probalkoztam, de nem teljesen kerek a valaszadasnal. A lenyeg az lenne, hogy ha mar bent van az elem az adatbazisban, akkor ne bantsa, ha meg nincs benne, akkor illessze be, ha meg olyan elem van az adatbazisban, ami az ujban nincs, akkor azt torolje. En a kovetkezot probaltam osszehozni tobb-kevesebb sikerrel:function ServiceUpload($service, $id)
{
$eredmeny= mysql_query("SELECT szam FROM tabla WHERE mas_id=`$id`);
if (mysql_num_rows ($eredmeny))
{
foreach ($service as $ertek)
{
if (in_array($ertek,$eredmeny))$eredmeny2 = mysql_query("INSERT INTO tabla (mas_id,szam) VALUES ('$id','$ertek')");
}
}
else //nem tartozik ehhez az id-hez tarolt adat
foreach ($service as $ertek)
{
$eredmeny2 = mysql_query("INSERT INTO tabla (mas_id,szam) VALUES ('$id','$ertek')");
}
}A torlest meg nem irtam meg. Arra gondoltam, hogy megnezem maximum elemet annak a tombnek, amit be szeretnek tenni es ha az adatbazisban levo tombben van ennel nagyobb elem, akkor azt torlom.
Ki mit tud hozzatenni ehhez az egyszeru de nagyszeru feladathoz?
Mercedes-Benz W123 300CD 1978
-
Tele von Zsinór
őstag
válasz Odiepapa #2705 üzenetére
A te $eredmeny változód nem egy tömb lesz, hanem egy mysql erőforrásra való mutató. Egy-egy sort a mysql_fetch_* függvények valamelyikével tudsz lekérni, ha az egészet tömbbe akarod, akkor valahogy így:
$tomb = array()
while (false !== ($row = mysql_fetch_array($eredmeny))) { $tomb[] = $row; }Ahol a $eredmeny az, amit te beállítottál neki a függvényed első sorában, a $tomb pedig az összes sort fogja tartalmazni asszociatív és számokkal indexelt tömbökként.
Más: a $service és a $id már escapelt? Ha nem, komoly biztonsági kockázatot jelent csak így berakni őket a querybe, használd előbb rajtuk a mysql_real_escape_string() függvényt!
-
ArchElf
addikt
válasz Odiepapa #2705 üzenetére
Ha sok elemed van, akkor benyomod az összeset egy temp táblába, és betöltöd a következővel:
INSERT INTO
CelTabla (mezo1, ...)
SELECT
mezo1, ...
FROM
Temp
WHERE
ID NOT IN (SELECT ID FROM CelTabla)Utána csak droppolod a temp táblát.
Ja és nem kell vacakolni az escapeléssel, PREPARED EXECUTE-ot kell használni.
AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ArchElf
addikt
válasz ArchElf #2707 üzenetére
Perssze a perpared execute csak az SQL Injection ellen véd, az Cross Site Scripting-et (XSS), még ki kell védeni, ha weblapon szeretnéd megjeleníteni az adatbázisban tárolt adatokat.
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
Odiepapa
csendes tag
válasz ArchElf #2707 üzenetére
Koszonom a gyors reakciot es a segitseget!
Egyszeru de nagyszeru modon megoldottam a dolgot.
Nem kell tulbonyolitani a helyzetet, mivel mindenkeppen hasznalok INSERT es DELETE parancsot, ezert egyszerubb a sok vizsgalat helyett kitorolni az eredetit es beilleszteni az uj adatsort. Igy nem kell temp tabla sem es kivesebb lepesbol kijon feltetelek nelkulAz adatbiztonsaggal kapcsolatban meg van nehany kerdesem. Meg azt sem tudom hogy lehet https protokollal dolgozni (marpedig arra is lesz szuksegem ha minden igaz). Addig megvizsgalom az altalatok emlitett ket fuggvenyt es ha valami nem clear, akkor batorkodom kerdezni
[ Szerkesztve ]
Mercedes-Benz W123 300CD 1978
-
Odiepapa
csendes tag
válasz Tele von Zsinór #2706 üzenetére
ahogy nezem ez a mysql_real_escape_string() hasonlo mint a htmlspecialchars(), amit hasznalok az urlapoknal. Mikor melyiket erdemes hasznalni? A prepared execute-nak eleg erdekes a statementje.
[ Szerkesztve ]
Mercedes-Benz W123 300CD 1978
-
vancha2
aktív tag
válasz Odiepapa #2710 üzenetére
A mysql_real_escape_string() escape-eli a karaktereket, pl a "-ből \"-öt csinál.
A htmlspecialchars() a speciális, HTML-ben használt karaktereket alakítja át az entitás kódjukká, pl a "-ből "-ot csinál.Ezek után egyértelmű, hogy mikor melyiket érdemes használni.
[ Szerkesztve ]
-
Odiepapa
csendes tag
válasz vancha2 #2711 üzenetére
akkor talan a kovetkezore is tudsz valaszt adni:
van egy textarea-m. Kitoltom, atfuttatom htmlspecialchars-szal, majd elmentem az adatbazisba BLOB-kent. Amikor visszatoltom az oldalra, illetve ismet betoltom a textarea-ba, hogy modositani tudjam (majd ujra elmenteni), akkor a soremelesek / sortoresek mar nem ugy jelennek meg, mint az erdeti szovegben anno, hanem egybefolyik az egesz szoveg, mondat mondatot kovet es nincs sorkihagyas.
Milyen megoldas van arra, hogy az eredeti szovegformatummal tudjam tarolni es visszatolteni?
Mercedes-Benz W123 300CD 1978
-
Odiepapa
csendes tag
válasz Odiepapa #2712 üzenetére
kicsi modositas az elozo kerdesemen:
Amikor adatbazisbol betoltom az elozoleg feltoltott textarea tartalmat az oldalra egy $valami [blob] valtozoba es kiiratom print $valami, akkor nem tartja a szokozoket. Viszont ha modositashoz betoltom a textarea ablakba a $valami tartalmat, akkor viszont ott van a szokoz. Tehat a soremelesek tarolodnak, csak print parancsra nem igazan adja vissza azt, ami igazabol ott van. (remelem ertheto modon irtam le )
ezen hogy lehet segiteni?
Mercedes-Benz W123 300CD 1978
-
Odiepapa
csendes tag
-
Drizzt
nagyúr
válasz fordfairlane #2717 üzenetére
Oké, közben már rájöttem, hogy simán egy stripslashessel megkapom a lényeges tartalmat, ami nekem kell az adott helyen.
Meg közben olvasgattam és gondolkodtam a dolgokon.
I am having fun staying poor.
-
Odiepapa
csendes tag
Sziasztok,
szeretnek egy gyors brainstormingot, hogy egy belepteto rendszerrel rendelkezo weboldalnal milyen biztonsagi resekre kell odafigyelni illetve milyen altalanos eljarasokat javasoltok hasznalni. Username, pw adatbazisban tarolva, kulon fuggveny ellenorzi.Amugy az eljarasok tobbseget fuggvenyek ellenorzik es hajtjak vegre bemeneti es kimeneti valtozok segitsegevel. Ezek a fuggvenyek (fuggvenygyujtemeny) a fooldaltol teljesen kulon file-ban helyezkednek el es a fooldal megnyitasakor include_once fuggvennyel hivom meg.
otleteket elore is koszi,
OdiepapaMercedes-Benz W123 300CD 1978
-
Odiepapa
csendes tag
Sziasztok,
egeszen felelesztem a forumotLenne meg egy kerdesem, ami az ftp_login-nal kapcsolatos.
Nekem nem akar localhostra kapcsolodni ftp_login paranccsal. Hol lehet a problema?
$conn_id = ftp_connect("localhost");
$login_result = ftp_login($conn_id, 'user', password'');File feltoltesekor visszadobott eredmeny:
"ftp_login() expects parameter 1 to be resource, boolean given"tudom hogy "ftp.valami.hu"-t kellene megadnom, de anno ezt localhostra irtam egy masik oldalamnal es ha jol emlekszem, akkor ott siman bevette a file-t.
Udv,
OMercedes-Benz W123 300CD 1978
-
biker
nagyúr
-
ArchElf
addikt
válasz Odiepapa #2719 üzenetére
Javaslatok:
- password ne menjen át cleartext-ben a hálózaton, ne legyen cleartextben tárolva az adatbázisban (lehetőleg ne is titkosítva, hanem hash-elve legyen)
- username:password ne legyen eltárolva cookie-ban
- az include könyvtárra ne legyen joga a böngésző usernek
- a php hibaüzeneteket nem jelenítjük meg az oldalon (tipikus hiba adatbázis kezelésnél), menjenek szerver oldali logba, és esetleg dobjon egy mail-t a kód az üzemeltetőnek
- szerveroldalon a kapott adatokat mindig ellenőrizni kell: a kliens azt küld, amit akar, nem szükségszerúen azt, amit várunk
- adatbázis beillesztésnél az SQL injection-re figyelni kell, legegyszerűbb (mint alant is írtam) prepared insert-et használni
- XSS védelem: amennyiben a GET/POST-ban kapott adatokat (azonnal, vagy később) megjelenítjük, figyeljünk oda, hogy véletélenül se jelenítsünk meg olyan HTML kódot, amit nem szeretnénk (legegyszerűbb kivédési mód a htmlspecialchars() használata - letárolás vagy megjelenítés elött)Amennyiben komolyak biztonsági szempontok, akkor a következőkre kell figyelni:
- ne lehessen egy kérést újra elküldeni - a session azonosítóban kel egy (illetve kettő) számláló, amit a szerver (kettö esetében a szerver és a kliens) növel, vagy generáljon a szerver minden letöltéshez új session hash-t
- ha kézikusan készül a session kezelés, akkor a session lejáratra oda kell figyelni
- célszerű titkosításon keresztül üzemelni, de legalább is az azonosítást azon keresztül végezni - bár ezt leginkább a password cleartextben való elküldésének védelmére szokták használni (https - csakis aláírt tanúsítvánnyal)
- ha cookie alapú a session, akkor a cookie ellopásával ne lehessen másik helyról bejelentkezni, lejárt, de kézzel visszatöltött cookie-val ne lehessen bejelentkezniEgyelőre ennyi jutott az eszembe...
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
sec0nd
tag
Sziasztok!
Egy olyan átirányító script kellene, ami egy listából válogat, és minden oldalat nagyjából uannyiszor dob be.
előre is köszi! -
Odiepapa
csendes tag
válasz ArchElf #2722 üzenetére
ArchElf: koszonom a tanacsot, mindenkeppen vegigmegyek a listan es a leheto legtobb kiskaput megprobalom kivedeni.
Nem vagyok igazan profi (inkabb lelkes amatornek mondanam magamat) es lehet hogy lamernek hangzik a kerdes, de honnan tudom hogy a session cookie-ba megy vagy sem?
A kozos php file-ban levo fuggvenyben feltoltom az adatbazisbol a sessiont a kovetkezo modon:
fuggveny sessionfeltoltes($id);
{
$id = mysql_real_escape_string($id);
$eredmeny= mysql_query("SELECT * FROM tabla
WHERE email='$id'");$ize=mysql_fetch_object($eredmeny);
$_SESSION["s_id1"] = $id;
$_SESSION["s_valami1"] = '$ize->valami1';
$_SESSION["s_valami2"] = $ize->valami2;
... es igy tovabb...
}Ez igy okes?
biker: holnap kicsit tobb idom lesz kiprobalni a kepfeltoltest maskeppen.
Mercedes-Benz W123 300CD 1978
-
Tele von Zsinór
őstag
$list = array("címek");
$key = array_rand($list);
header("Location: " . $list[$key]);A lényeg ennyi, beolvasást úgy oldod meg, ahogy jólesik (akár adatbázisból, akár txtből mondjuk a file()-al), illetve illik némi html kimenetet is adni, ha a http átirányítás tiltva volna.
-
sec0nd
tag
válasz Tele von Zsinór #2726 üzenetére
Köszi, akkor leírnád úgy, hogy egy txt-ből, és a másikat is, ha tiltva lenne a html átirányítás?
Köszi szépen -
Tele von Zsinór
őstag
Kb. ez kell neked akkor:
if (false !== ($list = @file("lista.txt") && count($list)) {
$key = array_rand($list);
header("Location: " . $list[$key]);
die(sprintf("<a href=\"%s\">Átirányítva ide: %s</a>", $list[$key], $list[$key]));
}Ha nem sikerül megnyitni a filet, vagy üres, nem csinál semmit.
-
Niquis
aktív tag
Heeeeeelp!
Debuggolni szeretnék péhápét Eclipse-ben, van egy ubuntum és azon a vele adott apache 2, meg feltettem hozzá a php5-öt és rá a Zend debuggert, beállítottam, ahogy kell, de már a teszten azt jelzi, hogy nincs fenn a debugger, és a system logban pedig olyat találtam, amikor a debuggerhez kérés érkezik, hogy "Segmentation fault: debug handle overwritten". Ha hibás a debugger, akkor sokat nem tudok tenni, de akkor másoknak sem menne...
Találkoztatok már ilyennel? Vagy van valami tipp?
Köszi!"És ha helyzet van, akkor mindig lépni kell. Ha olyan a helyzet."
-
ArchElf
addikt
Állítólag PHP5-höz az XDebug is jól működik. Mondjuk még volt időm kipróbálnom. Valószínű egyébként, hogy a ZEND debugger verziója nem kompatibilis a PHP verziójával (mind a kettő a legfrissebb?).
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
Niquis
aktív tag
válasz ArchElf #2730 üzenetére
Hú, erre külön figyeltem, az Eclipse modul az a legújabb, a szerveroldali pedig ahhoz a php-hoz való, amilyen fenn van (5.2.x), és abból van egy RC1-es meg egy régebbi is, mind a kettőt kipróbáltam, sajnos ugyanaz. Lehet hogy az indiánoknál van a gebass...
XDebuggal még járok egy kört, de azzal már windowson se sikerül eljutni sehova, és itt is ugyanazt csinálja. De azért megpróbálom még, köszi!"És ha helyzet van, akkor mindig lépni kell. Ha olyan a helyzet."
-
Niquis
aktív tag
válasz Protezis #2732 üzenetére
Sajna túlvagyok minden határon, amit a manuálok írnak... anno windowsra végigszívtam egyszer a debugger telepítést, azóta a folyamattal tisztában vagyok phpinfo() látja a debuggert, dummy.php a helyén, php.ini beállítva localhost, 127.0.0.1-re (és phpinfo azt is helyesen írja). Itt tényleg elfogyott a tudományom.
"És ha helyzet van, akkor mindig lépni kell. Ha olyan a helyzet."
-
-
Odiepapa
csendes tag
válasz Tele von Zsinór #2725 üzenetére
Sajna van a $_COOKIE-ban PHPSESSID. Nem tudom mennyire lehet ezzel visszaelni, mert nem hasznalom igazabol semmire, csak azt vizsgalom hogy letezik-e vagy sem. Az erteket SEHOVA nem rakom be. Arra megvannak a sajat egyedi azonositoim (amit lentebb leirtam), ami nincs benne a $_COOKIE-ban.
Mercedes-Benz W123 300CD 1978
-
Tele von Zsinór
őstag
válasz Odiepapa #2736 üzenetére
Miért "sajna"? Ez annyit tesz, hogy a kliens böngészője ismeri és engedélyezi a sütik fogadását, nem urlben kell átadnod a sessionid-t.
Ezzel visszaélni akkor lehet, ha elkapja valami köztes fél, beállítja magánál sütinek és meglátogatja az oldalad - persze az is kell, hogy nálad ne legyen ip, user-agent, stb. ellenőrzés. -
Niquis
aktív tag
Időközben az az ötlet támadt (még nem próbáltam ki a tieitek, most lesz rá időm), hogy engedélyezem a thread safety-t, ami most le van tiltva. Van ennek valami egyszerűbb, pusztán konfigurálós módja, az újrafordítgatás helyett?
[ Szerkesztve ]
"És ha helyzet van, akkor mindig lépni kell. Ha olyan a helyzet."
-
ArchElf
addikt
Nem lehet, két külön build van rá (már ha a PHP-ről van szó...)
Amúgy az ZEND Debugger install guide-ból:
Note:
The Windows non-thread safe binary is only used with Zend Core 2.0.AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ArchElf
addikt
válasz ArchElf #2739 üzenetére
mod-ba már nem fértem bele.
A Zend Debuggerből is van TS/NTS változat fordítva; persze nts csak a legújabb (5.2.x) php verzióhoz.AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
vincent001
csendes tag
Sziasztok,
Ne kövezetek meg de nem rég elvégeztem egy "web programozói tanfolyamot" ami igazából nem sokat ért. Nem is értek a php-hez de nagyon szeretnék csinálni egy webáruházat, aminek egy része már kész is, kosár, hírlevél, belépés....stb de nem tudom összerakni ,hogy hibátlanul működjön. Esetleg nincs köztetek valaki aki tudna" korrepetálni " reális áron esetleg IX vagy a XXI kerület közelében? Azt tudom ,hogy sokan elvállalnák az oldal készítését több száz ezer forintért de nincs is erre ennyim illetve érdekel a téma és érteni is szeretném, hogy mi miért működik.
Köszi
-
Orb1337
tag
php jelszóval védett tartalomat szeretnék létrehozni, van egy adminfelületem ami kér user-t, pw-t amit sessionbe tárolok. A többi lapra csak bejelentkezés után lehetne eljutni, ha enélkül próbálnának rálépni, akkor hibaüzi, hogy jelentkezz be, esetleg visszaugrik a bejelentkezéshez. A következő kóddal próbálkoztam:
<?php
session_start();if($_SESSION['belepett'] == true)
{
print "Védett oldal";
}
else
{
print "Jelentkezz be!";
}?>
Ez oké, de egy egész oldalt szeretnék védetté tenni, amin több php funkciót is használok (pl. hírírás).
Tudtok adni egy kis ötletet? -
-
vincent001
csendes tag
Sziasztok,
A kérdésem, hogyan tudok gombokat hozzárendelni a funkciókhoz? A következő van . Adott egy Webáruház ahol egy form –al beillesztek a gombot de az csak alap Windowsos lesz( szürke szögletes). Ezt szeretném kiiktatni és a saját dizájnomat odatenni.
Köszi
-
Orb1337
tag
válasz vincent001 #2744 üzenetére
http://www.tutorial.hu/egyeni-submit-gomb/
Ilyenre gondoltál? -
sonar
addikt
Sziasztok,
Meg tudná vki mondani, hogy miért nem fut le az alábbi sor:
if (($szamlalo %2) = 0)
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
A mai nappal megérkezett a stabil PHP 5.3.0, egy rakás újítással:
- namespaces,
- late static binding,
- closures (anonim függvények),
- optional garbage collection for cyclic references,
- new extensions (like ext/phar, ext/intl and ext/fileinfo),
- over 140 bug fixes and much more.Migration Guide: [link]
[ Szerkesztve ]
A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Milyen TV-t vegyek?
- Kés topik
- Alig egy nap múlva végre bemutatkozik az Assassin's Creed Shadows
- Filmvilág
- Overwatch 2
- Információbiztonság, kiberbiztonság, adatvédelem
- Milyen egeret válasszak?
- Esik a hóóó!!
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- AKCIÓ! Szépségápolás, Haj - és Szakállápolási márkás gépek - BOLTI ÁR FELÉÉRT!
- Bomba! HP EliteBook 1040 G7 x360 Érintős Hajtogatós Ultrabook Tab 14" -70% i7-10710U 16/256 FHD LTE
- BONTATLAN Új Iphone 15 és 15 Plus 128-512GB 1év APPLE garancia gyári független Deák AZONNAL Átvehető
- BONTATLAN Új Iphone 13 128-512GB 1év hivatalos Apple garancia gyári független Deák Azonnal Átvehető.
- ÚJ BONTATLAN Apple Watch Series 8 S8 41-45mm Azonnal Átvehető DEÁK TÉRNÉL 1 Év Apple Garanciával.
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest