Új hozzászólás Aktív témák
-
Soak
veterán
Szerintem félreértetted, vagy lehet, hogy én fogalmaztam rosszul, de a szerveren jó , a saját gépemen (localhost) lassú. Nem jövök rá miért, mert a MySQL parancsokat villámgyorsan végrehajtja, inkább maga az oldal betöltése lassú. Tehát mondjuk kiválasztok egy adatbázist, minden eltünik, a böngésző ablak fehér, majd 6sec mulva egyszerre beugrik minden.
Szerk: Természetesen a szerveren neten kereszetül jó.
[ Szerkesztve ]
-
Soak
veterán
Jelengleg ilyen routerem van : [link] és nagyon szar a saját hálozata wifi-n. Két gép között max 1mb/s-t tud, nagyon sokaknál olvastam, hogy rossz... Gondoltam erre, de azt hittem, hogy 1mb/s azért elég?! Úgy látszik nem.
szerk : De igazából hülyeséget beszélek, mert a localhostnak nem sok köze van a routeremhez.
[ Szerkesztve ]
-
Siriusb
veterán
-
devbence
tag
Probaltad mar esetleg valami webhoston?
Ha gondolod tudok adni for-free devhostingot, tesztelgetni, fejleszteni.A cimbik azt mondjak atombiztos
Vagy.. alternativa -> virtualis eroforras, virtualis szerver --> www.cloud.hu
"az erzelem szamomra fontos dolog.. pl: erzem ha ehes vagyok"
-
Sk8erPeter
nagyúr
Lehet, hogy korábban már volt szó róla, de már nem tudom követni, szóval milyen szerver?
Milyen szerverbeállításaid vannak?
Ha Apache, akkor az adott VirtualHost beállítása hogyan néz ki?
Újabb verzióval próbáltad már?
Nem tudom, miket kérdezzek még.(#10499) randras : hát jó.
Sk8erPeter
-
DeltaPower
őstag
Mennyi és mekkora adatbázis van a mysql szerverben localon, valamint milyen és mennyire töredezett winchesteren? Innodb egy fájlos tárolásra van beállítva?
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
Lacces
őstag
Hali!
PHP öröklödés. Ez a szituáció röviden:
class Admin{
public $valami = 0;
}
class Child extends Admin{
public $valami = 1; // ????
}Azt szeretném elérni, hogy a Child osztály ugye a háttérben megörökli az Admin-tól a $valami mezőt(adattag). Ezt hogyan lehet a Child-ban beállítani 1-re?
Tudom lehetne, írni rá a függvényt, hogy setValami()... de most inkább az érdekelne, hogy amikor létrejön a Child objektum, akkor már egyből a $valami = 1 legyen, ne kelljen fvt-t hívni stb.
A Child osztály elején, megadott manuálisan, hogy a $valami = 1, mint ahogy a példában is van.
Ezt így meg lehet valahogy oldani?[ Szerkesztve ]
-
Lacces
őstag
válasz Sk8erPeter #10517 üzenetére
hmm... igaz a kosntruktor... hmm, akkor nálam valami más lesz a hiba...
class Child extends Admin{
public function __construct() {
$this->valami = 1;
}
}Így is kellene, működnie, igaz? Hogy nincs ott a $valami változó, hanem csak az Admin osztályban.
Az ősben lévő függvény felülírás, az csak annyi, hogy simán megírom:
class Admin{
public function ez (){
// todo
}
}
class Child extends Admin{
public function ez (){
// todo
}
}Az ős osztályban lévő függvényt, pedig így tudom meghívni? (egy függvény végén a visszatérérsi értéknél pl.:
class Child extends Admin{
public funtion az (){
return parent::ez();
}
}[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz Lacces #10518 üzenetére
Ja, de most végül is mi a kérdés?
Pont meg volt nyitva a NetBeans, úgyhogy bepötyögtem neked egy rövid példát a kódjaid alapján, abból hátha megérted, próbáld ki, kiírat minden szirszart:
<?php
class Admin {
public $valami = 0;
public function ez() {
return __METHOD__;
}
}
class Child extends Admin {
public function __construct() {
$this->valami = 1;
}
public function ez() {
return __METHOD__;
}
public function az() {
$parentMethodReturnValue = parent::ez();
return 'child: "'. __METHOD__.'", parent: "'.$parentMethodReturnValue.'"';
}
}
function my_var_export($var, $text = '...', $output_type = TRUE) {
if (gettype($var) === 'string') {
$var = htmlentities($var);
}
return '<p>' . $text . ($output_type ? ' (' . gettype($var) . ')' : '') . ':</p><pre>' . var_export($var, TRUE) . '</pre>';
}
$admin = new Admin();
$child = new Child();
echo my_var_export($admin, '$child');
echo my_var_export($admin->valami, '$child->valami');
echo my_var_export($child, '$child');
echo my_var_export($child->valami, '$child->valami');
echo my_var_export($child->ez(), '$child->ez()');
echo my_var_export($child->az(), '$child->az()');=================
KIMENET:
$child (object):
Admin::__set_state(array(
'valami' => 0,
))
$child->valami (integer):
0
$child (object):
Child::__set_state(array(
'valami' => 1,
))
$child->valami (integer):
1
$child->ez() (string):
'Child::ez'
$child->az() (string):
'child: "Child::az", parent: "Admin::ez"'[ Szerkesztve ]
Sk8erPeter
-
Soak
veterán
válasz Sk8erPeter #10514 üzenetére
WAMP : 2.2
Apache : 2.2.21
MySQL : 5.5.20-logEz már az ujabb verzió, elötte is csinálta. A távoli szerveren ugyan ez a verzio és az elötte lévő is müködött jól.
A VirtualHost-hoz nem nyúltam abszolut.
-
Soak
veterán
válasz DeltaPower #10515 üzenetére
Az adatbázis 8 tábla és kb 50sor (szinte üres) . A winchester nincs a helyzet magaslatán, de nem tördezetett (legalábbis a töredezettségmentesítő szerint) . Nem tudom ,hogy egy fájlos tárolás van-e beállítva. Melyik paraméter határozza meg?
-
TonTomika
aktív tag
Sziasztok!
Van egy email alapú megrendelő formom, ehhez kéne egy véletlen szerű rendelési számot generálnom, adatbázis nincsen a form mögött.
A prog.hu-n találtam a következőket, de ez nekem eléggé overkill megoldásnak tűnik, valamint nem is tudom, hogy hogyan kezdjek neki:
Ha pl. felhasználod a dátumot, az időt és a rendelés (egyenként növekvő ID-ját, akkor sose lesz egyforma.
Pl. nekem "véletlen kellett"
összeraktam az időt, a dátumot és az ID-t, egy számmá:3. rendelés pl:
082731 20070111 003
ez kiadott egy szép nagy számot.
felvettem egy stringet:
$kulcs="1qw2ertz3uio4pas5df6gh7jkl8yx9vb0nm";
és ez mint "számrendszer jegyek" funkcionáltak.
A "számot" elsoztottam a a hosszal, a maradéknak megfelelő jegyet kivettem. Az eredmény egészrészével tovább dolgoztam.Így a véletlen kódból bármikor ellenőrizhettam az adatokat, hiszen visszakódolható volt.
Persze számsorozatnál szűkebb a lehetőség, de a "generált" dátum kulcs jegyeit össze is keverheted valamilyen szabállyal.
Az ötlet nagyon tetszik, viszont ezzel a kulccsal való "kódolás" elég bonyolultnak tűnik nekem.
Azt viszont jónak találom, hogy a megrendelés pontos időpontjainak számjegyeit véletlenszerűen összekeverem, szerintem ennyi elég. Vagy nem árt bonyolítani rajta?
A számsor karaktereinek összekeverését melyik functionnel, vagy milyen metódussal tudom elvégezni?
Előre is köszi a válaszokat!
[ Szerkesztve ]
-
DeltaPower
őstag
Alapbeállításban egy fájlos, kivéve ha a konfigban az innodb_files_per_table hozzá lett adva telepítés után.
Az előző kérdésem az összes adatbázisra együtt vonatkozott, ami a helyi mysql-ben van. Nálam összesen több mint 5 giga adatbázis van, és még ha nem is valamelyik nagyot, hanem egy pár táblás, majdnem üres kisebb adatbázist használok, az is eléggé lassú tud lenni. Persze ebben benne van a lassú és töredezett vinyó is.
Az egy fájlos tárolás azért lényeges, mert ilyenkor az összes innodb adatbázis egyetlen fájlban tárolódik, ami szerintem teljesítmény szempontjából nem a legjobb megoldás egy bizonyos méret felett. (sajna egy fájlosról több fájlosra áttérni elég nehézkes egy létező adatbázis esetén).Csináltam most egy gyors tesztet, teljesen egyszerű php file, csak simán felkapcsolódok egy tök üres adatbázisra. A szerveren most 21 adatbázis van, össz tárhelyfoglalás 5,98 GB.
A mysql 250-es satás, 7200-as WD vinyón, 220 gigás partíció, 500 mega szabad hely. Az InnoDB ibdata1 fájlja 220(!) fragmentben. (8G ram, x2 250, a rendszer ssd-n van, nem ezen)Ezek az idők jöttek ki:
0.0013120174407959s // saját DB layer include
0.99860501289368s // kapcsolódás saját DB layeren keresztül
0.00019001960754395s // kapcsolat lezárás DB layeren keresztül
1.0029170513153s // kapcsolódás mysql_connect()-el
7.9870223999023E-5s // kapcsolat lezárás1 másodperc körüli idő egy sima kapcsolódásra, üres adatbázishoz.
[ Szerkesztve ]
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
Soak
veterán
válasz DeltaPower #10524 üzenetére
Az összes adatbázis jelengleg a gépemen ez az egy .
Megcsinálnám a tesztet amint írtál, csak nem tudom hogyan csináltad
-
DeltaPower
őstag
Egyszerű kis script:
<?
$times=array();
$times[]=microtime(true);
$res=mysql_connect("localhost","root","");
$times[]=microtime(true);
mysql_close($res);
$times[]=microtime(true);
foreach($times as $k=>$time)
{
if($k+1<count($times)) echo ($times[$k+1]-$time."s<br/>");
}
?>"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
Soak
veterán
válasz TonTomika #10526 üzenetére
De, mindenképp fent áll. De ha számokat használsz keverési alapanyagnak mindig fent fog állni mivel a számok végesek.
Nem ismerem a környezetet, de én mindenképp valahogy úgy csinálnám pl, 12(évszám)07(hónapszám)27(napszám)0001(mindennap nullázodó számláló). Így legalább jelentése is lesz és ismétlődni sem fog.
[ Szerkesztve ]
-
Soak
veterán
válasz DeltaPower #10527 üzenetére
Nekem csak így magában ez jött ki jó sok alkalommal:
0.012153148651123s
0.00029802322387695s -
Sk8erPeter
nagyúr
Szerintem a 6 számjegy kicsit kevés.
(#10520) Soak : "A VirtualHost-hoz nem nyúltam abszolut."
Most hogy van beállítva?
pl. localhost/phpmyadmin, vagy hogyan használod?
Azt még mindig nem írtad, próbáltad-e már másik verzióval.
Ha nem, tedd meg.
Esetleg rakd fel a php.ini-det is valahova, vagy a my.cnf-et, esetleg az Apache megfelelő konfigfájljait.[ Szerkesztve ]
Sk8erPeter
-
Soak
veterán
-
Sk8erPeter
nagyúr
-
TonTomika
aktív tag
Nem kell egy bonyolult dologra gondolni. Egy egyszerű űrlap, amit kitöltenek, majd elküldi emailben, de bele kell iktatni egy egyedi rendelési számot.
Lehetnek benne betűk is, csak ezt így most egyszerűbbnek láttam, hogy az időpontból csinálok egy számsort. Sajnos a php tudásom nem olyan nagy, nem kellett még random értékekkel dolgoznom, de hátha találok rá valami tutorialt.
-
DeltaPower
őstag
válasz Sk8erPeter #10533 üzenetére
Ja bocs, ezred
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
Lacces
őstag
válasz Sk8erPeter #10519 üzenetére
Én magam sem tudom, de köszönöm, majd hétfőn megkérdezem a vezető fejlesztőt... ő találta ki a keretrendszert.
Az egyszerű polimorfizmus nem működik benne... sem konstruktorral, igaz nem is jön létre objektum, hanem osztályok közötti öröklődés van csak... és hiába próbálom a gyermekben felülírni az ősosztályból származó adattagot, nem megy.
De azért köszönöm!
Látszik, hogy már rég jártam itt PH!Kedvencből Nagyúr lettél
-
Sk8erPeter
nagyúr
válasz Lacces #10538 üzenetére
"ő találta ki a keretrendszert"
Ezt úgy bírom, amikor valaki felfedezi a spanyolviaszt."Az egyszerű polimorfizmus nem működik benne... sem konstruktorral, igaz nem is jön létre objektum, hanem osztályok közötti öröklődés van csak... és hiába próbálom a gyermekben felülírni az ősosztályból származó adattagot, nem megy."
Konkrétum nélkül nehéz erre mit mondani, nem látjuk, mit csinálsz rosszul vagy értelmezel félre.Ja, hát igen, múlik az idő, és sokat vakerászom.
Sk8erPeter
-
Lacces
őstag
válasz Sk8erPeter #10539 üzenetére
Jól van már Ne köss már belém. De érted, mit akartam közölni a keretrendszerrel.
Konkrétumot behegeszteni ide, elég hosszú. A vezír meg szabadságon van, és hiába, hogy a többiek tőlem régebb óta vannak ott... Egyik sem tudott mit mondani rá, inkább tőlem várták a megoldást... Amikor az 5 év tapasztalattal rendelkező a 0.5 év tapasztalattal rendelkezőtől várja a megoldást...
Simán megérdemelnék a PHP nagyúr címet valami kis plecsni is járhatna neked
-
Sk8erPeter
nagyúr
válasz Lacces #10540 üzenetére
Háde félreértettél, nem a Te hibád az, ha a nagy guru fejlesztő saját keretrendszerrel állt elő, amit nehéz használni.
Hát, segítenék szívesen, de ha nem mondasz konkrétabb példát, akkor nem tudom kitalálni, mi a helyzet.
Pedig az előbb épp hozzá akartam tenni, hogy sokat vakerászom itt a topicban is - mások nagy bánatára.
Sk8erPeter
-
Soak
veterán
Hogy szoktátok megoldani egy oldalon az "emlékezz rám" funkciót? Elég régóta foglalkoztat és maximális biztonságot szeretnék. Az alap, hogy a jelszót nem tárolhatom el, még hashelve sem, mert annak sincs sokkal több értelme. Miként tudom azonosítani az embereket akkor? A böngésző jelszó tároló funkcióját kell aktiválni, ha beikszelem az emlékezz rám gombot? (nem hinném) . Régóta keresek a témában, de még nem találtam rá az igazi megoldásra, ahol valaki feketén fehéren elmagyarázza a dolog menetét. (nem feltétlenül a kódra gondolok, hanem az alapelvekre) .
-
sztanozs
veterán
A bejelenkezés után kiadott SessionID-t tároltatod el cookie-ban. Ezt tudod ellenőrizni szerver oldalon (pl. session adatbázisból).
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Tele von Zsinór
őstag
Amikor a felhasználó normálisan bejelentkezik, és így is akar maradni, generálsz neki egy remember me tokent - ez legyen nehezen kitalálható és egyedi (például md5("salt" . time()). Ezt kirakod cookieba és tárolod adatbázisban.
Amikor a user aktív session nélkül érkezik, de van ilyen tokenje, megpróbálod adatbázisbeli felhasználóhoz passzolni - ha sikerül, sessiont feltöltöd a bejelentkezéshez szükséges adatokkal, egyéb esetben törlöd a tokent, hogy időt és sávszélt spórolj.
Jelszócsere esetén a felhasználó token mezőjét nullra állítod.
-
sztanozs
veterán
válasz Tele von Zsinór #10545 üzenetére
A "salt".time() nem túl jó, inkább valami kriptografikailag megfelelő random kell: [link]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Soak
veterán
válasz Tele von Zsinór #10545 üzenetére
Tehát ha jól értem akkor egy random stringet (token) generálok neki amit MySQL adatbázisban eltárolok, plusz beleírom a cookiejába. Majd amikor jön, és nincs session_id-ja ,de megvan a token akkor megnézem, hogy van-e az adatbázisban token? Gondolom tárolom a usernevet is, nem (mármint a cookieban)?
De ha jól értem akkor ha valaki megnézi a cookie adataimat (vagy ellopja) akkor a tokenemmel be tud lépni automatikusan a sitera, nem? Igaz ,hogy a jelszavamat nem fogja tudni, de login jó kezdés.[ Szerkesztve ]
-
Tele von Zsinór
őstag
Igen, ennyi a lényeg. Usernevet nem kell tárolni, a token pontosan azonosít egy felhasználót. És igen, ha megszerzi a tokened, azzal be tud lépni, ez egy komoly biztonsági kockázata ennek a funkciónak. Javítani lehet a helyzeten, ha egy tokent adott ip-re (vagy ip tartományra) korlátozol.
sztanozs: egyszerű, könnyen érthető példát akartam. Az mt_rand nem erős kripto értelemben. Arra inkább az openssl_random_pseudo_bytes kell neked, de még ez sem az igazi - valójában php-ben kriptográfiailag biztos véletlen érték generálása nem éppen triviális feladat. Érdemes megnézni a CryptLib Random részét, ez számos forrást ismer, és ezeket kombinálva kellemes nagyságú entrópiát tud létrehozni.
-
Soak
veterán
válasz Tele von Zsinór #10548 üzenetére
Valami ilyesmit?
$rnd_nmb_1 = openssl_random_pseudo_bytes(20, $cstrong);
$rnd_nmb_2 = openssl_random_pseudo_bytes(20, $cstrong2);
$saltB = "$2a$07$";
$saltB .= bin2hex($rnd_nmb_1);
$string = bin2hex($rnd_nmb_2);
echo 'Blowfish: ' . crypt($string, $saltB) . "\n";Vagy magát a hashelendő szöveget nincs értelme randomizálni?
-
sztanozs
veterán
Egy random elég, nem kell játszani vele. Azt eltárolod szerver oldalon egy adatbázisban, kliens oldalon meg cookie-ban.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Új hozzászólás Aktív témák
- Felújított Asus rog strix G15 G1512LI + ajándék, 2025.02.20-ig garis! /INGYEN FOXPOST!/
- BenQ PD3205U 4K Tervezői Monitor!32"/99% sRGB/Pantone/AQCOLOR/Type-c/Mac Ready/Beszámítás!
- Samsung Odyssey G8 Ívelt Ultrawide Oled Monitor!34"/Oled/WQHD/175hz/0,1ms/Freesync-G-sync/Beszámítás
- Ahh! DELL Latitude 3410 Tartós Profi Laptop -60% 14" i5-10210U 4Mag 16GB 512GB SSD FHD IPS
- Ohh! DELL Latitude 3410 Tartós Profi Laptop -60% 14" i5-10210U 4Mag 8GB 256GB SSD FHD IPS