- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Milyen okostelefont vegyek?
- Mobil flották
- iPhone topik
- Huawei Mate 50 Pro - blendemonda
- Samsung Galaxy Watch6 Classic - tekerd!
- Honor 200 Pro - mobilportré
- Megérkezett a Google Pixel 7 és 7 Pro
- Samsung Galaxy Watch7 - kötelező kör
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
Új hozzászólás Aktív témák
-
zka67
őstag
válasz
Tele von Zsinór #6299 üzenetére
A textarea-nak is.
-
zka67
őstag
válasz
zsoltke #6297 üzenetére
Ha azt szeretnéd, hogy ugyanúgy nézzen ki a szöveg mint ahogy beírtad, akkor csak annyit kell csinálnod, hogy amikor kiíratod a szöveget elé beszúrsz egy <pre> -t mögé pedig egy </pre> -t.
A & < > -eket pedig lecseréled & < és > -re, hogy ne tudják elcseszni a formázásodat.
-
zsoltke
tag
köszi srácok, működik is
-
Inv1sus
addikt
Akkor már legyünk teljesen pontosak: <br />
-
TomyLeeBoy
tag
válasz
Tele von Zsinór #6293 üzenetére
Elolvastam a nl2br manualt, az tényleg pontosan erre van kitalálva. Én ezt a megoldást magamtól eszeltem ki még évekkel ezelőtt, és mivel jó volt ezért használom ezt. De mostmár lehet váltok. Mindig tanul az ember.
-
j0k3r!
őstag
válasz
TomyLeeBoy #6292 üzenetére
azert irtam off-nak, mivel csak megjegyzesnek szantam, nem a te otleted felulbiralasara.
(#6293) Tele von Zsinór: igaz, de valoszinubbnek tartom, hogy xhtml dtd-t hasznal, mint html-t.
-
Tele von Zsinór
őstag
válasz
TomyLeeBoy #6290 üzenetére
Van egy nl2br nevű függvény, azzal inkább.
@j0k3r!: a <br> pontosan ugyanannyira valid, mint a <br/>, csak az egyik html, a másik xhtml.
-
j0k3r!
őstag
válasz
TomyLeeBoy #6290 üzenetére
akkor mar <br/>, ha valid kodot szeretnel.
-
TomyLeeBoy
tag
válasz
zsoltke #6287 üzenetére
A sortöréseket \n -el tárolja le, Te pedig megjeleníted html-ben, ahol <br> a sortörés.
str_replace -el cseréld le a string-ben a \n -eket <br> -re.
-
zsoltke
tag
üdv, készítettem egy egyszerű php-s forumot mysql táblákkal, és amikor a hozzászólást sortördeléssel beírod és ok-t nyomsz akkor az adatbázisba helyesen kerül be a megformázott szöveg, de amikor egy select-tel kiolvasom a táblából és php-val kiíratom akkor formázatlanul jelenik meg, tudnátok ebben segíteni, hogy úgy nézzen ki a szöveg mint amikor beírtam a szövegmezőbe? köszi
-
Siriusb
veterán
válasz
Speeedfire #6278 üzenetére
000webhoston ez az üzenet, ha csak azt az egy parancsot tartalmazó fájlt próbálom futtatni böngészőből:
Warning: exec() has been disabled for security reasons -
Siriusb
veterán
válasz
Speeedfire #6278 üzenetére
Köszi. Ki is próbálom.
-
Inv1sus
addikt
Szerintetek az mennyire egészséges, ha írok egy olyan feltételt, ami azt vizsgálja, hogy robot böngészi-e az adott pillanatban a weblapot és e szerint mást állítok be bizonyos részeken?
Pl mondjuk a robot számára nem lesz alapból Display:none egy eltűnő menü, csak egy mezei felhasználó számára.
Ezt a google bünteti vagy figyeli valahogy, esetleg a keresőoptimalizáltságra van valamilyen hatással?
-
LW
őstag
Üdv újra.
Van az alább látható 3 osztályom:
abstract class REQUEST{
public static function helper_get_var(&$sga, $key, $default, $type = 'string'){
if(isset($sga[$key])){
if($type != 'string'){
$value = $sga[$key];
settype($value, $type);
return $value;
} else {
return STRINGS::secure($sga[$key]);
}
} else {
return $default;
}
}
}abstract class GET extends REQUEST{
public static function get_var($key, $default, $type = 'string'){
return REQUEST::helper_get_var($_GET, $key, $default,$type);
}
}abstract class POST extends REQUEST{
public static function get_var($key, $default, $type = 'string'){
return REQUEST::helper_get_var($_POST, $key, $type);
}
}Csináltam egy segítő functiont, amit a 2. és 3. osztály örököl, elkerülve az ismétlést.
A kérdés az, hogy van rá mód, hogy csak GET és POST osztály lássa a REQUEST funkcióját?Szerk: úgy néz ki protected módosítóval eléri, bár phpDesigner nem rakta be az elérhető funkciók listájába.
-
rt06
veterán
nem volt faradtsag, csak kimasoltam a john --test kimenetet
ez par masodpercig futtatja az alatala ismert algoritmusok mindegyiket, ami megmutatja, milyen sebesseggel mukodik a bruteforce jelszotoresa virtual c/s ertekek osszehasonlitasaval tudod megnezni, melyik jelszo milyen sebesseggel torheto (minel magasabb az ertek, annal gyorsabban tudja torni a jelszot)
persze ez nem szamolja a hash-elesi algoritmusok hibait (ha jol tudom, md5 ennel gyorsabban is torheto), illetve mind md5, mind pedig sha1 eseteben leteznek mar olyan rainbow tablak, melyek tartalmazzak az osszes 8 karakteres jelszo hash-et
erdemes lehet egyebkent megnezni a PHPASS framework-ot, ami lenyegesen lassabban "torheto" mindket emlitett algoritumsnal
-
Siriusb
veterán
Egy kis segítség kellene. A webtárhely szolgáltatónál (a jelenlegi csomagban) nincs cron futtatás. Azonban phpList miatt szükségem lenne rá. Van egy ingyenes tárhelyem a 000webhoston, ahol van cron. Ott php -f paranccsal futtatnék egy cron.php-t a következő tartalommal:
<?php
exec('http://www.akarmi.hu/lists/admin/index.php?page=processqueue&login=usernev&password=jelszo');
?>Miért nem működik így? Van valami szerintetek működő megoldás esetleg?
Maga a parancs böngészőből indítva lefut. -
Speeedfire
félisten
válasz
TomyLeeBoy #6269 üzenetére
Egyelőre oop érdekel utána meg a symfony 2. Valamennyi jquery ismerem van, de itt is az a baj, hogy az angolom ramaty. Magyar nyelven meg nem sok mindent találok...
-
TomyLeeBoy
tag
válasz
Speeedfire #6268 üzenetére
Én is halogattam az ajax-ot mert nem akartam vele kínlódni mikor php-ban már elég jól kiismertem magam. Aztán egyszer rászántam magam, és fél nap olvasgatás, próbálkozás után már elég jó dolgokat tudtam megvalósítani ajax-al. Szerintem akárhogy is állsz a php-val, hajrá ajax!
-
Speeedfire
félisten
válasz
Tele von Zsinór #6266 üzenetére
Ismerkedni ismerkedek vele, de egy ilyen egymásba ágyazáshoz elég sokat kellene tudnom. Meg még mindig a php a fontosabb tanulnivaló.
-
rt06
veterán
wall of text kovetkezik, elore is elnezest
ez a john the ripper jelszotoro program alapertelmezett tesztjenek a kimenete, ebben tudod a bruteforce tores sebessegeit osszehasonlitanisozott sha1-et nem latok, sozott mdt-bol meg vagy egy csomo - sozas nelkuli van mindkettobol, raw-sha1 es raw-md5 neven keresd oket
Benchmarking: Traditional DES [24/32 4K]... DONE
Many salts: 24357 c/s real, 49192 c/s virtual
Only one salt: 28641 c/s real, 45200 c/s virtual
Benchmarking: BSDI DES (x725) [24/32 4K]... DONE
Many salts: 1333 c/s real, 1462 c/s virtual
Only one salt: 1473 c/s real, 1473 c/s virtual
Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw: 1093 c/s real, 1103 c/s virtual
Benchmarking: OpenBSD Blowfish (x32) [32/32 X2]... DONE
Raw: 86.4 c/s real, 59.6 c/s virtual
Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
Short: 38901 c/s real, 35428 c/s virtual
Long: 99358 c/s real, 102400 c/s virtual
Benchmarking: LM DES [32/32 BS]... DONE
Raw: 516847 c/s real, 538160 c/s virtual
Benchmarking: NT MD4 [32/32]... DONE
Raw: 1116K c/s real, 1174K c/s virtual
Benchmarking: Mac OS X 10.4+ salted SHA-1 [32/32]... DONE
Many salts: 371588 c/s real, 371588 c/s virtual
Only one salt: 310371 c/s real, 333484 c/s virtual
Benchmarking: M$ Cache Hash [Generic 1x]... DONE
Many salts: 2146K c/s real, 2189K c/s virtual
Only one salt: 755073 c/s real, 770327 c/s virtual
Benchmarking: Apache MD5 [32/32]... DONE
Raw: 1034 c/s real, 1098 c/s virtual
Benchmarking: HMAC MD5 [hmac-md5]... DONE
Raw: 185234 c/s real, 187087 c/s virtual
Benchmarking: Post.Office MD5 [STD]... DONE
Many salts: 395042 c/s real, 398993 c/s virtual
Only one salt: 324984 c/s real, 364704 c/s virtual
Benchmarking: Raw MD5 [raw-md5 64x1]... DONE
Raw: 717560 c/s real, 754933 c/s virtual
Benchmarking: md5_gen(0): md5($p) (raw-md5) [md5-gen 64x1]... DONE
Raw: 551984 c/s real, 574746 c/s virtual
Benchmarking: md5_gen(1): md5($p.$s) (joomla) [md5-gen 64x1]... DONE
Many salts: 537283 c/s real, 596325 c/s virtual
Only one salt: 499326 c/s real, 504320 c/s virtual
Benchmarking: md5_gen(2): md5(md5($p)) (e107) [md5-gen 64x1]... DONE
Raw: 280712 c/s real, 292288 c/s virtual
Benchmarking: md5_gen(3): md5(md5(md5($p))) [md5-gen 64x1]... DONE
Raw: 174384 c/s real, 191443 c/s virtual
Benchmarking: md5_gen(4): md5($s.$p) (OSC) [md5-gen 64x1]... DONE
Many salts: 614400 c/s real, 639736 c/s virtual
Only one salt: 510922 c/s real, 531991 c/s virtual
Benchmarking: md5_gen(5): md5($s.$p.$s) [md5-gen 64x1]... DONE
Many salts: 549893 c/s real, 610320 c/s virtual
Only one salt: 490917 c/s real, 521600 c/s virtual
Benchmarking: md5_gen(6): md5(md5($p).$s) [md5-gen 64x1]... DONE
Many salts: 646906 c/s real, 659975 c/s virtual
Only one salt: 247572 c/s real, 274778 c/s virtual
Benchmarking: md5_gen(7): md5(md5($p).$s) (vBulletin) [md5-gen 64x1]... DONE
Many salts: 625932 c/s real, 645093 c/s virtual
Only one salt: 275009 c/s real, 280565 c/s virtual
Benchmarking: md5_gen(8): md5(md5($s).$p) [md5-gen 64x1]... DONE
Many salts: 289330 c/s real, 307604 c/s virtual
Only one salt: 263160 c/s real, 276866 c/s virtual
Benchmarking: md5_gen(9): md5($s.md5($p)) [md5-gen 64x1]... DONE
Many salts: 520617 c/s real, 604395 c/s virtual
Only one salt: 234835 c/s real, 266498 c/s virtual
Benchmarking: md5_gen(10): md5($s.md5($s.$p)) [md5-gen 64x1]... DONE
Many salts: 264617 c/s real, 296960 c/s virtual
Only one salt: 243770 c/s real, 273564 c/s virtual
Benchmarking: md5_gen(11): md5($s.md5($p.$s)) [md5-gen 64x1]... DONE
Many salts: 267722 c/s real, 293913 c/s virtual
Only one salt: 270067 c/s real, 275523 c/s virtual
Benchmarking: md5_gen(12): md5(md5($s).md5($p)) (IPB) [md5-gen 64x1]... DONE
Many salts: 374621 c/s real, 382189 c/s virtual
Only one salt: 209869 c/s real, 211968 c/s virtual
Benchmarking: md5_gen(13): md5(md5($p).md5($s)) [md5-gen 64x1]... DONE
Many salts: 376649 c/s real, 380416 c/s virtual
Only one salt: 210059 c/s real, 210059 c/s virtual
Benchmarking: md5_gen(14): md5($s.md5($p).$s) [md5-gen 64x1]... DONE
Many salts: 575936 c/s real, 581696 c/s virtual
Only one salt: 259992 c/s real, 262592 c/s virtual
Benchmarking: md5_gen(17): phpass ($P$ or $H$) [md5-gen 64x1]... DONE
Many salts: 331 c/s real, 342 c/s virtual
Only one salt: 310 c/s real, 344 c/s virtual
Benchmarking: PHPass MD5 [phpass-md5]... Using phpass mode, by linking to md5_gen(17) functions DONE
Many salts: 339 c/s real, 339 c/s virtual
Only one salt: 339 c/s real, 342 c/s virtual
Benchmarking: IPB2 MD5 [Invision Power Board 2.x salted MD5]... DONE
Many salts: 370965 c/s real, 374638 c/s virtual
Only one salt: 225773 c/s real, 228031 c/s virtual
Benchmarking: Raw SHA-1 [raw-sha1]... DONE
Raw: 347037 c/s real, 347037 c/s virtual
Benchmarking: Kerberos v4 TGT [krb4 DES]... DONE
Raw: 280102 c/s real, 294691 c/s virtual
Benchmarking: Kerberos v5 TGT [krb5 3DES (des3-cbc-sha1)]... DONE
Raw: 5081 c/s real, 5402 c/s virtual
Benchmarking: Netscape LDAP SHA [SHA-1]... DONE
Raw: 347138 c/s real, 350610 c/s virtual
Benchmarking: Netscape LDAP SSHA [salted SHA-1]... DONE
Many salts: 351978 c/s real, 351978 c/s virtual
Only one salt: 321077 c/s real, 324288 c/s virtual
Benchmarking: OpenLDAP SSHA [salted SHA-1]... DONE
Many salts: 371532 c/s real, 375248 c/s virtual
Only one salt: 322596 c/s real, 342758 c/s virtual
Benchmarking: Eggdrop [blowfish]... DONE
Raw: 1621 c/s real, 2127 c/s virtual
Benchmarking: Oracle [oracle]... DONE
Raw: 111283 c/s real, 111283 c/s virtual
Benchmarking: Oracle 11g [oracle11]... DONE
Many salts: 363222 c/s real, 366855 c/s virtual
Only one salt: 323058 c/s real, 326289 c/s virtual
Benchmarking: MYSQL [mysql]... DONE
Raw: 209205 c/s real, 215610 c/s virtual
Benchmarking: MySQL 4.1 double-SHA-1 [mysql-sha1]... DONE
Raw: 164600 c/s real, 186794 c/s virtual
Benchmarking: Lotus5 [Lotus v5 Proprietary]... DONE
Raw: 36512 c/s real, 36878 c/s virtual
Benchmarking: More Secure Internet Password [RSA MD defined by BSAFE 1.x - Lotus v6]... DONE
Many salts: 19039 c/s real, 19230 c/s virtual
Only one salt: 11253 c/s real, 11253 c/s virtual
Benchmarking: LM C/R DES [netlm]... DONE
Many salts: 62087 c/s real, 62708 c/s virtual
Only one salt: 60142 c/s real, 60744 c/s virtual
Benchmarking: NTLMv1 C/R MD4 DES [netntlm]... DONE
Many salts: 86509 c/s real, 87375 c/s virtual
Only one salt: 82005 c/s real, 82005 c/s virtual
Benchmarking: LMv2 C/R MD4 HMAC-MD5 [netlmv2]... DONE
Many salts: 64574 c/s real, 65220 c/s virtual
Only one salt: 63209 c/s real, 63842 c/s virtual
Benchmarking: NTLMv2 C/R MD4 HMAC-MD5 [netntlmv2]... DONE
Many salts: 58568 c/s real, 59154 c/s virtual
Only one salt: 59524 c/s real, 59524 c/s virtual
Benchmarking: HalfLM C/R DES [nethalflm]... DONE
Many salts: 145741 c/s real, 147199 c/s virtual
Only one salt: 138600 c/s real, 139987 c/s virtual
Benchmarking: MS-SQL [ms-sql]... DONE
Many salts: 386347 c/s real, 390211 c/s virtual
Only one salt: 354087 c/s real, 357628 c/s virtual
Benchmarking: MS-SQL05 [ms-sql05]... DONE
Many salts: 384428 c/s real, 384428 c/s virtual
Only one salt: 359701 c/s real, 363299 c/s virtual
Benchmarking: EPiServer SID Hashes [SHA-1]... DONE
Many salts: 365137 c/s real, 368789 c/s virtual
Only one salt: 341785 c/s real, 345203 c/s virtual
Benchmarking: PHPS MD5 [MD5(MD5($pass).$salt) MD5]... Using phps mode, by linking to md5_gen(6) functions DONE
Many salts: 666550 c/s real, 666550 c/s virtual
Only one salt: 281600 c/s real, 284416 c/s virtual
Benchmarking: MYSQL_fast [mysql-fast]... DONE
Raw: 2013K c/s real, 2034K c/s virtual
Benchmarking: PIX MD5 [pix-md5]... DONE
Raw: 560534 c/s real, 566140 c/s virtual
Benchmarking: SAP CODVN G (PASSCODE) [sapg]... DONE
Many salts: 120317 c/s real, 120317 c/s virtual
Only one salt: 113519 c/s real, 114655 c/s virtual
Benchmarking: SAP BCODE [sapb]... DONE
Many salts: 181932 c/s real, 183752 c/s virtual
Only one salt: 152421 c/s real, 153946 c/s virtual
Benchmarking: Netscreen MD5 [NS MD5]... DONE
Raw: 460711 c/s real, 460711 c/s virtual
Benchmarking: HTTP Digest access authentication [HDAA-MD5]... DONE
Many salts: 191347 c/s real, 193261 c/s virtual
Only one salt: 182336 c/s real, 184160 c/s virtual
Benchmarking: generic crypt(3) [?/32]... DONE
Many salts: 4372 c/s real, 4416 c/s virtual
Only one salt: 4800 c/s real, 4800 c/s virtual -
Tele von Zsinór
őstag
Na igen, hosszminimum felállítása is okos dolog. Viszont itt főleg arról van szó, mikor valahogy kikerül az adatbázisod - a lényeg, hogy ne lehessen egyszerűen visszafejteni a jelszót, és ugyanazt a felhasználónév/jelszó párost végigpróbálgatni más oldalakon.
@Speeedfire: jogosan panaszkodik, tényleg magára irányít. A mai világban már kikerülhetetlen az ajax, halogathatod, de megúszni nem fogod. Valami JS framework rengeteget segít, manapság a legelterjedtebb a jQuery, és nem csak az ajaxszal kapcsolatos egyszerűsítése miatt. Jó a dokumentációja, megéri belenézni.
-
Speeedfire
félisten
válasz
Tele von Zsinór #6263 üzenetére
Komolyan mondom tele van már a tudatom ezzel a scripttel.
Most meg a chrome panaszkodik a 100-as lépésekkel, hogy mindig meghívja magát....
A 200-as határ már jól sikerült, de ez a több fájl másolás most elvette mindentől a kedvemet...Ez lett a végleges script, biztos lehetne még mit csiszolni rajta, de működik így is...
<?php
$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/"));
libxml_use_internal_errors(false);
$domx = new DOMXPath($domd);
$links = $domx->query(sprintf("//a[position() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
$i = 0;
$j = 0;
foreach ($links as $link) {
if ($i <= 199) {
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
$file .= $link->getAttribute("href");
$newfile = '../packages/' . $link->getAttribute("href");
if (!copy($file,$newfile)) {
echo 'Nem sikerült a(z) '.$i.' másolása.<br />';
}
else {
echo $i.'. Ok.<br />';
$j++;
}
}
else {
break;
}
$i++;
}
if (isset($_GET['start']) == 0) {
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin';
$newfile = '../'.end(explode('/',$file));
if (!copy($file,$newfile)) {
echo 'Nem sikerült a bin másolása.';
}
else {
echo 'Sikeres volt a bin letöltése.';
}
}
$ciklusstart = $_GET['start'] + 200;
$uri = $_SERVER['PHP_SELF'].'?start='.$ciklusstart;
if ($j != 0) {
header("Location: $uri");
}
?>Köszönöm az eddigi fáradozásodat!
Szerk.: Egy hátránya van egye ennek a meghívásos dolognak, hogy nem látom a kimeneteket.
-
jeges
senior tag
válasz
Tele von Zsinór #6263 üzenetére
(esetleg plusz korlátozás a jelszó minimum hosszára, bonyolultságára, erősségére, stb. emlékeim szerint - de lehet, tévedek vagy elavult az info - 5 vagy 6 karakterig vannak rainbow táblák közforgalomban, úgyhogy egy viszonylag hosszú - >10 karakter - szöveges változóval viszonylag hatékonyan védhető az ilyen fenyegetés)
kérdés: van esetleg tapasztalat, hogy egy saltolt sha1 mennyivel "keményebb dió" az ugyanúgy saltolt md5-nél? nekem ez a 128 vs 160 bites izé nem sokat mond.
-
Tele von Zsinór
őstag
válasz
Speeedfire #6254 üzenetére
A DomNodeList nem ArrayAccess interface, szóval $links[$n] helyett $links->item($n).
Másrészt a hibát okozó sor a $links->getAttribute() hívás, ami nincs is az én kódomban, nézd meg újra.A $n, $m változók feleslegesek (ezeket te az első és utolsó indexeknek használod) - a domx query összeállításakor megmondom neki, hogy csak a $_GET["start"] pozíció utáni linkek érdekelnek.
Most nincs időm kódot mutatni, de csináld azt, hogy foreach-csel mész, benne növelsz egy számlálót, ha az eléri a százat -> break. Ezen kívül a ciklusmagban mented a filet.
A mag után ha a számláló nem nulla (azaz volt feldolgozott link), akkor headerrel átirányítod úgy, hogy az új start a kapott start + a számláló értéke.A végén az url összeállítós részt nézd meg mégegyszer, a paraméter neve lemaradt.
A jelszavas témához: az md5 nem kódolás, hanem hashelés - pont az a lényege, hogy nem visszafejthető, az egyetlen törési módszer a brute force. Ebből a szempontból egyébként az md5 elavult, úgynevezett rainbow table módszerrel nagyon rövid idő alatt törhető a nagyjuk.
Ennek nehezítésére az egyik lehetőség a saltolás, amikor egy userenként más-más stringet fűzöl a jelszóhoz, és azt hasheled - így felhasználónként külön rainbow table kell, drasztikusan lassítva ezzel a törési kísérleteket.
Másik lehetőség egy erősebb algoritmus használata, mint az sha1 (160 bites 128 helyett).
Legjobb a kettő együtt: saltolt sha1. -
Inv1sus
addikt
Az volt a gond, hogy a begyepesedett agyammal csak arra gondoltam, hogy $megadott_jelszo = ? ($adatbazisos_md5_jelszo)
Fail...
-
Speeedfire
félisten
válasz
Inv1sus #6259 üzenetére
Igen!
A postolt adatra nyomsz egy md5-öt, és összehasonlítod az adatbázisban már előre md5-ként mentett jelszóval.
Én pl használom még az md5-öt random sztring generálásra is, amiből generálom az meg az idő, szóval 2 egyforma sem lehet.Itt egy egyszerű példa. [link]
Én anno mikor csináltam a login rendszert ez volt az alap amiből kiindultam.
-
RedSign
tag
válasz
Inv1sus #6257 üzenetére
Hogy-hogy semmire?
A jelszó semmire sem jó?
Egyébként olyan adatok esetén hasznos, amiket a felhasználó visz be és csak összehasonlítani kell velük (megerősítő kód is ilyen például) vagy ha sütiben tárolod a felhasználói azonosítót és automatikus beléptetést alkalmazol vele...
-
Inv1sus
addikt
http://codeigniter.com/user_guide/libraries/encryption.html
Mi értelme valamit md5 kódolni, ha nem lehet visszafejteni? Mire lehet azt használni akkor?
-
Speeedfire
félisten
válasz
Tele von Zsinór #6250 üzenetére
Hát nekem egyelőre úgy néz ki még ez is nagy falat.
<?php
$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/"));
libxml_use_internal_errors(false);
$domx = new DOMXPath($domd);
$links = $domx->query(sprintf("//a[position() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
$n = $_GET['start'];
$m = $n+100;
echo $n;
for ($n; $n<$m; $n++) {
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
$file .= $links->getAttribute("href");
$newfile = '../packages/' . $links[$n]->getAttribute("href");
if (!copy($file,$newfile)) {
echo 'Nem sikerült a(z) '.$n.' másolása.';
}
else {
echo $n.'. Ok.';
}
}
$uri = $_SERVER['PHP_SELF'].'/?='.$_GET['start']+100;
header("Location: $uri");
?>Fatal error: Call to undefined method DOMNodeList::getAttribute() in /var/www/szunyi.com/openwrt/www/admin/masol.php on line 19
Lehet tényleg jobban járnék valami ajaxos megoldással...
-
PazsitZ
addikt
válasz
DeltaPower #6252 üzenetére
kódszerkesztőkben a szintaxis kiemelés nem ismeri fel az idézőjelen belül használt változókat
Mondjuk azt, hogy van olyan szerkesztő amely nem. -
DeltaPower
addikt
válasz
TomyLeeBoy #6251 üzenetére
amit írtál, ez is egy használható szintaxis, viszont kódszerkesztőkben a szintaxis kiemelés nem ismeri fel az idézőjelen belül használt változókat
auto increment mezőnél fölösleges megadni az üres értéket
-
TomyLeeBoy
tag
$parancs = "INSERT INTO belepes (id,nev,jelszo) ";
$parancs.= "VALUES('', '".$nev."','".$jelszo."')";VALUES-ben miért van a változók körül dupla idézőjel és pont? ( pl.: '".$nev"' )
nekem ez így szokott kinézni:
$parancs4 = "INSERT INTO film_con (user_id,film_id,num) VALUES ('$user_id','$film_id','$num')";
és eddig még mindig működött több féle szerveren és php verzióval is.
Az idézett film_con táblámban is van auto increment id, de azt bele sem rakom a parancsba, szépen létrehozza. -
Tele von Zsinór
őstag
válasz
Speeedfire #6249 üzenetére
Ez is egy megoldás.
-
Speeedfire
félisten
válasz
Tele von Zsinór #6248 üzenetére
Ajaxxal még nem foglalkoztam.
Mennyire lenne csúnya megoldás, ha mindig meghívnám a php fájlt és egy for ciklussal iratnám ki a dolgokat. A fájl végén meg a headerbe továbbítanám +100-as start paraméterrel. Így mindig meghívja megát a fájlt.
Kicsi csúnya lenne, meg nem tudnám,hogy melyiket sikerült neki átmásolnia, de menne.
Esetleg sessionben. -
Tele von Zsinór
őstag
válasz
Speeedfire #6247 üzenetére
Ajaxot csináltál már? Nem bonyolult, a gondolatmenetem meg kifejtem bővebben:
ha nincs start paraméter, akkor egy olyan oldalt kap a kliens, ami betöltődésekor beállít egy változót nullára, majd elindít egy ajax kérést a háttérben, amiben átadja ezt a változót, mint start.
Az ajax kérés a start paramétertől indulva (annyiadik linktől) lement mondjuk 100 linket az oldalról, majd kiírja, hogy hányat mentett le (és csak ennyit ír ki).
Az eredeti oldal fogja ezt a számot, növeli ennyivel azt a bizonyos változót, majd új ajax kérést indít.
Az egész addig ismétlődik, amíg valamelyik kérés nullát nem ad vissza - azaz elfogytak a lementendő linkek.
-
Speeedfire
félisten
válasz
Tele von Zsinór #6246 üzenetére
Valóban tiltva van.
Viszont ez az ajax meghívás nekem magas.
Ennyire nem értek a dologhoz. -
Tele von Zsinór
őstag
válasz
Speeedfire #6245 üzenetére
Valószínűleg lejár a futásidő. Ingyenes tárhely, szóval valószínűleg tiltva a set_time_limit (azért nézd meg).
Ötlet: az oldal, ha paraméter nélkül hívod meg, csak annyit csinál, hogy ajax-szal meghívja önmagát mondjuk százasával növekvő start paraméterrel egész addig, amíg van mit letölteni (az ajax hívás eredményéből mondjuk).
-
Speeedfire
félisten
válasz
Tele von Zsinór #6244 üzenetére
Ez még jobb mint az enyém (a tied).
Viszont itt is felmásolja az első ~1200 fájlt után dob egy error500-at. Ingyenes tár ismét hangsúlyozom. Ezzel lehetne valamit kezdeni?
-
Tele von Zsinór
őstag
válasz
Speeedfire #6243 üzenetére
Az általam tesztelt kód és a kimenetének eleje:
maerlyn@biliskner:~/tmp$ cat tmp.php
<?php
$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/"));
libxml_use_internal_errors(false);
$domx = new DOMXPath($domd);
$links = $domx->query(sprintf("//a[position() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
foreach ($links as $link) {
$url = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/' . $link->getAttribute("href");
echo $url . "\n";
}
maerlyn@biliskner:~/tmp$ php tmp.php | head
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/../
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/6in4_8-1_all.ipk
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/6scripts_0.1-6_all.ipk
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/6to4_3-1_all.ipk
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/6tunnel_0.11rc2-2_ar71xx.ipk
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/GraphicsMagick-jpeg_1.3.8-2_ar71xx.ipk
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/GraphicsMagick_1.3.8-2_ar71xx.ipk
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/ahcpd_0.51-3_ar71xx.ipkAmire felhívnám a figyelmet: az xpath queryben nem pos(), hanem position() van, valamint a hrefben csak egy relatív url van, hozzá kell csapni az elejéhez a base urlt.
-
Speeedfire
félisten
válasz
Tele von Zsinór #6242 üzenetére
Most nincs error,warning ellen nem fut le a másolás. Lehet én értem rosszul az egész folyamatot. Ha jól értem akkor a $link a megadott paramétere a href="" -nek.
$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML("lista.txt");
libxml_use_internal_errors(false);
$domx = new DOMXPath($domd);
$links = $domx->query(sprintf("//a[pos() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
foreach ($links as $link) {
$link->getAttribute("href");
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
$file = $link;
$newfile = '../packages/'.$link;
if (!copy($file,$newfile)) {
echo 'Nem sikerült a(z) '.$i.' másolása.'; flush();
}
else {
echo $i.'. Ok.'; flush();
}
} -
Tele von Zsinór
őstag
válasz
Speeedfire #6241 üzenetére
1, flush() kell neked.
2, kimaradt egy ] és egy ): $links = $domx->query(sprintf("//a[pos() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
-
Speeedfire
félisten
válasz
Tele von Zsinór #6239 üzenetére
Vagy nagyon béna vagyok vagy tényleg béna vagyok, de nekem sehogy sem akar menni. :S
1. Igen elvileg kiírja, de akkor amikor lefutott a script, real time kiírásra gondoltam, de azt ahogy sejtem csak ajaxal lehetne megoldani.
2. Minden formában próbáltam már de mindig warning van vagy error erre a sorra:
$links = $domx->query(sprintf("//a[pos() >= %d", isset($_GET["start"]) ? (int)$_GET["start"] : 0); -
Tele von Zsinór
őstag
válasz
Speeedfire #6238 üzenetére
2. ahogy látom, most is kiírod, ha valamelyik kész (echo $i.'. Ok.';)
1. igen, meg lehet. Ráadásul egyszerűbben is, mint ez az explode-os bohóckodás, nem véletlen mondtam korábban a php DOM műveleteit. A következő kód feltételezi, hogy a lista.txt a korábban látott filelista html kódja, vagy nagyon hasonló:
$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML("lista.txt");
libxml_use_internal_errors(false);
$domx = new DOMXPath($domd);
$links = $domx->query(sprintf("//a[pos() >= %d", isset($_GET["start"]) ? (int)$_GET["start"] : 0);
foreach ($links as $link) {
//$link->getAttribute("href") ellenőrzése, ha kell, mentése
}Ennek át tudsz adni get-ben egy paramétert, és az annyiadik linktől kezdi. Ha nem adsz meg semmit, az elsőnél. Csak gyorsan beírtam ide, szóval nem tesztelt kód.
-
Speeedfire
félisten
Kicsit gányolni kellett a kódomat, most úgy ahogy jó. Viszont nagyon sok fájl van ezért egy idő után lehal és error 500-at dob vissza.
2 kérdésem lenne ezzel kapcsolatban:
1. Meglehet oldani valahogy azt, hogy ne akarja az egészet egyszerre megcsinálni?
2. Kilehetne valahogy iratni egyesével ha már valamelyiket átmásolta?A kód:
<?php
$handle = @fopen('lista.txt','r');
if ($handle) {
$i = 0;
while (($buffer = fgets($handle, 4096)) !== false) {
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
$buffer = explode('"', $buffer);
$file .= $buffer[1];
$newfile = '../packages/'.$buffer[1];
if (!copy($file,$newfile)) {
echo 'Nem sikerült a(z) '.$i.' csomag másolása.';
}
else {
echo $i.'. Ok.';
}
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
$file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin';
$newfile = '../'.end(explode('/',$file));
if (!copy($file,$newfile)) {
echo 'Nem sikerült a másolás.';
}
else {
echo 'Sikeres volt a bin letöltése.';
}
?>A txt fájl meg ilyesmi (2700 sor, ergó 2700 fájl másolását akarom ráuszítani):
<a href="6in4_8-1_all.ipk">6in4_8-1_all.ipk</a> 13-Feb-2011 04:43 2513
<a href="6scripts_0.1-6_all.ipk">6scripts_0.1-6_all.ipk</a> 13-Feb-2011 05:44 2284
<a href="6to4_3-1_all.ipk">6to4_3-1_all.ipk</a> 13-Feb-2011 04:43 3206
<a href="6tunnel_0.11rc2-2_ar71xx.ipk">6tunnel_0.11rc2-2_ar71xx.ipk</a> 13-Feb-2011 05:44 7345
<a href="GraphicsMagick-jpeg_1.3.8-2_ar71xx.ipk">GraphicsMagick-jpeg_1.3.8-2_ar71xx.ipk</a> 13-Feb-2011 09:48 18431Az első teszt eredménye 1200db fájl lett átmásolva.
Tovább nem szeretném bontogatni a txt-t.
-
Gyick
őstag
Az apache amugy fut normalisan win7 64bit alatt?l
-
Tele von Zsinór
őstag
válasz
fordfairlane #6235 üzenetére
A PDO magától nem csinál ilyet, csak ha prepared statementeket használsz. De azt tudja a mysqli is.
-
j0k3r!
őstag
válasz
Speeedfire #6229 üzenetére
Speeedfire, PazsitZ: mindig tanul valamit az ember
(#6227) Gyick: amugy, ha komolyabb adatbazisrol van szo, akkor a jelszavakat eloszor 'titkositsd', aztan tarold oket el.(pl: md5, sha1)
-
Gyick
őstag
válasz
Speeedfire #6223 üzenetére
$parancs = "INSERT INTO belepes (nev,jelszo) VALUE ('$_POST['nev']','$_POST['jelszo']')";
Most ebben a sorban jelez hibát dreamweaver de nem tudom mi lehet az.. -
Speeedfire
félisten
<?
$kapcsolat = mysql_connect("localhost","proba","123");
mysql_select_db("sajatoldalam",$kapcsolat);
$parancs = "INSER INTO belepes (nev,jelszo) VALUE ('$_POST['nev']','$_POST['jelszo']')"; //$ jel kell, nem &
mysql_query($parancs,$kapcsolat);
mysql_close($kapcsolat); //ez nem volt lezárva, gondolom jelezte is neked
header("location: belepeselfogad.php");
?>Talán menni fog, de van egy olyan érzésem, hogy php4-es könyvből tanulsz...
Szerk.: Mindig megelőznek....
-
j0k3r!
őstag
igy elso ranezesre:
$nev = $_POST['nev'];
$jelszo = $_POST['jelszo'];
$parancs = "INSERT INTO images (nev,jelszo) ";
$parancs.= "VALUES('".$nev."','".$jelszo."')";persze ezeket elotte nem art ellenorizni, a jelszot meg hash formaban tarolni.
szerk:
mysql_close($kapcsolat) vegen hianyzik egy ; -
Gyick
őstag
Sziasztok!
Kérdesem lenne!Még csak most ismerkedek a phpvel,de van egy dolog ami az istennek sem akar müködni.a php kód
<?
$kapcsolat = mysql_connect("localhost","proba","123");
mysql_select_db("sajatoldalam",$kapcsolat);
$parancs = "INSER INTO belepes (nev,jelszo) VALUE ('&nev','&jelszo')";
mysql_query($parancs,$kapcsolat);
mysql_close($kapcsolat)
header("location: belepeselfogad.php");
?>a html egy része
<form action="hozzaad.php" method="post">
<table width="146">
<tr>
<td width="30">Neved:</td>
<td width="98"><input type="text" name="nev" class="formInputField" size="12" maxlength="16" /></td>
</tr>
<tr>
<td>Jelszó</td>
<td><input type="password" name="jelszo" class="formInputField" size="10" maxlength="8" /></td>
</tr>
<tr>
<td></td>
<td><br /><input type="submit" name="regisztracio" value="Regisztráció" class="gomb" /></td>
</tr>
</table>
</form>Szóval ha jól értelmezem akkor amit beirok és rákkattintok a submit gombra akkor amit beirtam annak bele kellene iródnia a létre hozott adatbázisba ill a táblába.De egyszerüen nem jelenik meg ott.Mi lehet a gond?Próbáltam legújabb wamp-al meg egy régebbi Appserv-el is.Amúgy ez ilyen oktatóleirásból van szal müködnie kellene.
-
Speeedfire
félisten
válasz
Tele von Zsinór #6219 üzenetére
Annyira jó, hogy a curl_exec() függvény tiltva van ezen a tárhelyen....
Ezt próbáltam meg kezdésnek:
$ch = curl_init("http://downloads.openwrt.org/snapshots/trunk/ar71xx/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output; -
Tele von Zsinór
őstag
válasz
Speeedfire #6218 üzenetére
Curllal lekéred a filelistád. Dommal kiparseolod belőle a linkeket. Curllal egyenként letöltöd és mented őket.
-
Speeedfire
félisten
Még is csak lenne egy gondom. Távolról akarok fájlokat másolni egy helyi szerverre. De ugye a http protokoll nem engedélyzett....
Van valami megoldás rá? Vagy csak ha kicopyzom a fájlok nevét, majd azt egy tömbbe rakom?$dir = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/';
if ($dir = opendir($dir)) {
$i = 1;
while (false !== ($file = readdir($dir))) {
if($file!='.' && $file!='..' and $dir > 0) {
if (!copy($dir.$file,'../'.$file)) {
echo $file;
echo 'Nem sikerült a másolás.';
}
else {
echo $file;
echo 'Ok.';
}
$i++;
}
}
closedir($dir);
} -
Speeedfire
félisten
válasz
Speeedfire #6216 üzenetére
Megy ez csak ugyanazt a változónevet kellene használni...
-
Speeedfire
félisten
A copy()-val kapcsolatban lenne kérdésem.
Az szeretném megoldani, hogy az adott fájlokat egy könyvtárral visszábra másolja, de nem akar összejönni.if (!copy($file,'../'.$newfile)) {
echo 'Nem sikerült a másolás.';
}
else {
echo 'Ok.';
} -
ArchElf
addikt
válasz
Brown ügynök #6214 üzenetére
pszeudo:
// tábal header létrerhozása
tablazatba($HEADERROW);
foreach ($kat in fetch_results_from_query("select distinct kategoria from hirdetes"))
{
// üres tábla sor beszúrása elválasztásra, ha kell
tablazatba($EMPTYROW);
$rows <= fetch_results_from_query("select * from hirdetes where kategoria=$kat LIMIT 3")
foreach ($row in $rows)
{
// tábla rész létrehozása
tablazatba($row);
}
}Esetleg belemehet a második querybe egy
ORDER BY készítésdátuma DESC, készítésideje DESC
és így a legfrissebb 3 fog kategóriánként megjelenni.AE
-
M.Úr
tag
válasz
Brown ügynök #6212 üzenetére
Ha mindenképp egy lekérdezéssel akarod megoldani, akkor így biztos sikerülni fog:
(select * from hirdetes where kategoria=1 LIMIT 3)
UNION ALL
(select * from hirdetes where kategoria=2 LIMIT 3)
UNION ALL
(select * from hirdetes where kategoria=3 LIMIT 3)
UNION ALL
(select * from hirdetes where kategoria=4 LIMIT 3)
UNION ALL
(select * from hirdetes where kategoria=5 LIMIT 3)Ez persze nagyon randa, nem skálázható, de legalább működik.
Itt egy cikk, ami hasonló kérdést feszeget, hátha találsz benne valami használható ötletet:
[link] -
Brown ügynök
senior tag
válasz
Brown ügynök #6211 üzenetére
Az összes kategóriát! . Tehát az összes hirdetés egy táblában van és a hirdetéseknél a kategória száma is rögzítve van. Ha pl. szállítási hirdetés akkor kategória 1, utazási kategória 2 és így tovább.
-
Brown ügynök
senior tag
Adatbázis: Tegyük fel van benne egy hirdetés tábla. A tábla tartalmazza a kategóriát (num), tárgy, ár, feladás dátuma stb.
Lekérdezés:
"SELECT *, (SELECT COUNT(kategoria) FROM `hirdetes_felad`) FROM `hirdetes_felad` ORDER BY kategoria, keszitesdatuma DESC ;"Táblázat: Ameddig van listázandó sor:
if(count($rows)>0)
for($i=0;$i < count($rows);$i++){
<table>
<tr>
<td> rows[$i]->targy</td> stb. -
M.Úr
tag
válasz
Brown ügynök #6209 üzenetére
Hogy néz ki most az adatbázisod, és a lekérdezésed?
-
Brown ügynök
senior tag
-
M.Úr
tag
válasz
Brown ügynök #6207 üzenetére
Több lehetőséged van.
1. A lekérdezést írod át: beírsz a végére egy korlátot a LIMIT kulcsszó segítségével.
Pl.:
SELECT * FROM utazas ORDER BY datum LIMIT 3Ekkor legfeljebb 3 sort ad vissza a lekérdezés.
2. A lekérdezést változatlanul hagyod, viszont amikor PHP-ben feldolgozod az eredményt, csak három sort töltesz be a táblázatba.
Pl.:$i=0;
while (($row= mysql_fetch_assoc($result)) && ($i<3))
{
tablazatba($row);
$i++;
}Én az első megoldást javaslom, mert csökkenti az adatbázis-szerver terhelését, és az adatforgalmat.
-
Brown ügynök
senior tag
A következő a problémám: Szeretném lekérdezi az adatokat a táblázatból úgy, hogy kategóriánként 3 sort listázzon. Mindegyik kategóriát külön táblázatba kellene listázni.
Tehát: 1. táblázat: szállítás 3 hirdetést listáz 2. táblázat üdülés 3 hirdetést listáz és így tovább.Odáig jutottam, hogy lekérdezésél megszámolom a kategóriákat, majd bekérem az összes adatot kategóriánként rendezve. A táblázatokat php-val generálom, majd egy tömbből töltöm be az adatokat:
1. lekérdezés
2. lekérdezés eredménye-->tömb
3. táblázat generálása php-val, sorok betöltéseA kérdésem, hogy a lekérdezést vagy a táblázat generálását kellene-e átírni ahhoz hogy kategóriánként 3 adatot listázhassak, külön táblázatokba rendezve.
Ha szükség van rá berakom a kódot.
Elsősorban az irányelvre vagyok kíváncsi. -
PazsitZ
addikt
válasz
Inv1sus #6205 üzenetére
meghívja az ott lévő konstruktorokat meghívja a konstruktort. Egy osztálynak egy konstruktora van. Ha "többszörös öröklés" (lánc) áll fenn, akkor a folyamatos parent::__construct() hívásokkal lehet meghívni több konstruktort.
Meghívni egyáltalán nem muszáj, pont ezért nem automatikus, hanem kézzel kell megadni, ha szükséged van rá.
Ha bármit megváltoztatsz akkor a következő futtatásnál a változtatott kód fut le.
Ha pl. változó érték megváltoztatásra gondolsz, az az általános láthatóság és írhatóságtól függ, hogy tudod-e.
Remélem a válaszom segített. -
Inv1sus
addikt
Na lehet akkor megértettem. Elmondom hogy értelmeztem, aztán kijavítotok, ha úgy érzitek
<?php
class Blog extends CI_Controller {
function __construct()
{
parent::__construct();
// Your own constructor code
}
}
?>Ha példányosítom a Blog osztályt, akkor az osztály __construct() nevű függvénye automatikusan lefut. A parent::__construct();-nak pedig az a szerepe, hogy az ősosztályból (CI_Controller) is meghívja az ott lévő konstruktorokat. Ha ezután valamelyik konstruktort módosítom a "// Your own constructor code" részben, ami szerepelt az ősosztályéban, akkor felülíródik? Muszáj a parent::__construct(); mindig meghívni? És ha a többi osztályban módosítani szeretnék egy function __construct()-ban definiált értéket nem fogja engedni?
Remélem érthetőek voltak a kérdéseim
Ja, meg remélem, hogy én is jól értelmeztem...
-
Inv1sus
addikt
Az ősosztály a Blog, a parent meg a CI_Controller?
-
Speeedfire
félisten
válasz
Tele von Zsinór #6199 üzenetére
Oks, mondjuk ezek a módosítók még nem tiszták nekem teljesen. absztrakt, static meg az imlementálás de rajta vagyok a témán.
Inv1sus: Lehet hülyeséget írok, de a parent (gondolom olyasmi lehet mint a self) szerintem meghívja a blog osztály funkcióját, hiába van a CI_Controllerben ugyan ilyen, akkor is a blog osztályét fogja használni.
Aztán lehet teljesen rossz fele haladok.
Új hozzászólás Aktív témák
Hirdetés
- ThinkPad T14 Gen4 14" FHD+ IPS érintő Ryzen 5 PRO 7540U 16GB 256GB NVMe ujjlolv IR kam gar
- 16GB-os SODIMM (notebook) DDR4 RAM bazár - nézz be, lesz, ami kell neked!
- HP 15-af105nh laptop (15,6FHD/AmdQuad/4GB/128SSD/Magyar) - Akku X
- JOYOR S5 Pro 10" Elektromos Roller 26Ah Akkumulátorral Moddolt!
- XPS 13 9310 13.4" FHD+ IPS i7-1185G7 16GB 512GB NVMe ujjlolv IR kam gar
- Samsung Galaxy A14 64GB, Kártyafüggetlen, 1 Év Garanciával
- DELL Universal Dock D6000 dokkolók, RTX Legion Pro laptopok 4 év Lenovo garanciával, licencek
- BESZÁMÍTÁS! Asus B350 R5 1600 16GB DDR4 512GB SSD GTX 1050Ti 4GB Cooler Master CM 690 III TT 500W
- Veszünk: PS5 Fat/Slim/Digital/Pro konzolt, játékokat, Portalt stb. Kérj ajánlatot!
- Xbox Ultimate előfizetések
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest