Hirdetés
Új hozzászólás Aktív témák
-
radi8tor
MODERÁTOR
Sziasztok!
Blogspotot irogatok és képtelenség egymás mellé tenni két képet user interfészen.
HTML tetszés szerint szerkeszthető, de ez nekem nem olyan egyértelmű.Itt a kódrészlet, ez a két kép egymás alá kerül:
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-HpqjfgR29SU/UaOy85M3Y4I/AAAAAAAAAaY/YsbxyoEHH-0/s1600/crysis3+2013-05-23+16-59-55-22.bmp" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="277" src="http://1.bp.blogspot.com/-HpqjfgR29SU/UaOy85M3Y4I/AAAAAAAAAaY/YsbxyoEHH-0/s400/crysis3+2013-05-23+16-59-55-22.bmp" width="400" /></a>
<a href="http://2.bp.blogspot.com/-NmzVkkuANyk/UaOzAwYiQ3I/AAAAAAAAAag/OFLlSNHIb3c/s1600/crysis3+2013-05-23+16-59-24-84.bmp" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="298" src="http://2.bp.blogspot.com/-NmzVkkuANyk/UaOzAwYiQ3I/AAAAAAAAAag/OFLlSNHIb3c/s400/crysis3+2013-05-23+16-59-24-84.bmp" width="400" /></a></div>Át tudjátok nekem írni, hogy egymás mellé kerüljön a két kép (hivatkozásokkal, kerettel együtt).
Köszi!
⭐ Stella
-
Sk8erPeter
nagyúr
válasz Peter Kiss #8394 üzenetére
Amit lényegében próbálsz fejtegetni, az az, hogy semmit nem számít otthoni gép esetében sem a kis/közepes/nagy webalkalmazásaidnál, hogy SSD-t vagy HDD-t használsz-e, pedig ez egy egetverő f@szság. Ha nem lenne saját tapasztalatom is a dologgal, akkor még talán el is hinném, amit magyarázol, mert elég kitartóan érvelsz a saját véleményed mellett. (Mondjuk minddjárt kitalálod, hogy bitos DIREKT csapom be magam, csak hogy téged meggyőzzelek.) De egyáltalán nem mindegy, egy-egy fájlt mennyi idő alatt érünk-e el (amit cucka írt korábban, annak legalább volt teteje, de ő is APC-ről, 7 ms-os elérési idejű szerverdiszkről beszélt), ugyanezt pofáztam az előbb is, erre nem reagáltál érdemben. De mivel beírtál a topicba, ezek szerint most már az is mindegy, hogy HDD-d vagy SSD-d van. Ha valaki átáll SSD-re, az fog érzékelni különbséget. (bár ha így lesz, nyilván becsapja magát) Még mindig nem támasztottad alá normálisan az érvelésedet. Egyébként meg hogy jön ide a HDD vs. SSD kérdéséhez, hogy egy vagy több szálon fut-e az alkalmazás (nem egyikről másikra váltástól fog ez változni)?
A 100 MB-os fájlok feldolgozásgatásáról és hasonlókról meg egyszerűen nincs értelme beszélni, nyilván nem erről van szó.
[ Szerkesztve ]
Sk8erPeter
-
Peter Kiss
őstag
válasz Sk8erPeter #8393 üzenetére
Durva fájlműveletet (pl. 100 MB-os *.csv parse) nem rakhatsz webalkalmazás alá, mert sokáig tartana mindenképp, az alkalmazás a lassúság látszatát keltené, senki sem használná.
Most jutott eszembe, azon is szoktam röhögni, mikor egy fájlt beolvasnak PHP-val, és utána küldik ki otput buffer segítségével ahelyett, hogy fpassthru alkalmaznának.Nyilván, ha egy adott szolgáltató/céges kiszolgáló egy 80-as Maxtor-on szüttyög, az hamar megadja magát, de egy ilyen esetben sem a háttértár a legnagyobb probléma, hanem az üzemeltető(k) hozzá nem értése és a felelőtlenség.
Nem tudom, mit nem lehet érteni abban, hogy PHP esetén nincs különbség szerver és fejlesztői gép között. Nincsen szerverprofil, egy szálon dolgozik, akármelyik mai otthoni gép vígan kiszolgálja egy alkalmazás egy vagy több fejlesztőjét. Persze, adatbázis esetében már más a helyzet, az már képes arra, hogy nagyobb gépeket (több processzor) kihajtson, illetve hamarabb eljöjjön a szűk IO terhelés.
-
Sk8erPeter
nagyúr
válasz Peter Kiss #8390 üzenetére
"Egy sima natúr PHP-s webalkalmazás szempontjából (de még .NET, Java webalkalmazás szempontjából) éppen mindegy, hogy HDD vagy SSD van a gépben, semmit sem jelent, egyik működése során sincs fájlművelet"
Lehet, hogy késő van, de a fájlbeolvasás az mégis mi a büdös franc, ha nem fájlművelet?
Értem, hogy az oprendszernek is van bizonyos fájlcache-elése, és?? (Ja, és ne kezdj nekem légy szíves a PHP-hoz kapcsolódó opcode cache-elési mechanizmusokról is beszélni, lehetőleg ne tereljük a dolgot.) Nem csak izomból használt webalkalmazásokról beszélünk, hanem olyanokról, amik ki tudja, mikor kerülnek használatra. Nem csak olyan fájlokról beszélünk, amikhez azelőtt fél perccel nyúlt az oprendszer. Akkor meg qrvára nem mindegy, milyen a háttértár elérési ideje, azokat a bizonyos fájlokat mennyi idő alatt érjük el, mennyire nincsenek vagy vannak mozgó alkatrészek abban a nyomorék háttértárban. Erre adjál már légy szíves valami épkézláb magyarázatot üres okoskodó tőmondatok helyett, mert már tényleg az embernek teli van a töke azzal, hogy te állítólag a fórumban mindenkinél mindent jobban tudsz, de rendesen nem támasztasz alá nagyjából semmit.
De nyilván a rendszerem HDD-ről SSD-re történő KLÓNOZÁSát (nem volt újratelepítés) követően csak valami szer hatása alatt voltam, amikor érzékeltem a qrva nagy különbséget az előtte-utána állapot között, a legegyszerűbb nyomorék PHP-alkalmazásnál is, ami nem használta durván intenzíven az adatbázist (mint egy CMS), sőt lehet, hogy valami különös mágia történt, amiről nem tudok, ami miatt DE, IGEN, TÖRTÉNT gyorsulás, hát biztos valaki hirtelen megáldotta a gépemet, pont, amikor SSD-re váltottam, és még be is voltam tépve (azóta is konstans nyilván), hát mik nem történnek..."Adatbázison segíthetne a legtöbbet, de ott is előbb az adatbázist, a szervert és a lekérdezéseket kell optimalizálni"
Igen, az előbb pont ezt magyaráztam én is, hogy az az első. Utána jön minden egyéb gyorsítás."Ha PHP-s alkalmazást néztél, akkor szintén mindegy, hogy igazi szervert vagy csak a saját gépedet nézegetted"
Mi van? Miről beszélsz? Fejtsd már ki normálisan, ne csak tőmondatokban beszélj, akkor még lehetne is érteni, miről szól a vakera."Aztán lehet, hogy egy 433 MHz-es Celeron-on nézted, nem tudhatom."
Igen, rendkívül valószínű. A gyökérséget hagyjuk már, ha kérhetem. Legalábbis szándékosan ne legyél az.Ja, ha találkozol az SSD-iddel, akkor a nevemben is üdvözöld őket, és kérdezd meg, szeretnének-e HDD-vá válni, hogy újra a háttértár legyen a szűk keresztmetszet egészen sok esetben.
B@szki, nehogy már a végén még azt is előadd nekem, hogy lóf@szt sem számít, hogy SSD van a gépedben, mert kirohanok a világból.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Tele von Zsinór #8391 üzenetére
Igazából annyiszor láttam már a fórumokban is helytelenül használva, hogy muszáj vóóót.
Ja, majdnem elfelejtettem, erre a felvetésedre reagálva igen, szerintem érdemes lenne írnod erről cikket. Szerintem jól jönne, a PDO-val kapcsolatos bevezetődet is többször be tudtuk linkelni kezdőknek (ahogy írtad is), mert rövid, tömör, de lényegre törő volt.
Sk8erPeter
-
Tele von Zsinór
őstag
válasz Sk8erPeter #8388 üzenetére
Átfutottam a másik topicban kapott linket, köszi a kijavítást! Eddig mindig olyan értelemben használtam, hogy sokat kell tanulni, hogy haladj vele, igyekszem leszokni róla
-
Peter Kiss
őstag
válasz Sk8erPeter #8387 üzenetére
Egy sima natúr PHP-s webalkalmazás szempontjából (de még .NET, Java webalkalmazás szempontjából) éppen mindegy, hogy HDD vagy SSD van a gépben, semmit sem jelent, egyik működése során sincs fájlművelet (nyilván egy fájlfeltöltéskor van, letöltésnél meg nem mindig). Adatbázison segíthetne a legtöbbet, de ott is előbb az adatbázist, a szervert és a lekérdezéseket kell optimalizálni, mert az egész még in-memory adatbázis esetén is lassú sz.r lehet, pedig akkor már az IO műveleteket elvileg jól bírná.
Ha PHP-s alkalmazást néztél, akkor szintén mindegy, hogy igazi szervert vagy csak a saját gépedet nézegetted, nincs olyan, mint pl. .NET-nél, hogy más a GC működése. Aztán lehet, hogy egy 433 MHz-es Celeron-on nézted, nem tudhatom.
És köszönöm szépen, mindhárom SSD-m jól van (fel is írtam egyet az adatlapomra), kettő itthon/otthon, egy pedig állandóan a munkahelyen lóg, mondtam is neki, hogy túlzásba viszi. Bár lehet, hogy szólók a rendszergazdáknak, hogy beruházni kellene: a NetApp-ban ki kellene cserélni a HDD-ket SSD-re, hogy jobban süvítsenek a szerverek.
A "mire gondolt a költő?" kérdéseket kár feszegetni.
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz trisztan94 #8337 üzenetére
"Pisti most vett nálunk ezt és ezt, reméljük örül neki
--termék linkje"
Biztos, hogy ez felhasználói szemszögből szerencsés? Én legalábbis nem szívesen látnám publikusan megosztva azt, hogy mit vásárolgattam össze-vissza, valószínűleg inkább akkor nem regisztrálnék. Ez mondjuk a vásárlóitoknak nem biztos, hogy belefér az ingerküszöbébe, ha sikerül megoldani, akkor mindenképp elfogadáshoz kellene ezt kötni, hogy beleegyezik-e, hogy meg legyen osztva, mit vásárol. Nehogy ebből gondotok származzon.Sk8erPeter
-
Sk8erPeter
nagyúr
Pedig Soaknak teljesen jogos a felvetése, ha már "meredek tanulási görbéről" beszélünk, akkor azt nem úgy fogjuk fel, mint egy "meredek falat".
Úgy van, ahogy mondja: ha az x tengelyen az idő van, az y tengelyen pedig az elsajátított tudás, akkor annak pont semmi értelme, hogy a meredek tanulási görbe nehézséget jelent: ebben az esetben pont azt jelenti, hogy könnyű; ha a fordítottja, akkor pedig valóban nehéz az elsajátítandó anyag, hosszú időbe kerül, míg elsajátítod. Ezért én sem nagyon értem, miért terjedt el ez a meredek tanulási görbe = nehézség keveredés.
Másik topicban ugyanerről:
http://prohardver.hu/tema/php_kerdesek_2/hsz_13544-13544.htmlSk8erPeter
-
Sk8erPeter
nagyúr
Lehetséges, hogy akkor parasztvakítás az SSD-s tárhely, elfogadom, mivel konkrét mérési eredményeket nem láttam erről, és simán lehet, hogy igazad van abban, hogy nem igazán mérvadó egy tisztességes szerverkonfig esetében az a különbség, amit az SSD jelenthet mondjuk egy asztali konfig esetén.
Mondjuk azért tényleg kíváncsi lennék, mennyiben van igazatok egy éles rendszer esetében (jó lenne tudni, hogy gyakorlati információk birtokában mondod, hogy baromság, vagy sejtések alapján). Tényleg érdekelne, pusztán igazi parasztvakítás-e a kérdés, vagy lehet minimális alapja. Meggyőző egyébként az, amit felhoztatok ellenérvként.(#8279) Athlon64+ :
igazából a példa nem volt annyira jó, sajnos túlságosan lekorlátoztuk a kérdést az adatbázisra, általánosságban volt észrevehető a gyorsulás, mindenféle webalkalmazás esetében (meg bármilyen alkalmazás esetében. ), de most a saját gépemről beszélünk, nem egy szerverkonfigról, remélem, ezt figyelembe vetted. Egyébként jó lenne tudni, valaha a rendszered volt-e SSD-re téve, vagy csak szeretsz csuklóból mindent f@szságnak tartani úgy, ahogy van (meg természetesen magadon kívül mindenki mást hülyének). Nekem eddig inkább az utóbbi jött le (álljunk hozzá úgy, hogy hülyeség, aztán lehet, hogy kiderül, hogy nem akkora, és akkor jó), még ha elég jól is tudsz érvelni amellett, amit állítasz. Csak kár, hogy mindezt olyan stílusban teszed, hogy az embernek egyből ökölbe szorul a keze a lekezelő hsz.-eid olvasásakor.
De hogy a lényegre még reagáljak: ne fordítsd ellenem a kérdést, nem azzal szoktam megoldani a problémákat, hogy rakjunk mindent SSD-re, és akkor onnantól kezdve minden jobb lesz, és nem is arról van szó, hogy ne indexelném az adattáblákat, de feltételezem, csak általánosságban mondtad. Bár ha mondjuk közönséges asztali gépről beszélünk, nem kérdés, hogy mekkora különbséget jelent egy SSD használata bármilyen értelemben (jó lenne, ha kipróbálnád, hogy mondjuk a jelenlegi rendszeredet klónozod HDD-ről SSD-re, és majd azután nyilatkoznál). Nyilván az első lépés ettől még bármilyen szerver megfelelő konfigurálása, és azután lehet a további gyorsításon gondolkozni.
Egyébként jó lenne már, ha veled is lehetne értelmesen, hőzöngések nélkül kommunikálni a Prohardveren úgy, hogy nem az lenne az érzése az embernek, hogy Te feltétlenül az e-bránert szeretnéd mesterségesen növelni a másik személye ellen irányuló minitámadási kísérleteiddel, az általa használt dolgok lefikázásával. Lehet, hogy kevésbé lenne hidegrázós a stílusod. (lásd pl. kezdő kérdésre nyilván indokolt a cseszegetés)
Na, szóval hogy egy osztott tárhely esetében kijön-e bármi komolyabban érezhető különbség tisztességes konfigurálás UTÁN akkor, ha SSD-re pakolják a cuccaikat, az számomra még nem teljesen lezárt kérdés (kíváncsi lennék konkrét tapasztalatokra vagy mérésekre), de elfogadom, hogy azt mondjátok, hogy a dolognak nagyobb a füstje, mint a lángja, és túl sok mögötte a hype.Sk8erPeter
-
Phvhun
őstag
Nem feltétlen helytelen a használata, mert úgy is fel lehet fogni a meredekséget, mint egy meredek falat, elején nehéz elindulni, de ha már tudod hogy hogyan kell kapaszkodni felgyorsulsz.
Más: Hogyan tudták megoldani, hogy különböző nyelvű embereknek különbözőképpen jelenjen meg ez a post? https://www.facebook.com/GameOfThrones/posts/10151459827497734
[ Szerkesztve ]
-
Soak
veterán
válasz Tele von Zsinór #8382 üzenetére
A meredek tanulasi gorbe azt jelenti, hogy rovid ido alatt sokat sajatitasz el. (X ido - Y tudas)
-
Tele von Zsinór
őstag
Elég meredek a tanulási görbéje, szóval sokat kell olvasnod, mire neki tudsz állni tényleg produktívan dolgozni benne. Cserébe nagyon megéri.
A kérdésedre: attól függ, mennyire összetett ez a már kész kód. Ha már értesz a Sf-hez, akkor valószínűleg nem lesz nehéz dolgod.
-
Phvhun
őstag
Eddig jól hangzik.
Mennyire egyszerű összebarkácsolni egy már kész bootstrapra épülő frontenddel? -
Phvhun
őstag
Van valakinek tapasztalata a Symfony framework-el? Nem nagyon értem, hogy mire jó, meg lehet fogalmazni egy mondatban, hogy mivel vagyok vele előrébb, mint nélküle?
-
spammer
veterán
válasz Tele von Zsinór #8372 üzenetére
Jaja, tudom, csak próbaképp volt 360 sec 2038-ig még van időm
(#8373) fordfairlane: nem ment, hiába variáltam vele. Nem szeretném senki idejét rabolni, hogy ezen az egy problémán rugózunk órákat. Nem vagyok még olyan szinten mysql-ből, hogy megoldjam gyorsan ezeket a dolgokat, meg a topikot sem akarom telenyomni a nyűgömmel.
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
spammer
veterán
No így sikerült megoldanom, legalábbis localhoston működik:
while($row = $result->fetch_assoc()) {
$recovery_id_time = $row['recovery_id_time'];
$timestamp = strtotime($recovery_id_time);
$currenttime = time();
if (($currenttime - $timestamp) > 360) die("......");
else { ........ }
}Köszi mindenkinek a válaszokat!
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
fordfairlane
veterán
-
fordfairlane
veterán
válasz spammer #8368 üzenetére
Ez szerintem nem jó. Eleve mysqli vagy pdo-nál sql statementet kéne használni, és elfelejteni ezt a "paramétert az sqlbe fűzöm nuku escape-pel" módszert.
Másrészt ha mégsem, akkor figyelembe kell venni, hogy a mysqli::query metódus "resultset" objektumot ad vissza. A resultset egy olyan összetett adatszerkezet, ami n darab rekordot tartalmaz (0, egy vagy több), és különféle metódusokat ezen az n darab rekordon való navigációhoz. Tehát resultset esetén még van egy lépés, ami kiszedi a megfelelő rekordot. Amikor egy rekord lehet az eredmény, valahogy így:
$result = mysqli->query($querystr);
$record = $res->fetch_object();[ Szerkesztve ]
x gon' give it to ya
-
spammer
veterán
válasz fordfairlane #8367 üzenetére
Nem értem a kérdést, mysql témában kezdő vagyok
Definiálva vannak az adatok, aztán:
$db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$result = $db->query("SELECT recovery_id, recovery_id_time FROM users WHERE recovery_id = '$recovery_id'");
Ez így nem jó? Csak mert egyébként működik eddig mindenhol.
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
spammer
veterán
válasz Tele von Zsinór #8365 üzenetére
Ha ezt kiprintelem, ezt írja:
Array ( [warning_count] => 0 [warnings] => Array ( ) [error_count] => 1 [errors] => Array ( [0] => Data missing ) )
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
spammer
veterán
válasz Tele von Zsinór #8363 üzenetére
Tartalma ennyi: 2013-05-26 13:22:46
datetime típusú mező, a php a NOW() -val írja bele, mikor a tokent is generálja.
szerk: mármint adatbázisban, mert echo-zva nem ad ki semmit $result->recovery_id_time;
Kell még valami a query után? Vagy kifelejtettem valamit?
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
fordfairlane
veterán
válasz trisztan94 #8361 üzenetére
en amugy is inkabb a pdo-t ajanlanam a mysql_ fgvek helyett, az alapbol kiescape-eli.
A prepared statementek használata helyettesítheti a manuális escapelést. Ilyeneket a mysqli és a pdo tud. Ne terjesszünk már tévhiteket, meg rossz példákat, ha kérhetem.
x gon' give it to ya
-
trisztan94
őstag
válasz fordfairlane #8359 üzenetére
Csak egy alap pelda volt en amugy is inkabb a pdo-t ajanlanam a mysql_ fgvek helyett, az alapbol kiescape-eli. Pdo + placeholderekkel torteno query-k a legbiztonsagosabbak jelenleg.
[ Szerkesztve ]
https://heureka-kreativ.hu
-
spammer
veterán
válasz Tele von Zsinór #8358 üzenetére
Köszi, igen, annak az idejét tárolja el, mikor a visszaállító kulcsot beírja az adatbázisba.
Valamiért nem működik:
Fatal error: Call to a member function modify() on a non-object in....
$result = $db->query("SELECT recovery_id, recovery_id_time
FROM users
WHERE recovery_id = '$recovery_id'");$date = \DateTime::createFromFormat("Y-m-d H:i:s", $result->recovery_id_time);
if ($date->modify("+1 hour") > new \DateTime()) die("Érvénytelen visszaállítási kulcs");
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
fordfairlane
veterán
válasz trisztan94 #8356 üzenetére
És innentől kezdve csak küldesz egy query-t az adatbázisnak:
SELECT * FROM table_name WHERE id = $idHa nem akar egyből egy méretes security hibával kezdeni, akkor talán így:
'SELECT * FROM table_name WHERE id = '.mysql_real_escape_sring($id);
[ Szerkesztve ]
x gon' give it to ya
-
Tele von Zsinór
őstag
válasz spammer #8357 üzenetére
Mit tárolsz benne, a generálás idejét? Mysql-ben ugye úgy vannak tárolva (így kéri, és így is adja vissza), hogy "Y-m-d H:i:s". Ebből így tudsz DateTime példányt csinálni:
$date = \DateTime::createFromFormat("Y-m-d H:i:s", $result->recovery_id_time);
Ha azt akarod ellenőrzni, ez az elmúlt egy órán belül volt-e:
if ($date->modify("+1 hour") > new \DateTime()) {}
azaz hozzáadsz egy órát és ellenőrzöd, ez nagyobb-e, mint az aktuális idő.
Ha rögtön mysql-be akarod berakni, akkor így tudod megfelelő formátumban generálni az egy órával ezelőtti időt:
$egy_oraval_ezelott = new \DateTime();
$mysqlnek = $egy_oraval_ezelott->modify("-1 hour")->format("Y-m-d H:i:s");(php5.4 vagy afelett: $mysqlnek = (new \DateTime())->modify("-1 hour")->format("Y-m-d H:i:s");)
[ Szerkesztve ]
-
spammer
veterán
Csináltam egy DATETIME mezőt, beírja az aktuális dátumot, de mivel lehetne visszaellenőrizni?
Ez így nem jó:
if ($result->recovery_id_time > 3600)
Mivel lehet megadni neki a feltételt datetime típusú mezőnél?
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
trisztan94
őstag
válasz PumpkinSeed #8355 üzenetére
Egy sima GET változót raksz a tovább link href attribútumára.
Pl: <a href="tovabb.php?id=1">Aztán csak lekezeled abban a php fájlban amire megy a kérés:
$id= $_GET["id"];És innentől kezdve csak küldesz egy query-t az adatbázisnak:
SELECT * FROM table_name WHERE id = $id[ Szerkesztve ]
https://heureka-kreativ.hu
-
PumpkinSeed
addikt
Azt hogyan tudom megcsinálni, pl. van egy hír amit php-val jelenítek meg az adatbázisból, és alul a tovább gomb. Ha rákattint a tovább gombra akkor az a hír jöjjön be neki a következő oldalon. Valahogy a hír ID-jét kellene eltárolni és átvezetni a következő oldalra. Csak nem tudom, hogy a változóban eltárolt értéket hogyan küldjem át a megnyitott oldalra.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
spammer
veterán
válasz Peter Kiss #8350 üzenetére
Igen, nagyjából így tervezem én is.
- User az e-mail címét beírja, majd elküldi a formot.
- PHP random generál egy visszaállítókulcsot és ezt beírja a userhez adatbázisba
- User megkapja mailben a linket amiben benne van visszaállítókulcs
- Rákattint, a link alapján ellenőrizzük, hogy van-e ilyen azonosítójú visszaállítókulcs valamelyik usernél, ha nincs, akkor die és hibaüzenet. Ha van, akkor betölti a formot, ahol be lehet írni az új jelszót.
- A form elküldésével bírjuk az új jelszót adatbázisba és egyben töröljük a kulcsot az adatbázisból, így nem lehet többször felhasználni.Mondjuk az nem rossz, ha a kulcs elévül mondjuk 1 óra után, de ezt speciel most nem tudom, hogyan kellene
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
Male
nagyúr
válasz Peter Kiss #8351 üzenetére
Vagy ne az e-mailt, hanem más adatot kérj el a levélben küldött linkre kattintás után az új jelszó mellett, így ha pl a postafiókját törik fel, akkor csak annyiból még nem tudják lecserélni a jelszavát az adott oldalon.
-
Peter Kiss
őstag
válasz Peter Kiss #8350 üzenetére
+ Újból adja meg az e-mail címét, illetve legyen SSL a szerveren.
-
Peter Kiss
őstag
válasz spammer #8348 üzenetére
Elfelejtettem a jelszavam link
Következő oldalon meg kell adnia a regisztrált e-mail címét
Ha fail, lock 10 percig
Ha siker, kiküldesz egy levelet, előtte token-t generálsz a jelszó reset-hez, erre jó egy GUID amit biztosan nem pszeudo random generáltak, token él 1-2 percig vagy még addig se
Levélben linkre katt, megadhat egy jelszótTalán egynek jó így.
-
fordfairlane
veterán
válasz spammer #8348 üzenetére
Ahol hash-ben tárolják a jelszót, ott nem küldik ki neked a meglévőt, hanem csak új jelszó beállítási lehetőséget adnak. A hashben tárolás lényege az egyirányú kódolás, ami nem visszafordítható semmilyen módszerrel.
Tárolhatják a jelszót kódolva is valami szimmetrikus vagy aszimmetrikus kulcsú kódolással, ami így visszafejthető. Ez a módszer kevésbé biztonságos. Ha egy támadó hozzáfér az adatokhoz, akkor az adatokat kezelő eljárásokhoz is hozzájuthat, így pl. a dekódoló kulcshoz. Egy fokkal azért jobb a plain textnél, mivel ott csak az adatokhoz kell hozzáférnie a támadónak, minden login információ egyből kéznél van.
[ Szerkesztve ]
x gon' give it to ya
-
spammer
veterán
válasz Tele von Zsinór #8345 üzenetére
De ha kódolva tárolják, akkor hogyan küldik ki nekem plain textben? Akkor az azt jelenti, hogy visszafejthető, vagyis nem biztonságos a kódolás sem. Jó, persze mindent fel lehet törni, nincs 100%-os biztonság, ezt tudom, csak hát akkor érdekes.
(#8347) Athlon64+: Én resetet csinálok, mert kódolva van az egész. Csak azért kérdeztem, mert több helyről is kaptam már plain text emlékeztetőt. Én pedig úgy tudom (és gondolom), hogy alap, hogy nem tároljuk plain textben, legalább valami alap kódolás legyen rajta.
(#8349) fordfairlane: Jaja, oké, akkor jól gondoltam
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
spammer
veterán
Kérdés:
Hashed password ugye nem küldhető el jelszóemlékeztetőben, és nincs is mód arra, hogy plain textben küldje el az emlékeztetőben (nem lehet visszafejteni), meg egyébként sem biztonságos.
No de akkor ha egy oldal nekem plain textben küldi ki a jelszóemlékeztetőmet, akkor ez azt is jelenti, hogy plain textben is tárolja az adatbázisában?
Csak mert épp én is jelszóemlékeztetőt csinálok éppen, vagyis pontosabban password resetet jelszócseréhez.
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
fordfairlane
veterán
válasz PumpkinSeed #8338 üzenetére
Ha nem túl nagy képekről van szó, tárolhatod BLOB mezőkben. Ha nagyok a fájlok, akkor célszerű valami más megoldás után nézni.
A legáltalánosabban használt eljárás, ha a szerver fájlrendszerét használod erre. Persze ilyenkor ki kell alakítani egy szisztémát, amivel a megfelelő fájlokat párosítani tudod a megfelelő adatbázis-objektumokkal, és az adatintegritást is az alkalmazáslogikával kell biztosítani.
Léteznek erre spéci kiszolgálók (pl. hadoop + hdfs), de ez igencsak haladó témakör. A NoSQL tárolók ebből a szempontból jobbak. (pl. a REDIS string típusai binary-safe-k pont azért, hogy fájl tartalmát is lehessen benne tárolni)
[ Szerkesztve ]
x gon' give it to ya
-
Tele von Zsinór
őstag
válasz PumpkinSeed #8338 üzenetére
Lehet, de nem érdemes. Van egy speciális adatbázis, ami kifejezetten erre lett kitalálva, ez pedig a filerendszer
Úgy szokás megoldani, hogy adatbázisban csak jelzed, hogy van egy ilyen fileod, mint mondjuk egy galériában van egy 123-as id-jú kép, adatai ott, de a file maga meg mondjuk a webroot/uploads/123.jpg néven. Az is megoldás, ha máshogy generálod a nevet, és mondjuk tárolod azt is adatbázisban.
Hogy a webroot alá rakd, vagy azon kívül, attól függ, kell-e csak jogosultságoktól függően elérhetőnek lennie. Ha nem, akkor irány a webroot alá, és kiszolgálja a szerver php kód érintése nélkül. Ha kell, akkor webrooton kívül, és mindenképp php szolgálja ki - persze jogosultságellenőrzés után.
trisztan94: lehet, annyi az egész, hogy a user access tokenje helyett a page-ét kell használni.
A másik kérdésedre pedig: EU cookie law.
-
Soak
veterán
válasz PumpkinSeed #8340 üzenetére
Azt ne a usernek kelljen megadni hogy mi a kep elerese .
-
PumpkinSeed
addikt
válasz spammer #8339 üzenetére
Szval ha admin felületnél egy felhasználó feltölt egy képet és mellé adatbázisba a kép elérési urljét img blabla akkor azt a képet kapom vissza ha lekérdezem. Értem. De akkor kell egy szövegdoboz amibe beviszi az adatot , mellé meg egy másik form ahol a képet tölti fel.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
spammer
veterán
válasz PumpkinSeed #8338 üzenetére
Képeket (fájlokat) a szerveren/tárhelyen tárolod. Adatbázisban karaktereket tárolsz, vagyis képek esetében pl. a linkjeiket (pl.: felhasználók avatarjainak a linkjeit).
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
PumpkinSeed
addikt
Miután megoldódott a problémám a kódolással jött még egy.. Képeket nem lehet véletlen adatbázisban tárolni, vagy hogy szokás ezt megcsinálni?
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
trisztan94
őstag
Sziasztok!
Facebook API-val lehet olyat csinálni, hogy ne a belépett FB júzer falára rakjon ki valamit a Post, hanem egy Fan Page oldalára, de azt sem a felhasználó nevében, hanem a Fan Page nevében és csak megemlíti a felhasználót.
Kicsit bonyolultan fogalmaztam, így itt a kifejtés:
Pisti felmegy egy Webshopra, be kell jelentkeznie FB-kal. Amint veszt ott valamit a Webshop hivatalos Facebook oldalán kirakódik egy POST, ami így jelenik meg:
Pisti most vett nálunk ezt és ezt, reméljük örül neki
--termék linkjeTehát nem Pisti írja ki a FB oldalra, hogy vett valamit, hanem az oldal írja ki és csak megemlíti Pistit (de be is linkeli)
Ilyet lehet? Hogy?
https://heureka-kreativ.hu
-
spammer
veterán
válasz trisztan94 #8335 üzenetére
Valószínűleg igen, mert a Gugli is elkezdte nyomni ezeket mindenhol.
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
trisztan94
őstag
Mióta divat az, hogy az oldalak kiírják, hogy cookie-kat használnak ezért és ezért és el kell fogadnia a felhasználónak? Több oldalon is láttam már. (Miniclip, Google...)
Esetleg ez valami törvény lett USA-ban?https://heureka-kreativ.hu
-
Phvhun
őstag
Egy elméleti jellegű kérdésem lenne: a nagy tömegek tudnak visszafele lépni a böngészőben?
Szóval ha rákattintanak egy linkre, elolvasták ha érdekelte ptt valami őket, és nincs tovább vezető dolog, akkor visszalépnek?Csak azért kérdezem, mert én nagyon ritkán hazsnálom ezt, mindig mindent uj tabban nyitok meg.
-
Tele von Zsinór
őstag
válasz trisztan94 #8330 üzenetére
Igen, valóban hivatalosan is elavult és nem karbantartott az ext/mysql. Ettől még nem kell használni a mysqli vagy PDO függvényeket, de erősen ajánlott. Még nincs eldöntve, melyik verzióban kerül ki a mysql_* függvénycsalád a php core-ból.
-
Phvhun
őstag
válasz trisztan94 #8330 üzenetére
De igen, bár még nem vettem rá énse magamat az átállásra. Bár Telefonzsinór írása egész jó kezdőlöketnek.
-
-
spammer
veterán
válasz PumpkinSeed #8327 üzenetére
Amit írt, azt beírtad a php-be az adatbázis csatlakozás rész után?
Ezt:
mysql_set_charset("utf-8");
mysql_query("SET NAMES utf8");Nekem sem volt jó, amíg így nem volt még beállítva a charset.
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
-
Phvhun
őstag
válasz PumpkinSeed #8323 üzenetére
fordfairlane már írta, de nekem is ez volt a gondom, és ez megoldotta a problémát:
( mysql_connect után tedd be )mysql_set_charset("utf-8");
mysql_query("SET NAMES utf8");és mindenhol utf8-at kell használni. mondjuk én inkább az utf8_unicode_ci-t használom hungarian helyett.
[ Szerkesztve ]
-
PumpkinSeed
addikt
válasz fordfairlane #8324 üzenetére
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
fordfairlane
veterán
válasz PumpkinSeed #8323 üzenetére
Lefutott a tábla módosítás de valahol máshol lesz a probléma.
Először nézz bele a táblába, hogy az adatok a megfelelő formátumban vannak-e, a phpmyadminnal ez nem probléma. Ha a tartalom jó, nem szemét van az ékezetes karakterek helyén, akkor kell megnézni, hogy az adatbázis műveletek előtt a "SET NAMES utf-8" ott van-e.
Külön a PHP-nak csak akkor kell beállítani a lokalizációt, ha PHP-s stringműveleteket is végzel a kiolvasott adatokon, egyébként nincs jelentősége. A böngésző utf-8-ként látja az oldalt, úgyhogy ez a része oké.
[ Szerkesztve ]
x gon' give it to ya
-
PumpkinSeed
addikt
válasz fordfairlane #8322 üzenetére
Lefutott a tábla módosítás de valahol máshol lesz a probléma. PHP-nál nem lehet megadni a kódolást?
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
fordfairlane
veterán
válasz PumpkinSeed #8321 üzenetére
Meglévő adattáblákat a tartalommal együtt valahogy így lehet áttenni utf-8-ra:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Egyelőre nem tudom kipróbálni, a netről szedtem. Gondolom akkor kell használni, amikor még minden az eredeti latin kódolásban van, a mező típusa és a tartalom is, és ez egyszerre elvégzi a típusmódosítást és a tartalomkonverziót.
[ Szerkesztve ]
x gon' give it to ya
-
PumpkinSeed
addikt
válasz fordfairlane #8320 üzenetére
Azért köszönöm a segítségeket, játszadozok vele. Már minden utf-8on van ő de itt az eredmény: [link]
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
fordfairlane
veterán
válasz PumpkinSeed #8318 üzenetére
A kezdők életét eléggé megbonyolítja. Látszik az angolszász hatás, hogy sokáig nem volt rá univerzális megoldás. Az "utf-8-ra mindent" azért már elég jó.
[ Szerkesztve ]
x gon' give it to ya
-
spammer
veterán
válasz PumpkinSeed #8310 üzenetére
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
Hát a headben nem állítottad át.
De egyébként phpmyadminban látod, hogy az adatbázisba illesztett szöveg jó-e.
Javaslat: phpmyadminban is állíts mindent utf8-hungarian-ci -re:
1, phpmyadmin fő - főoldalán (General Settings): MySQL kapcsolat illesztése
2, Adatbázis névre kattints, aztán Műveletek menüpont, aztán ott lesz az illetsztésnél.
3, Tábla névre kattints, majd Műveletek menüpont és ott a tábla beállításainál lesz illesztés
4, Ha kész vagy ezekkel, akkor külön a mezőkön is állítsd be egyenkéntSzóval sok helyen be lehet (kell) állítani. Legalábbis én mindenhol egységesre állítottam, biztos, ami biztos
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
PumpkinSeed
addikt
válasz fordfairlane #8317 üzenetére
Ha valami akkor ez a kódolás beleteszi a sírba az embert...
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
fordfairlane
veterán
válasz PumpkinSeed #8316 üzenetére
Igen, elvileg jó, de ha nincs sok adat a táblákban, akkor még most érdemes mindent átrakni utf-8-ra, szerintem.
x gon' give it to ya
-
PumpkinSeed
addikt
válasz fordfairlane #8315 üzenetére
Értem. Akkor ha kitörlöm a szöveget átállítom latin2-re és újra beteszem akkor jó lesz.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
fordfairlane
veterán
válasz PumpkinSeed #8314 üzenetére
Igen, úgy jobb volt, mert csak az ő betű helyén volt kérdőjel. Mint most is. A többi jó volt.
Akkor az történhetett, hogy a táblába íráskor még nem volt átállítva latin2-re az adatkapcsolat (a legtöbb helyen a default a latin1), így az ő betűk elvesztek, és így került letárolásra a szöveg.
[ Szerkesztve ]
x gon' give it to ya
-
PumpkinSeed
addikt
válasz fordfairlane #8313 üzenetére
Igen, úgy jobb volt, mert csak az ő betű helyén volt kérdőjel. Mint most is. A többi jó volt.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
fordfairlane
veterán
válasz PumpkinSeed #8312 üzenetére
Kipróbáltad az adatkapcsolat latin2 kódolásra állítását, amit javasoltam? Egyébként ha jól rémlik, tudsz karakterkonverziót végezni lementett adatokon is Mysql-ben, csak most nem ugrik be, hogy kell (tán ALTER TABLE-vel).
Javaslom, hogy a jövőben minden projectet utf-8-as alapokon indíts, a legkisebbet is.
[ Szerkesztve ]
x gon' give it to ya
-
PumpkinSeed
addikt
válasz fordfairlane #8311 üzenetére
Új adattábla segítene rajta szerinted?
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
fordfairlane
veterán
válasz PumpkinSeed #8310 üzenetére
Ez nem stimmel. Lehet, hogy mentésnél történt a hiba, így már akármit is csinálsz, nem tudod jól megjeleníteni. Mindenesetre az látszik, hogy a böngésző utf-8-ként próbálja értelmezni ezt a szöveget, és hogy ez nem jön össze, mert ez a szöveg nem utf-8 kódolású.
[ Szerkesztve ]
x gon' give it to ya
-
PumpkinSeed
addikt
válasz spammer #8306 üzenetére
Így néz ki az utf-8. Mindenhol az van megadva.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
fordfairlane
veterán
válasz Peter Kiss #8308 üzenetére
OOP szempontból pocsék. Kezdő szintű valami, csak éppenhogy jobb, mint mondjuk egy ősrégi php autentikációs tutorial.
x gon' give it to ya
-
fordfairlane
veterán
válasz PumpkinSeed #8305 üzenetére
A kliens, az adatbázis kapcsolat, és az adatbázis tárolási formátuma legyen azonos.
Első körben próbáld ki, hogy az adatbázis kapcsolat inicializálásakor kiadsz egy "SET NAMES latin2" queryt.
x gon' give it to ya
-
spammer
veterán
válasz PumpkinSeed #8305 üzenetére
php-ben utf8 legyen
adatbázisban meg mondjuk utf8-hungarian-ci+ mysql kapcsolatnál (php-ben, ahova beírod), lehet, hogy oda is be kell írni (nekem be kellett), hogy utf8.
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
PumpkinSeed
addikt
Lenne egy olyan problémám, hogy adatbázisból beolvasott tartalom nem jeleníti meg az ő betűt.
Az index.php-ban iso-8859-2 a kódolás
A sql táblának az illesztése és a varcharok is iso-8859-2Mi lehet a probléma?
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
Tele von Zsinór
őstag
válasz trisztan94 #8301 üzenetére
Nem feltétlen kell neki külön domain és tárhely, de az atw és hasonló ingyenes megoldásokkal csak magad szivatod - atw-n különösen a frame-es megoldásuk miatt, amit ki kell kísérletezned, hogy hogyan eszik meg az FB. Miért ragaszkodsz hozzá ennyire? Korábban többször volt itt linkelve a tárhelypark, ahol évi egy ezresért kapsz normális helyet.
Persze, meg lehet oldani, hogy külön menjen két helyen az auth és az oldal maga - viszont akkor rögtön megbonyolítod annyival, hogy ezeknek a biztonságos és megbízható kommunikációját meg kell oldanod.
-
spammer
veterán
válasz fordfairlane #8300 üzenetére
Az a része oké, persze. Nálam ebből lett egy regisztrációs űrlap, egy regisztrációs feldolgozó, egy login űrlap és egy login feldolgozó. A többi meg bele lett gyúrva a megfelelő helyekre, nem tárolgatok mindent külön alkönyvtárban, meg 1 soros php fájlokat mi a fenének.
Persze példának jó, nyilván egy teljesen kezdetleges állapotú oldalhoz próbálgatni rendben van, de azért lehet egyszerűsíteni, meg fontos részekkel bővíteni is kell: pl. email csekkolás nem volt benne, így lehetett volna többször regelni azonos email címmel, ezt bele kellett még raknom. Meg még más csekkolásokat is csinálgatok éppen
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
trisztan94
őstag
válasz Tele von Zsinór #8292 üzenetére
Lehet, hogy rosszul értelmeztem az egész dolgot?
Ahhoz, hogy én tudjak egy FB bejelentkezést az oldalamra külön domain és tárhely kell, amit támogat a FB API? Az alkalmazás készítésénél felajánlja a heroku-t, mint ingyenes domain-t és tárhelyet.. Ha azt megcsinálom, akkor át lehet valahogy irányítani a bejelentkezést az ATW-s domain-re?
Tehát pl van egy html gombom, arra mondjuk egy async megoldással ráküldöm a heroku-s tárhely login funkcióját?
https://heureka-kreativ.hu
Új hozzászólás Aktív témák
Hirdetés
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest