Hirdetés
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Ma a Samsung Galaxy S24 FE-re is megérkezett az Android 15-ön alapuló One UI 7.0
- vrob: Az utolsó DOS játékok 1996 - 1997-ben, egy korszak lezárul
- GoodSpeed: Segway-Ninebot F3 E elektromos roller.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- gban: Ingyen kellene, de tegnapra
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
Brown ügynök #13771 üzenetére
Nem lesz a csatolmányokkal túl nagy a levél? Lehet, hogy útközben valahol csonkolódik (a teljes visszadobás helyett).
-
Brown ügynök
senior tag
válasz
Brown ügynök #13297 üzenetére
Az ironikus az egészben, hogy (miután egész nap magyarázkodtam és könyörögtem a szolgáltatónak), most kaptam az emailt, hogy kikapcsolták.
-
Tele von Zsinór
őstag
válasz
Brown ügynök #13294 üzenetére
A front controllerbe (app.php, app_dev.php) pakold ezeket, az tulajdonképp az alkalmazásod része, és nem a keretrendszeré. Ha már a tisztított superglobalokból csinálja a Requestet, akkor rendben is leszel.
Remélem jól emlékszem, hogy te Symfonyzol
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #13294 üzenetére
Nem is úgy értettem, hogy a motorba nyúlj bele.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #13292 üzenetére
Miért is nem játszanak? A request feldolgozásának kezdetére nem tudsz injektálni saját kódot?
Egyébként .htaccess fájlba ez kell, hogy kerüljön:
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_flag magic_quotes_gpc off
</IfModule>Így nem "száll el", ha az adott modul nincs betöltve.
-
DanielK
addikt
válasz
Brown ügynök #13289 üzenetére
[link] - esetleg...
(#13290) Sk8erPeter: megelőztél...
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #13289 üzenetére
Kerülő megoldásnak a kommentekben szereplő módszerek:
http://www.php.net/manual/en/security.magicquotes.disabling.php#91653
http://www.php.net/manual/en/security.magicquotes.disabling.php#91585 -
Brown ügynök
senior tag
válasz
Brown ügynök #12715 üzenetére
URL kódolva volt, nem karakterkódolási probléma. Egyébként egy hasznos oldal ezzel kapcsolatban: [link]
-
j0k3r!
őstag
válasz
Brown ügynök #12530 üzenetére
meghivod a szarmaztatott osztaly konstruktoraban, vagy inicializalo reszeben az ososztaly konstruktorat?
-
Soak
veterán
válasz
Brown ügynök #12390 üzenetére
Most ezt nem egészen értem. Beállítasz egy PHPSESSID nevü cookie-t a PHPSESSID cookie tartalmával és névével?
-
Soak
veterán
válasz
Brown ügynök #12387 üzenetére
A cookienak meg kell adni, hogy milyen domainre ervenyes. Erre gondoltal? Tehat a dev kornyezetben dev parametereket hasznalsz?
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #12024 üzenetére
Na, hát az is valami.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #12015 üzenetére
pedig ez a "másodjára azonban már nem tudok behúzni semmilyen fájlt ugyanabból a könyvtárból" nem túl beszédes, mert most nem tudjuk, hogy a require_once-nál mi a baj, az elérési út a gáz vagy jogosultságok vagy egyéb... localhostra nem tudod ugyanezt tükrözni?
az éles szerveren egyébként nincs semmi logolás a hibáknak?
-
Soak
veterán
válasz
Brown ügynök #12007 üzenetére
Hiba keletkezik vagy egyszerűen nem éred el a file-t ? Most megprobáltam igy :
test.php :
include 'test2.php';
echo __FILE__ . '<br>';test2.php :
include 'test3.php';
echo __FILE__ . '<br>';test3:
include 'test3.php';
echo __FILE__ . '<br>';Tökéletes . Ha ezt megprobálod mi történik?
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #11958 üzenetére
Arra pedig a DirectoryIndex-et nézd meg, milyen sorrend van beállítva a .htaccess-ben, vagy azon a szerveren mi a default.
Saját direktívával felülbírálhatod. -
Peter Kiss
őstag
válasz
Brown ügynök #11256 üzenetére
Adatbázist használva is van serialization, disk művelet, de még a remote call is befigyel, szóval gyorsabb nem lesz.
---
A session-kezelést illene szétválasztani:
"Adott felhasználó bejelentkezve tartása"
AdattárolásAz elsőhöz először az kell, hogy párhuzamosan menjen adatbázisban és cookie-ban is a session-kulcs kezelése:
Adatbázisban: session-kulcs, user ID, valamilyen gépazonosító (IP, user agent), létrehozás dátuma, lejárat dátuma, perzisztens-e
Sütibe: egyedül a kulcsot kell leküldeni (megfelelő lejárati dátummal, HTTP only, miegymás)Kulcsnak teljesen mindegy, ki mit használ, annyit kell csak figyelembe venni, hogy az adott környezetben lehetőleg egyedi legyen, pl. egy V4-es GUID teljesen jó.
Ennek cseréjét mindenképpen meg kell oldani, hiszen van 2 pont, ahol mindenképp kell: bejelentkezés és a kijelentkezés.Az adatbázisban a session lejárati idejét változtatni kell, amennyiben a session nem perzisztens: mindig ki kell tolni annyival a lejárati időt, amennyivel akarjuk (mondjuk 20 perc), minél hosszabb ez az idő, annál nagyobb a biztonsági kockázat (esetleg pl. akkor, mikor úgy jön a kérés, hogy már csak 1 perc van hátra a lejáratból, akkor cserélünk egy session id-t is).
Az adatok mentése már egy más dolog, ott annyit kell tennünk, hogy meg kell felelni az adott PHP elvárásainak (5.4-ben megjelent interface már említve lett), ez pl. adatbázisba mentés esetén azt jelenti, hogy meg kell oldanunk az adatok serialization-jét és az adatbázisba való benyomását (pl. egy TEXT típusú mezőbe a session id-hoz kötve).
Ha valaki ki akarja védeni a man-in-the-middle támadást, akkor használjon SSL-t.
-
CSorBA
őstag
válasz
Brown ügynök #11249 üzenetére
A gyakori mit takar? Minden oldaltöltés, vagy x időnként?
-
CSorBA
őstag
válasz
Brown ügynök #11244 üzenetére
Még a sima, alap sessionnal lenne pár kérdésem.
Ugye arról van szó, hogy a gépen a PHP SESSION id-jét egy sima Cookie-ban tárolja, pl:
PHPSESSID=valamimd5számÉs ugye a fő probléma, ha valaki megszerezné ezt az ID-t, akkor a támadó a belépett felhasználónak tudná magát mutatni. Jól értem, hogy ez az ID megszerezhető csupán a hálózati forgalom figyelésével? Vagy mindenképpen találgatós módszer van? (Lenne még több kérdésem, csak ezt tisztázni szeretném.)
Mindenesetre a támadó dolgának megnehezítése az lenne, hogy a SESSION id-n kívül figyelem mondjuk az alábbiakat:
- Figyelem a felhasználó UserAgentét.
Ezzel csak az a bajom, hogy ezt sem túl nehéz kitalálni. Mondjuk legyen win7 vagy xp alatt legfrissebb Chrome vagy Firefox. Gondolom ebben semmi egyedi nincs, csak kb ennyi adatot tárol. Igaz? Pl.: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1 Itt kapásból itt vannak a legelterjedtebbek: [link]- A következő lehetőség, hogy figyelem a felhasználó IP címét.
Ez egyértelmű, azonban még sem teljesen jó.: Mi van, ha mondjuk egy létesítményen belül van a támadó és a felhasználó, és a külső IP címük ugyan az.
Illetve mi van, ha a felhasználó mobil eszközről van, és esetlegesen felváltva használ több hálózatot, így váltakozik az IP címe. -
CSorBA
őstag
válasz
Brown ügynök #11239 üzenetére
Ez jó kis összefoglaló, de a php Session kezelésén azóta nem javítottak már? (Nem tudom, ezért kérdezem.)
-
CSorBA
őstag
válasz
Brown ügynök #11233 üzenetére
Ahh. Tényleg jó leírás, de akkor az alábbi miért van:
Minden fájl UTF-8 Without BOM-al mentve.
fájlok elején:
header("Content-Type: text/html; charset='UTF-8'");
HTML elején:
<meta charset="UTF-8" />Szép és jó a karakterkódolás.
Ajax-os hívás történik.
Egy olyan fájlt töltök be, ami:
- UTF-8 Without BOM-al mentve.
- van header az elején.Mindenhol betöltődik, kivéve Safari. Ott rossz a kódolás.
Viszont ha kiszedem a headert, jó a kódolás. -
CSorBA
őstag
válasz
Brown ügynök #11148 üzenetére
Ok, nem biztosabb a header:
Safari, ajaxos selectbox feltöltés, db-ből lekérdezés. Ha bent volt a header, hiába minden utf8, fájl utf8, db utf8, valami miatt mégis elrontotta a kódolást. Kiszedtem, a headeres állítást. És jó most minden. Nem értem.
-
Soak
veterán
válasz
Brown ügynök #11188 üzenetére
Lejárt a szerk. idő
Az oldalt ami írsz én is megtaláltam, köszönöm. Azért nézek egyszerre több oldalt mert nem akarok olyan hibába esni, hogy egy adott fejlesztő esetleg (akár önhibáján kivül) rossz megoldását tanulom/integrálom a saját appomba.
-
CSorBA
őstag
válasz
Brown ügynök #11148 üzenetére
Akkor csak én nem voltam figyelmetlen, elnézést. Majd előbb utóbb fogja gondolom.
Őszintén? Nem tudom, csak rossz emlékek, és tudom, hogy valahol megoldotta már a nyűgöm, azóta úgy van mindig.
-
CSorBA
őstag
válasz
Brown ügynök #11142 üzenetére
Igen, tudom. 4 validator van, az unicorn mind a négyre ellenőrzi. Természetesen a markup hibátlan. Csak kiváncsi voltam, emezt miért írja, hátha tudja valaki. Nálam minden jó, meg minden működik. Csak érdekel, miért kapok warningot. Egyébként ha nincs a header sor a kódban, akkor is ugyanúgy kapom a warningot.
szerk.: ini_set zavarta meg. Szóval
Ha van header v. ini_set UTF-8 és html5 féle megadás van a meta tagnél, akkor warningol az Internationalization Checker. Ha csak html5 féle megadás van, akkor nem. De én ebben nem bízok annyira, a header biztosabbnak tűnik
-
Soak
veterán
válasz
Brown ügynök #11003 üzenetére
Igén, épp azért kérdeztem mert több helyről el lehet küldeni és nem akarom a usereket kitenni CSRF-nek . De valószinű, hogy az lesz amit CSorBA is írt, csak így sokkal szebb/egyszerűbb lenne. Kár hogy tele van a világ szeméttel ...
-
Brown ügynök
senior tag
válasz
Brown ügynök #11002 üzenetére
Jobban belegondolva, ennek akkor van értelme, ha ugyanazt az űrlapot több oldalról is elküldhetik és te arra az oldalra akarod visszairányítani ahonnan küldte. Ilyenkor is meg kell azonban vizsgálni, hogy arról az oldalról (HTTP_REFERER) küldték-e a kérést, ahonnan te várod. Ha nem, az illetéktelen hozzáférésre utal (CSRF).
Egyébként szerintem egyszerűbb, ha simán megadod, hogy hova irányítson.
-
SureStudio
tag
válasz
Brown ügynök #10983 üzenetére
Nagyon köszi!
Sikerült! -
SureStudio
tag
válasz
Brown ügynök #10981 üzenetére
Itt a kódom:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta
content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>SureStudio -
surestudio.freebase.hu</title>
<style type="text/css">
.classname {
-moz-box-shadow:inset 0px 1px 0px -1px #ffffff;
-webkit-box-shadow:inset 0px 1px 0px -1px #ffffff;
box-shadow:inset 0px 1px 0px -1px #ffffff;
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f9f9f9), color-stop(1, #e9e9e9) );
background:-moz-linear-gradient( center top, #f9f9f9 5%, #e9e9e9 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9');
background-color:#f9f9f9;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
border:1px solid #dcdcdc;
display:inline-block;
color:#666666;
font-family:arial;
font-size:10px;
font-weight:bold;
padding:5px 54px;
text-decoration:none;
text-shadow:2px 0px 1px #ffffff;
}.classname:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #e9e9e9), color-stop(1, #f9f9f9) );
background:-moz-linear-gradient( center top, #e9e9e9 5%, #f9f9f9 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9');
background-color:#e9e9e9;
}.classname:active {
position:relative;
top:1px;
}
/* This imageless css button was generated by CSSButtonGenerator.com */
</style>
<style type="text/css">
#tesztUrlap {
font: 10pt "Lucida Grande", "Trebuchet MS", Verdana, sans-serif;
line-height: 14pt;
margin: 40px auto;
width: 400px;
}
#tesztUrlap label {
width: 150px;
float: left;
clear: left;
text-align: center;
margin: 13px 0;
}
#tesztUrlap input {
width: 200px;
height: 25px;
border: 3px solid #9cf;
float: left;
clear: right;
text-align: center;
margin: 5px 0 5px 20px;
}
#tesztUrlap .checkbox {
width: 20px;
}
#reklamlevelAdatok {
clear: both;
border: 1px solid #ccc;
}
#reklamlevelAdatok #periodusHatarok {
color: #666;
font-size: .9em;
}
#tesztUrlap button {
float: right;
margin-top: 20px;
width: 150px;
height: 35px;
}
.clear {
clear: both;
float: none;
height: 0;
overflow: hidden;
}
</style>
</head>
<body>
<div style="text-align: center;"><br>
<br>
<div style="text-align: left;"><br>
<div style="text-align: center;"><br>
<img style="width: 285px; height: 80px;"
alt="SureStudio" src="http://i.imgur.com/U6RLD.jpg"
vspace="50"><br>
</div>
</div>
<div style="text-align: center;">
<form method="post" action="#"
id="tesztUrlap">
<label
for="email">E-mail</label>
<input name="jelszó" id="pass"
type="text"><label
for="jelszó">Jelszó</label>
<input name="Jelszó" id="pass"
type="password"></form>
</div>
<br>
<br>
<br>
<br>
<br>
<a href="http://www.surestudio.freebase.hu/"
class="classname">Belépés</a></div>
</body>
</html>Megmondanád hova illesszem be?
Mert ha rögtön az input elé rakom akkor nem megy. -
SureStudio
tag
válasz
Brown ügynök #10979 üzenetére
Nincs beléptetés, most egy olyat szeretnék össze hozni, hogy adatbázis és minden hűhó helyett csak egy kód ami leellenőrzi az inputot és ha az van benne amit én megadtam akkor tovább mehet egy gombal...Vagy lehet ez lehetetlen?
-
SureStudio
tag
válasz
Brown ügynök #10974 üzenetére
Bocsi de ezt hogy illesszem be?, mert nem működik...
Így néz ki az oldal:
És hová kell ez a kód?
<?php
define("PSW", "jelszó");
if ( PSW === $_POST['amit_a_user_irt']) { //ha egyezik, átirányítod
header("Location:http://www.facebook.com");
exit;
} else { // ha nem egyezik meg visszairányítod
header( "refresh:2;url=http://www.surestudio.freebase.hu" );
echo "Helytelen jelszó!";
exit;
}
?> -
SureStudio
tag
válasz
Brown ügynök #10974 üzenetére
Rendben.
Köszi! -
SureStudio
tag
válasz
Brown ügynök #10971 üzenetére
Nagyon köszönöm!
És ezt a példát lehet pl. több input-hoz használni, tehát több beviteli mezőt ellenőrizzen, ha igen akkor min kellene módosítani? -
Soak
veterán
válasz
Brown ügynök #10945 üzenetére
Ezt nem hiszem, hogy megtalálom a manualban, konkrétan az ő megoldása érdekelt. Értem, hogy miről beszél.
Egyelőre még nem értem, hogy miért jobb most nekem a sokkal bonyolultabb/másabb megoldás, ha hibátlanul működik ez is (konkrétan ezen a siteon). Később biztos, egy sokkal komplexebb sitenál értelme lesz, esetleg ezen site későbbi fejlődésében, de már írtam a topikban, hogy minden héten újra írhatnám az egészet (tanulás közben) . Feleslegesen most biztos, hogy nem bonyolítom.
-
Soak
veterán
válasz
Brown ügynök #10882 üzenetére
Szia !
Köszi, nem rossz leírás. Végülis így oldottam meg:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{REQUEST_FILENAME} !.css
RewriteCond %{REQUEST_FILENAME} !.js
RewriteCond %{REQUEST_FILENAME} !.png
RewriteCond %{REQUEST_FILENAME} !.jpg
RewriteRule ^(.*)$ profile.php?username=$1 [QSA,L]Csak ez még mindig nem az igazi
szerk: Kicsit most pihentetetem, de utána megcsinálom rendesen.
-
j0k3r!
őstag
válasz
Brown ügynök #10857 üzenetére
regebben olvastam evvel kapcsolatban, ugy latszik nem maradt meg minden
koszonom a linket
-
j0k3r!
őstag
válasz
Brown ügynök #10854 üzenetére
ha jol tudom, valahogy igy:
van alapbol a php scripted, ezt parseolja (nem compileolja!) a nyelvi fordito, ekkor letrejon az un. opcode (ezt akar lehet is cachelni is, ha nem valtoztatsz a php scripten), ezt az opcode-ot a "Zend Engine" vegrehajtja/futtatja, ami vegul kiad magabol valami kimenetet.ha baromsagot irtam, majd megirjak az okosabbak
-
meone
tag
válasz
Brown ügynök #10777 üzenetére
Javítottam.
Viszont az egyes inputboxan, is meg kellene jelenni, ami kiválasztott, illetve a legördülő listában is látnia kéne
Mellékeltem egy képet sokkal érhetőbb úgy a problémám.[link] -
Sk8erPeter
nagyúr
válasz
Brown ügynök #10640 üzenetére
"Visszavonva. A duma nem kell."
Nem azt mondtam, hogy te általában szarul kódolsz, hanem ha már rákérdeztél, gondolom valahonnan szedted ezt a kiíratási módot, és előre felhívtam a figyelmedet, hogy ez egy rossz szokás.
De látom itt egy-két ember úgy érzi, porcelánból van, még szólni sem lehet, hogy valamit nem érdemes alkalmazni, minden nyersen fogalmazott tanácson meg kell ám sértődni és duzzogni, mint egy óvodás. -
Sk8erPeter
nagyúr
válasz
Brown ügynök #10636 üzenetére
Legegyszerűbb gyorspélda:
$obj = new stdClass();
$obj->values = array();
for($i=0;$i<4;$i++){
$obj->values[$i] = new stdClass();
$obj->values[$i]->name = 'Józsi';
}
echo "{$obj->values[3]->name}";Kimenete: "Józsi".
Szerk.: egyébként sosem láttam értelmét az ilyen nyakatekert kiíratásnak.
Minek idézőjelbe rakni ilyen esetben? Minek szívatnia magát az embernek azzal, hogy csak nehezebb kivenni a kódban, hogy ott mi is van, plusz figyelni kell a string miatt arra is, hogy a kapcsos zárójelek megfelelő helyeken legyenek?
Akkor már egyszerűbb konkatenálni, sprintf()-et használni, vagy bármi hasonlót, ami kissé jobban átlátható, könnyebben módosítható.
Példa konkatenálásra:echo 'Name: '.$obj->values[3]->name;
Szerintem jobb, hogy itt nincs kapcsos zárójel meg körbeölelő idézőjel. A stringet látványban folytonosabbá tenni azzal, hogy beleerőltet az ember ilyen változókat az általad mutatott módon, szerintem önszopatás. -
fordfairlane
veterán
válasz
Brown ügynök #10636 üzenetére
Például ilyen:
class ItemSet {
public $values = array();
}
class Item {
public $name;
}
$obj = new ItemSet();
$obj->values[3] = new Item(); -
RootRulez
félisten
válasz
Brown ügynök #10017 üzenetére
Nem, mert, ha másik oldalra indulok, pl news.php, akkor meg az marad.
-
Brown ügynök
senior tag
válasz
Brown ügynök #9732 üzenetére
Oké, a másodikra: van olyan parancs a doctrine-ban, hogy doctrine orm:schema-tool:update --force.
Az első kérdés még fennáll.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #9312 üzenetére
És a $route tömbnek honnan kéne jönnie?
Van egy ilyened: getApplicationRoutes(), ebben:
$routes = new Routes();
de ennek a visszaadott értéke elvész az éterben, mert nem azt írtad, hogy $this->routes = new Routes();.
Ezenkívül te utána a $route tömb (egyesszámban) értékeit akarod felhasználni, ami ki tudja, hol lenne beállítva, nem $this->routes változót, ami esetleg még tartalmazna is valamit. -
Peter Kiss
őstag
válasz
Brown ügynök #9310 üzenetére
$controller = "\\App\\Controller\\" . $route["controller"];
$controller = new $controller; -
j0k3r!
őstag
válasz
Brown ügynök #9312 üzenetére
inkabb akkor a nevterekkel lesz a gond. hol talalhato pontosan az IndexController osztaly App\Controller\IndexController vagy Core\Controller\IndexController ?
-
j0k3r!
őstag
válasz
Brown ügynök #9310 üzenetére
$c = new $controller(); ?
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #9305 üzenetére
"átváltott ANSI-ba"
Magától? Ez fura, mert így még nem jártam Notepad++-szal, pedig sokszor használtam már karakterkódolás megváltoztatására.
Egyébként érdekes, hogy a Drupal core fájljait is ANSI-ban szokták írni, de Unix-sortörésekkel, legalábbis a Notepad++ ezt érzékeli, NetBeans meg sír, ha már ékezetes karaktereket tartalmazó kommenteket írok bele, mondván, nem helyes UTF-8-kódolású fájlom van - a NetBeans meg ugye defaultból UTF-8-cal dolgozik (persze BOM nélkül).
Szóval ha a NetBeans sír, akkor először konvertálom (! - nem pedig csak "átkapcsolom") UTF-8-ra, és onnantól már a NetBeans-nek is megfelelő, persze lehet, hogy ezt a konverziót NetBeans-ben is el lehetne végezni, ilyen opciót mondjuk még nem találtam (igaz, nem is olyan nagyon kerestem, csak egy rövid ideig).
Másik megoldás, hogy egyszerűen NetBeans-ben létrehozod a fájlt, az már eleve UTF-8 lesz, és ebbe belemásolod a tartalmat.
Vagy nem használsz ékezetes karaktereket egyáltalán.De utóbbi persze nyilván nem lehetőség, ha szükség van pl. magyar vagy más nyelvű, ékezetes karaktereket tartalmazó stringre, kommentre.
-
Peter Kiss
őstag
válasz
Brown ügynök #9303 üzenetére
Ha nincs benne duplabájtos karakter vagy BOM, akkor nem feltétlenül érzékelik jól a szövegszerkesztők, hogy milyen kódolású.
-
Brown ügynök
senior tag
válasz
Brown ügynök #9302 üzenetére
A ClassLoader-t ANSI-ba kódolták... Én meg utf8-ba dolgozok.
Azt nem értem, miért nem utf8-t használtak?
-
Tele von Zsinór
őstag
válasz
Brown ügynök #9295 üzenetére
Mutass kódot!
-
Tele von Zsinór
őstag
válasz
Brown ügynök #9293 üzenetére
$loader->registerNamespaces(array(
'System' => __DIR__,
));A teáltalad írt kóddal a System/System/Controller/PageRouteController.php-t kereste.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #9285 üzenetére
Vagy empty()-vel, ahogy írtam.
(#9284) CSorBA : persze, hogy foglalkoznék. Nem szeretem, ha a kódom működése nem kiszámítható.
(#9283) Speeedfire: ha jobban tudod, minek kérdezed?
Egyébként nem magyaráztad el jobban semmivel. -
Sk8erPeter
nagyúr
válasz
Brown ügynök #9242 üzenetére
-
PazsitZ
addikt
válasz
Brown ügynök #9238 üzenetére
$c->{$route["action"]}();
De Sk8erPeter megoldása is tökéletes.Személy szerint azért egy method_exists vizsgálatot el tudnék oda képzelni még.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #9238 üzenetére
Próbáld nem ilyen tömbszerűen meghívni, szerintem az lehet a baj.
Pl. van egy Drupal-modul, az Ubercart, ami egy elég régóta fejlesztett webshopmodul, ott van egy hasonló példa:
[link]if ($image_widget) {
$image_widget_func = $image_widget['callback'];
$output .= $image_widget_func($rel_count);
}Szóval próbáld így:
$controller = $route["controller"];
$action = $route["action"];
$c = new $controller();
$c->$action();Nem garantálom, hogy így menni fog, de esélyesebb.
===
(#9239) Speeedfire :
úgy tuti nem jó.
OK, már eltüntetted. -
Speeedfire
félisten
válasz
Brown ügynök #9238 üzenetére
Pedig nem is olyan rég én is hasonlóval szívtam...
-
Speeedfire
félisten
válasz
Brown ügynök #9235 üzenetére
foreach ($routes as $route=>$key) {
És akkor a $key a változó, ha nem erre gondolsz, akkor...
-
Brown ügynök
senior tag
válasz
Brown ügynök #8684 üzenetére
A teljes útvonalat meg kell adni az osztályhoz:
->update('App\Entity\Tree', 't') -
Brown ügynök
senior tag
válasz
Brown ügynök #8652 üzenetére
A szokásos getResult() helyett a getArrayResult() fv.-t kell használni.
-
Brown ügynök
senior tag
válasz
Brown ügynök #8601 üzenetére
Az escape függvényen belül rosszul hivatkoztam az osztályra.
-
CSorBA
őstag
válasz
Brown ügynök #8498 üzenetére
ugye!
A kiterjesztéseket kitudom nyerni tök egyszerűen is:
$extension = substr($str, strrpos($str, '.') +1);
Csak gondoltam menőbb kiírni a mime típusokat
Jól sejtem, hogy az említett két módszeren kívül nincs más? -
Peter Kiss
őstag
válasz
Brown ügynök #8375 üzenetére
$all = array();
while ($result = $data->fetch_assoc() ) {
$all[] = $result;
}
$json = json_encode($all); -
Brown ügynök
senior tag
válasz
Brown ügynök #8370 üzenetére
Kicsit rosszul fogalmaztam. Tehát az összes terméket szeretném listázni egy tömbbe. Erre pedig a következő megoldás született:
$ct = $data->num_rows;
while ($result = $data->fetch_object() ) {
for ($i = 0; $i < $ct; $i++) {
$array[$i]['kep'] = $result->kep;
$array[$i]['nev'] = $result->nev;
$array[$i]['marka'] = $result->marka;
$array[$i]['regi_ar'] = $result->regi_ar;
$array[$i]['uj_ar'] = $result->uj_ar;
}
} -
jeges
senior tag
válasz
Brown ügynök #8372 üzenetére
ha az a céold, h egy tömbbe kerüljenek a $nav és a fetch_assoc adatai, akkor vmi ilyesmi:
$ar = array();
$ar['nav'] = $nav;
$ar['data'] = $data->fetch_assoc();
$response = json_encode($ar); -
jeges
senior tag
válasz
Brown ügynök #8370 üzenetére
nem értem, mi a cél az $array használatával. a fetch_assoc eredménye eleve egy praktikusan strukturált tömb, azt lehet egybe vagy soronként is json_encode-olni akár.
-
jeges
senior tag
válasz
Brown ügynök #8353 üzenetére
így nem lesz jó, mer a json maga '{}' között van. célszerűbb a két tömböt összerakni, és egy lépésben json-ba encode-olni.
-
CSorBA
őstag
válasz
Brown ügynök #8338 üzenetére
Kell a zárójel, akkor kiírja. (leteszteltem)
$pager .= "<li value='".(( ($nav['page'] + 1) > $nav['maxpage'] ) ? $nav['maxpage'] : $nav['page'] + 1 )."'>Következő</li> "."\n";
-
tob!as
tag
válasz
Brown ügynök #8338 üzenetére
van közöttük egy <p> tag, ami nem szabványos <li>-k között. Ha azt is <li>-be rakod, akkor jó lesz. Legalábbis asszem
-
Brown ügynök
senior tag
válasz
Brown ügynök #8337 üzenetére
$pager .= "<li value='".( ($nav['page'] + 1) > $nav['maxpage'] ? $nav['maxpage'] : $nav['page'] + 1 )."'>Következő</li> ";
-
sonar
addikt
válasz
Brown ügynök #8308 üzenetére
Igen,
extension=php_mssql.dll -
Sk8erPeter
nagyúr
válasz
Brown ügynök #8282 üzenetére
Igen, és ennek eléréséhez include-olod azok tartalmát mindenhol, ahol kell, így elég egy helyen megírni.
De ehhez határozottan NEM kell output buffering!
Ennek megfelelően nem is szokták ilyen esetben ezt alkalmazni. -
Sk8erPeter
nagyúr
válasz
Brown ügynök #8278 üzenetére
Milyen részoldalakra gondolsz?
Példa is jöhetne, hogy érthető legyen.(#8279) Lacces :
ja igen, a multiple statements támogatása valóban nincs meg jelenleg a PDO-nál, igaz, én fejlesztés során nem is nagyon szoktam érezni a hiányát, persze nyilván van olyan alkalmazás, ahol ez jól jönne. De fejlődik a PDO is, esélyes, hogy későbbi verziókban meglesz erre is a támogatás, hogy mikor, és tényleg lesz-e, azt nem tudom.Output buffering: pl. a Te példádban tuti, hogy felesleges. Van olyan eset, ahol elő lehet venni, mert jól jöhet, de mint mondtam, az esetek többségében csak ocsmány módszer. Mégis sajnos sokan alkalmazzák pl. arra, hogy már bármilyen output kiíratása után akárhol is tudjanak headereket küldeni, de nem jó gyakorlat. Headereket az output előtt kell kiküldeni.
-
Tele von Zsinór
őstag
válasz
Brown ügynök #8271 üzenetére
Igen, ekkor a PDO a nyerő választás. Váltáskor viszont az összes queryd ellenőrizni kell, mert szerencsére DB-típusonként mások a field meg string delimiterek, az esetleges SQL-szintaktikai különbségekről nem is beszélve. Emiatt találták ki az ORM-eket, amik pont ezt a részét elfedik előled. Személyes kedvencem a doctrine.
Lacces: azért nem működik, mert a require errort dob, te meg az exceptionöket kapod el. Az error a régi megoldás, szépen lassan áll át maga a php motor is az exceptionök használatára, de ez még idő lesz. Addig talán úgy jársz a legjobban, ha a set_error_handler() függvénnyel beállítasz egy hibakezelőt, ott pedig az errort egy exceptionbe csomagolod és throw-olod. Ezt már el fogja kapni a catch(). Átirányítás helyett érdemesebb lenne ott include-olni az error.html-t. Célszerű egy egyszerű, elronthatatlan, statikus html oldalt használni erre. Persze nem mindig megoldható, de olyankor is törekedj a legegyszerűbb php kódok használatára.
Utolsó kérdésedre: kell a /PHP/.
-
Lacces
őstag
válasz
Brown ügynök #8271 üzenetére
Igen
. Jó bár én kezdő vagyok. De olvastam a Murach féle PHP-s könyvben, hogy a PDO-val lehet megvalósítani az adatbázis függetlenséget. (Ez az előnye)
Viszont cserébe nem tudod az összes MySQL feature-t elérni (vagy spec parancsok). (Ez a hátránya) -
Tele von Zsinór
őstag
válasz
Brown ügynök #8252 üzenetére
Hogy máshogy adod át az sid-t?
Igazából ez a támadás csak akkor működik, ha a szerveren engedélyezve van a session.use_trans_sid és a sütis megoldás is.
-
Tele von Zsinór
őstag
válasz
Brown ügynök #8248 üzenetére
Azért ez így nem igaz. A sessionid megtartására két taktika van: a sütis és a transitive ID, amikor az url-be teszi bele a php (iniben beállítható módon). Az ordító biztonsági veszélye miatt az utóbbit gyakran kikapcsolják szerveroldalon, azaz ha a kedves user megöli a cookie-jait, általában máris nem megy a session.
Lacces: a legfontosabb különbséget már írták: az egyik szerver-, a másik kliensoldalon tárolódik.
Session esetében a kliens egy speciális azonosítót kap, ez az ő session ID-je. Ha a kódodban elindítod a sessiont, akkor a $_SESSION tömb tartalma megmarad hívások közt, és ez egy megbízható tár, azaz a felhasználó nem tud belenyúlni.
A cookie-t elküldöd a kliensnek. Van rá méret- és darabszám-korlát, szóval csak korlátozott adatot tudsz így elrakni - ráadásul nagyon könnyen manipulálni tudja a felhasználó.
A session_destroy() a teljes tartalmát törli. A süti ott marad a kliensnél, amíg be nem zárja a böngészőt, de ez minket nem zavar - mindegy, hogy új látogató vagy törlés utáni, a rendszer szempontjából mindkettőnek üres a sessionje.
Utánaolvasásra érdemes kulcsszó: session fixation.
-
coco2
őstag
válasz
Brown ügynök #8215 üzenetére
HTML5 + Js
Ez amúgy hogy van? HTML5-ben nem átállnak totál plugin mentességre? Értem ez alatt, hogy Js a HTML5-ben mit keresne?
Valami DOM-ot olvastam Js helyett, de nem találok róla különösebben semmit sem, csak a brossúra dumát.
-
Lacces
őstag
válasz
Brown ügynök #8215 üzenetére
Sőt Java+PHP+Android/iOS+Angol kombó a leggyakoribb amit én láttam
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #7870 üzenetére
Hát ez pont nem arra való, amire Speeedfire-nek szüksége van, ugyanis nem veszi figyelembe a HTML-tageket...
Próbáld ki pl. így:
var_dump( firstNChar(35, 'Ez egy <span style="color:red">szöveg</span>', null) );Eredménye:
string(40) "Ez egy <span style="color:red">szöv ..."Ez így lezáratlanul nem túl fasza...
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #7807 üzenetére
Te szándékosan ignorálod, amiket ugatok neked?
Nem kis illetlenség, amikor az ember segíteni próbál neked...
(ezentúl segítsen neked a hóhér)
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #7805 üzenetére
Jó, hogy reagáltál az előzőre... azért is lenne jobb megoldani a PEAR-en keresztüli installálást, mert az gondolom az ilyeneket elintézi...
-
-
D@ni88
addikt
válasz
Brown ügynök #7685 üzenetére
póbáltam úgy is:
class Database
{
private $database;
public function __construct()
{
$database = mysqli_connect(HOST_NAME,USER_NAME,PASSWORD,DB_NAME);
if (!$database)
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
}
public function select($select)
{
$result=mysqli_query($database, $select);
if (!$result)
{
echo "Could not successfully run query ($select) from DB: " . mysql_error();
exit;
}
return $result;
}
} -
Tele von Zsinór
őstag
válasz
Brown ügynök #7574 üzenetére
Részben igen, részben pedig mert ezek fejlesztői gépre kitalált csomagok, ennek megfelelő biztonsági beállításokkal. Persze ezt is meg lehet masszírozni, hogy jó legyen, de nekem eddig egyszerűbb volt kézzel összerakni a dolgokat.
-
meone
tag
válasz
Brown ügynök #7520 üzenetére
Bocsi elbambultam.
Már viszem is át a hozzászólásomat. -
Sk8erPeter
nagyúr
válasz
Brown ügynök #7512 üzenetére
Addig becsülöd le a szerver által visszaküldendő adatmennyiség méretét, amíg nem kell komolyabb adathalmazt áttolnod a hálózaton...
Egyébként nem is csak a végleges méretről beszéltem, hanem arról, hogy PHP-ben a sztringkonkatenálás lassú, tehát plusz időbe is kerül...ezért nem érdemes vele elvégeztetni ott, ahol totálisan felesleges.
...és de, kliensoldalon nagyon nagy valószínűséggel gyorsabban fogja előállítani a kis listádat, ha ráküldöd egy for ciklusra, hogy pakolja össze a kapott adathalmaz alapján.Amúgy ezeket ne vedd kötekedésnek, inkább szakmai vitának, amiről érdemes beszélni.
===
(#7513) Athlon64+ : megnézted, kinek címeztem azt a hozzászólást, amire válaszoltál? Nem neked.
Neked én EZT küldtem. És még egyszer mondom, totálisan felesleges explicite elküldeni a 200 OK állapotkódot, MINDIG ez lesz az állapotkód, ha a fájl hibátlanul elejétől a végig lefutott, legenerálta a kimenetét (vagy nem), a böngésző megkapta azt, ÉS nem volt semmilyen kifejezett egyéb állapotkód-küldés.===
(#7515) Alukard :"Ízlések és pofonok, lényegét tekintve most variációkat taglalunk egy témára, szerintem teljesen fölöslegesen"
Szerintem egyáltalán nem felesleges egy, a témát érintő fórumban átrágni a megoldási lehetőségeket, a különböző gondolkodásmódokat. Egymástól is tanulhatunk.Egyébként oké, érthető, ha semmiképp nem tudsz mod_rewrite-ot használni, akkor nyilván az egyéb lehetőségekről kell beszélni, épp azt is tesszük.
"amint később említve lett a 404es átirányítás végett"
Milyen átirányítás? Nincs itt semmiféle átirányítás.Az arra vonatkozó kódok a 3xx-esek.
És akkor ötvenedjére is elmondom, hogy ha nem létezik a fájl, és ezt jelezni akarod a kliens felé, attól még nem biztos, hogy jó megoldási módszer az, ha ennek ellenére kiadod a 200 OK-t, sőt, attól még lehet egyéni hibaoldalad, hogy 404-es hibakódot dobsz vissza...
Pont erre linkeltem a Drupalos oldalt: http://drupal.org/asdasdasd. Nézd meg mondjuk Firebuggal vagy ehhez hasonlóval, 404-et ad vissza a nem létező oldal miatt, mégis egyéni hibalapja van... -
cucka
addikt
válasz
Brown ügynök #7505 üzenetére
Látod, ezért írtam korábban, hogy érdemes megnézni kész framework-öket, például így látni fogod, hogy hogyan kell normálisan megcsinálni a routing-ot.
(#7509) Sk8erPeter
De a 404-es állapotkódot nem véletlenül küldi vissza a szerver a kliensnek.
Pont ezzel jelzi a szerver, hogy a kért tartalom valamilyen okból nem található.
Egyéni hibaoldal vagy hibakezelés? -
Sk8erPeter
nagyúr
válasz
Brown ügynök #7498 üzenetére
Én meg nem hiszem, hogy attól bonyolultabb lenne, hogy szebben valósítod meg, sőt.
Ha PHP-ben megcsináltad a konkatenálást, akkor ugyanezt megteheted kliensoldalon is, csak annyi a különbség, hogy akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Annyi, hogy a JSON-nel visszakapott eredményhalmazt bejárod, és ciklikusan hozzácsapod az option tageket, ez miért lenne olyan bonyolult?
Egyébként nem mondtam, hogy hibás lenne az, amit csináltál, de van rá jobb módszer is."Szerintem tökéletes ahogy csináltam."
Ilyet fejlesztő nem mondhat, csak ha túl sok az egója!(nehogy megsértődj, csak viccelek, de sosincs tökéletes megoldás
)
===
(#7499) holinorby :
<td align="right"><?php echo $product_price ?><br />
</td>Itt nem túl szép megoldás, hogy beraksz egy <br />-t. Inkább növeld a paddinget CSS-sel, vagy hasonló, de így nem túl "rugalmas" a stílus átszabása.
===
(#7504) Alukard :
Ne mondd, hogy ez szebb megoldás, mint amit Brown ügynök mond, mert nem az.
Egyébként CMS-eknél nagyon sokszor egyszerűen adatbázisban tárolják az URL aliasokat. Valószínűleg a D@ni88 által linkelt oldalon is ugyanezt alkalmazzák.
Pl. Drupalnál van egy url_alias tábla az adatbázisban: ezek olyan címekre képeződnek le, mint pl. a node/30. Ez utóbbi cím meg már mod_rewrite segítségével képeződik le a megfelelő query stringgé, PHP-vel meg ezt dolgozzák fel, majd kiszedik adatbázisból a 30-as id-jú node tartalmát."Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");"
Ez meg mi a jó büdös francnak?
Eleve 200 OK állapotkódot kap a böngésződ abban az esetben, ha a kérés hibátlanul lefutott, ÉS a szerver nem küldött más status code-ot. Ergo ez a sorod teljesen felesleges!!===
(#7506) Alukard :
"De ez legalább több helyen működik mint a mod_rewrite -os megoldás. Sok esetben futottam bele abba, hogy vagy le volt tiltva vagy nem apache futott."
A 2. mondat első felére: ahol le van tiltva, ott szólni kell a rendszergazdának, vagy szolgáltatót váltani.
A második felére: nem csak Apache-on működik az URL-átírás... IIS-nél is működik a rewrite, lásd pl. ezt: [link].Jobb CMS-eknél van is támogatás hozzá, pl. Drupalnál, Joomlánál is van IIS-támogatás.
-
Alukard
senior tag
válasz
Brown ügynök #7505 üzenetére
Ez -szerintem- már csak megszokás kérdése
De ez legalább több helyen működik mint a mod_rewrite -os megoldás. Sok esetben futottam bele abba, hogy vagy le volt tiltva vagy nem apache futott. -
Alukard
senior tag
válasz
Brown ügynök #7503 üzenetére
domain.com/oldal/azon
$urlVar = explode("/",$_SERVER['REQUEST_URI']);
Persze a megfelelően formázott link elengedhetetlen, de ezek után $_GET helyett csak a megfelelő $urlVar -t kell behívni, jelen esetben:
$urlVar[1] = "oldal"
$urlVar[2] = "azon"Ezek után egy switch segítségével eldönthetem milyen oldalt szeretnék include-olni, a többi meg fantázia kérdése, de switch-el sokkal átláthatóbb mint 1 if rengeteg lenne...
Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");
-
Alukard
senior tag
válasz
Brown ügynök #7501 üzenetére
Én jobb szeretem azt a megoldást, hogy minden kérésr az index.php-ra irányítok (mondjuk egy nagyon csúnya módon egy error 404-el), és robbantok egyet az URLben
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #7489 üzenetére
Szerintem szebb megoldás, ha pl. egy PHP-tömböt json_encode-olsz, azt visszaadod a kliensoldalnak (JSON-formátumban), majd itt, a kliensoldalon generálod le az option elemeket is. Felesleges PHP-ra bízni a sok-sok sztring-konkatenálást, annak ebben az esetben csak annyi a feladata, hogy lekérje a megfelelő adatokat az adatbázisból.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #7476 üzenetére
Teljesen felesleges a statikus, egyáltalán nem változó dolgokat is PHP-vel kiíratni.
Amit írtál, le lehetne egyszerűsíteni így:
<style type="text/css">
a img:focus, a img:hover, a img:active { background: #<?php echo $valtozo;?> }
</style> -
Sk8erPeter
nagyúr
válasz
Brown ügynök #7372 üzenetére
"Ez így még kevés: if($users->is_admin())."
Már miért lenne kevés.
Fontos (php.net-ről):
"[...] However, in most cases the cast is unnecessary, since a value will be automatically converted if an operator, function or control structure requires a boolean argument.See also Type Juggling.
When converting to boolean, the following values are considered FALSE:
the boolean FALSE itself
the integer 0 (zero)
the float 0.0 (zero)
the empty string, and the string "0"
an array with zero elements
an object with zero member variables (PHP 4 only)
the special type NULL (including unset variables)
SimpleXML objects created from empty tagsEvery other value is considered TRUE (including any resource)."
Tehát amennyiben a példában az is_admin() függvény visszatérési értéke nem tekintendő false értékűnek a belső konverzió után (lásd a felsorolt példákat), akkor igaznak értékelődik ki.
(#7373) j0k3r! :
"(mar ha bool ertekkel ter vissza a metodus)"
a fentiek miatt nem is muszáj, hogy explicite boolean értékkel térjen vissza a függvény, ahhoz, hogy true-nak értékelődjön ki a visszatérési értéke. Persze nyilván ilyen esetben úgy ocsmány, ha nem boolean értékkel tér vissza, de nem árt tudni, hogy más esetekben is "jól" működik a függvény, ez akár sok félreértéshez is vezethet programteszteléskor. -
Brown ügynök
senior tag
válasz
Brown ügynök #7173 üzenetére
Nos, én azt hittem, hogy a namespace jelöli a fájl helyét és a use pedig a használatát, így a fájlt nem kell beemelni (include). Tehát helyesen:
namespace nevter;
require_once 'A.php';
use nevter\A;
$object = new A;Itt egyébként nem muszáj alkalmazni a use-t mert mindkét fájl azonos névtérben van.
-
Tele von Zsinór
őstag
válasz
Brown ügynök #7163 üzenetére
Próbáld meg abszolút úttal: dirname(__FILE__) . "/../data".
Ha így sem, akkor amit fentebb mondtak, open_basedir vagy safe_mode lehet bekapcsolva.
-
Alukard
senior tag
válasz
Brown ügynök #7167 üzenetére
Tudom, nem betűztem ki, de a scriptem bekéri a docroot-ot és kiveszi belőle a publikus könyvtárat és helyettesíti az általam megadott amúgy a publikussal párhuzamos "upload" mappával... én így oldottam meg... viszont a dupla // -ekre figyelni kell, ez is okozhat problémát...
Viszont, most hogy megnézem jobban, ebben az esetben adatbázisból olvastatom ki
Nem baj, kicsit rendbe szedtem és elkülönítettem, így már jobban látható -
DeltaPower
addikt
válasz
Brown ügynök #7165 üzenetére
a listázós scriptedre nem kapsz safe_mode vagy open_basedir warningot?
-
DeltaPower
addikt
válasz
Brown ügynök #7163 üzenetére
nem hiszem, hogy a hivatkozást rontod el. lehet, hogy a konfig alapból nem engedi ki a scripteket a public_html-ből
-
Alukard
senior tag
válasz
Brown ügynök #7160 üzenetére
Üdv!
Én ezt a scriptet használom képek betöltésére/letöltésére, ha gondolod használd nyugodtan. Annyit kell tudni, hogy a wwwroot az a frontend mappa és mellette van az upload mappa amire hivatkozik az elején.
Egy jogosultság ellenőrzés az elejére meg nem hiszem, hogy nagyon kemény téma lenne
Új hozzászólás Aktív témák
- Magga: PLEX: multimédia az egész lakásban
- Fujifilm X
- Május 27-én Párizsban tart bemutatót a Realme
- NOTEBOOK / NETBOOK / Mac beárazás
- Yettel topik
- Pokoli lövölde pörgetné meg a GeForce-ok eladását
- Tudományos Pandémia Klub
- Elektromos cigaretta 🔞
- Debrecen és környéke adok-veszek-beszélgetek
- Samsung Galaxy S25 - végre van kicsi!
- További aktív témák...
- Apple Watch Nike S6 44mm Space Gray LTE, ajándék új szíjakkal, üvegfóliával és ütésálló tokkal!
- BenQ MW523 3D DLP Projektor, 3000 ANSI lumen, 143 óra üzemidő + 2db 3D szemüveg + Ingyen posta
- 16" macbook pro m1pro.
- (új, bontatlan) Kingston 8GB DDR4 3200Mhz CL22 (Foxpost:+1400Ft)
- Új állapotú ASUS TUF Gaming A15 FA507NU - Ryzen 5 7535HS, 15.6FULL HD 144Hz, 1TB SSD, 32GB
- AKCIÓ! HP ZBook Firefly 14 G9 üzleti notebook- i7 1255U 32GB RAM 512GB SSD nVidia T550 4GB Win11
- Akció! Újra Gamer EGEREK! Glorious , Endgamer XM1R , Nibio
- Bomba ár! Fujitsu LifeBook U757 - i3-7GEN I 16GB I 256SSD I 15,6" FHD I HDMI I Cam I W11 I Garancia!
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- LG 32GR93U-B - 32" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDR 400
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest