Archívum - 2013
április 28
Fájl feltöltés ellenőrzése, és feltöltött fájl nevének megváltoztatása.
Sziasztok
Van egy fájlfeltöltő formom, feltöltéskor ellenőrzi hogy nem üresek-e a mezők, és ellenőrzi a feltöltött fájl tulajdonságait (méret, formátum). A problémám az hogy úgy szeretném megoldani hogy ne legyen kötelező fájlt feltölteni, de ha mégis tölt fel akkor legyen leellenőrizve a feltöltött fájl. Ha nem tölt fel, tehát a fájlfeltöltő mező üresen marad akkor hagyja figyelmen kívűl.
A másik problémám hogy szeretném megváltoztatni a feltöltött fájl nevét, így szeretném elkerülni hogy ha 2 felhasználó ugyanazzal a névvel tölt fel képet, akkor a lekérésnél ne legyen kavarás. Ezt előszőr úgy próbáltam hogy az aktuális időpontot ($time()) hozzáadtam a feltöltésnél, sikerült is megváltoztatni a fájl nevét, viszont a mysql-be az eredeti nevet írta be, így nem tudta megjeleníteni a képet. Nem egyezett a két név, összegezve nem tudtam megoldani hogy a mysql-be ugyanaz a név kerüljön mint ami a neve a mappában.
Van egy fájlfeltöltő formom, feltöltéskor ellenőrzi hogy nem üresek-e a mezők, és ellenőrzi a feltöltött fájl tulajdonságait (méret, formátum). A problémám az hogy úgy szeretném megoldani hogy ne legyen kötelező fájlt feltölteni, de ha mégis tölt fel akkor legyen leellenőrizve a feltöltött fájl. Ha nem tölt fel, tehát a fájlfeltöltő mező üresen marad akkor hagyja figyelmen kívűl.
A másik problémám hogy szeretném megváltoztatni a feltöltött fájl nevét, így szeretném elkerülni hogy ha 2 felhasználó ugyanazzal a névvel tölt fel képet, akkor a lekérésnél ne legyen kavarás. Ezt előszőr úgy próbáltam hogy az aktuális időpontot ($time()) hozzáadtam a feltöltésnél, sikerült is megváltoztatni a fájl nevét, viszont a mysql-be az eredeti nevet írta be, így nem tudta megjeleníteni a képet. Nem egyezett a két név, összegezve nem tudtam megoldani hogy a mysql-be ugyanaz a név kerüljön mint ami a neve a mappában.
REST API + JS app - authentikáció?
Sziasztok,
az lenne a kérdésem, hogy ha javascript kisalkalmazást szeretnék fejleszteni úgy, hogy a szerver-oldali backend egy REST API, akkor hogy érdemes authentikálni? Az alkalmazás nem teljesen single-page app, a bejelentkezés és az alkalmazás tényleges felülete két külön felület. Első nekifutásra nincsenek jobb ötleteim a következőknél:
Egyéb ötlet?
■ az lenne a kérdésem, hogy ha javascript kisalkalmazást szeretnék fejleszteni úgy, hogy a szerver-oldali backend egy REST API, akkor hogy érdemes authentikálni? Az alkalmazás nem teljesen single-page app, a bejelentkezés és az alkalmazás tényleges felülete két külön felület. Első nekifutásra nincsenek jobb ötleteim a következőknél:
- egyszer authentikálunk, és utána session alapján dolgozunk - ami ellentmond a REST állapotmentességének
- minden REST kérésnél paraméterben elküldjük a bejelentkezési adatokat, azaz a nevet-jelszót. Ezzel az a gond, hogy a javascript app betöltődésekor át kell adni a kliensoldalnak a felhasználó által korábban megadott nevet-jelszót, hogy utána minden REST kéréshez be tudjon authentikálni. Ez azt jelenti, hogy gyakorlatilag az oldal forrásában benne lesz a jelszó. Ez nagyon nem biztonságos.
Egyéb ötlet?
április 27
Adatbázisból lenyíló lista
Sziasztok!
Már régóta olvasom az oldalt sosem kérdeztem még, ellenben sok probléma megoldásra talált, és Én is egy egyenlőre megoldatlan problémába futottam:/. Remélem tudtok segíteni.
Szóval, adatbázisból kérek le adatokat, és js-sel csináltam egy "show / hide" mezőt, ami kattintásra lenyílik a lényegi tartalom résszel, majd ismételt kattintással eltűnik.
Eddig ez működik, viszont ha egynél több rekordom van a táblában, akkor mindig csak az első rekordra dobja ki ezt a "show / hide" mezőt, ami így nem túl hatékony.
(Feltételezem, valahol az id átadás környékén száll el a dolog, és azért kapom mindig az első sort, független attól mire kattintok, de ezt nem sikerült megcsinálnom..)
A JS:És a php rész.Tehát a {$sor['tartalom']} mindig az első sor eredményét adja vissza, hiába van több adatom az adatbázisban.
Nem találtam erre megfelelő megoldást, az id-t pedig nem sikerült úgy hozzáadnom, hogy működjön.
A segítséget előre is köszönöm!
■ Már régóta olvasom az oldalt sosem kérdeztem még, ellenben sok probléma megoldásra talált, és Én is egy egyenlőre megoldatlan problémába futottam:/. Remélem tudtok segíteni.
Szóval, adatbázisból kérek le adatokat, és js-sel csináltam egy "show / hide" mezőt, ami kattintásra lenyílik a lényegi tartalom résszel, majd ismételt kattintással eltűnik.
Eddig ez működik, viszont ha egynél több rekordom van a táblában, akkor mindig csak az első rekordra dobja ki ezt a "show / hide" mezőt, ami így nem túl hatékony.
(Feltételezem, valahol az id átadás környékén száll el a dolog, és azért kapom mindig az első sort, független attól mire kattintok, de ezt nem sikerült megcsinálnom..)
A JS:
<script type="text/javascript">
function unhide(divID) {
var item = document.getElementById(divID);
if (item) {
item.className=(item.className=='hidden')?'unhidden':'hidden';
}
}
</script>
while ($sor = mysql_fetch_assoc($eredmeny))
$section.= "<article class=\"tablak\">
<header>
<hgroup>
<h1 id=\"cim\">{$sor['cim']}</h1>
</hgroup>
</header>
<ul>
<li><img src=\"images/{$sor['kep']}\" alt=\"{$sor['kep']}\" title=\"{$sor['kep']}\" /></li>
<li>{$sor['esemeny']}</li>
<a href=\"javascript:unhide('tartalom');\">Tovább..</a></li>
<p id=\"tartalom\" class=\"hidden\">{$sor['tartalom']}\n
<li>{$sor['datum']}</li>
</ul>
Nem találtam erre megfelelő megoldást, az id-t pedig nem sikerült úgy hozzáadnom, hogy működjön.
A segítséget előre is köszönöm!
Keresek egy gráfelméleti fogalmat
Csak feltételezem, hogy a gráfelmélet saját nevén nevezi egy fagráf azon részfáit, melyek minden csomópontja legfeljebb két élhez kapcsolódik (az ág „egyenes”). Ezen név angol és magyar megfelelőjét keresem.
■ outer join és rendezés
Üdv!
Adott az alábbi sql lekérdezés. A lekérdezés több táblából gyűjt adatot, többek között az üzenetek táblából is.
Hogyan lehet megoldani azt, hogy az üzenetek táblából a legutóbb beszúrt sor adatait kérdezze le?Az ORDER BY után megpróbáltam megadni neki, hogy idő szerint csökkenő sorrendbe kérdezze le, de nem hozta a kívánt hatást.
■ Adott az alábbi sql lekérdezés. A lekérdezés több táblából gyűjt adatot, többek között az üzenetek táblából is.
Hogyan lehet megoldani azt, hogy az üzenetek táblából a legutóbb beszúrt sor adatait kérdezze le?
SELECT conversations.id AS id, conversations.name AS name, messages.message AS message, messages.time AS time FROM conversation_members INNER JOIN conversations ON conversations.id=conversation_members.conversation LEFT OUTER JOIN messages ON messages.conversation=conversations.id WHERE conversation_members.user=$user[id] GROUP BY conversations.id ORDER BY messages.time DESC
április 25
Angliában dolgozni webfejlesztőként
Angliában szeretnék dolgozni, mint webfejlesztő.
Aki dolgozott vagy dolgozik Angliában webfejlesztőként, az írhatna pár sort a tapasztalatiról, illetve a bekerülés nehézségeiről, illetve az elvárt tudásról.
Kérdéseim:
- Kell-e diploma hozzá?
- Kell-e valamilyen másmilyen iskolai végzettség?
- Mennyire nézik az iskolai végzettséget?
- Mire érdemes ráfeküdni a webfejlesztés területén, kint mire van kereslet?
- Mennyire magasak az elvárások a webes programozási nyelvek és technikák iránt?
- Konkréten mik azok a technológiák, programozási nyelvek, amiket érdemes tudni?
- Mennyire fontosak a referenciák?
- Mit fogadnak el munkatapasztalatként?
- Állásinterjún mit kérnek, milyen próbafeladat szokott lenni?
- Milyen szintű nyelvtudás kell?
- Te hogyan találtál állást, hogyan sikerült kijutnod, hogyan kerestél munkát?
- Mennyit lehet keresni webfejlesztőként?
- Érdeme-e belevágni?
- Mi ajánlanál azoknak a magyaroknak, akik webfejlesztőként dolgoznak, és ki szeretnének menni Angliába?
Így elsőre ennyi, remélem van olyan itt, akinek van tapasztalata a témában.
■ Aki dolgozott vagy dolgozik Angliában webfejlesztőként, az írhatna pár sort a tapasztalatiról, illetve a bekerülés nehézségeiről, illetve az elvárt tudásról.
Kérdéseim:
- Kell-e diploma hozzá?
- Kell-e valamilyen másmilyen iskolai végzettség?
- Mennyire nézik az iskolai végzettséget?
- Mire érdemes ráfeküdni a webfejlesztés területén, kint mire van kereslet?
- Mennyire magasak az elvárások a webes programozási nyelvek és technikák iránt?
- Konkréten mik azok a technológiák, programozási nyelvek, amiket érdemes tudni?
- Mennyire fontosak a referenciák?
- Mit fogadnak el munkatapasztalatként?
- Állásinterjún mit kérnek, milyen próbafeladat szokott lenni?
- Milyen szintű nyelvtudás kell?
- Te hogyan találtál állást, hogyan sikerült kijutnod, hogyan kerestél munkát?
- Mennyit lehet keresni webfejlesztőként?
- Érdeme-e belevágni?
- Mi ajánlanál azoknak a magyaroknak, akik webfejlesztőként dolgoznak, és ki szeretnének menni Angliába?
Így elsőre ennyi, remélem van olyan itt, akinek van tapasztalata a témában.
Lejátszó MMS Stream-hez
Sziasztok!
Szeretném a segítségeteket kérni egy nagy problémában.
2008-ban készítettünk egy online televiziót, ahol a szerverszolgáltató Windows Media szerveren keresztül oldotta meg a műsor továbbítását. Feladatom egyike volt, hogy a televizió oldalán ezt valamilyen formában elérhetővé tegyem... megoldásként egy beágyazott WMPlayer-t és egy Silverlight lejátszót használtam, amely a mai napig gond nélkül ellátja ezt a feladatot.
A televízió azóta viszonylag nagy sikereket ért el, nem kis túlzással állíthatom, hogy az egyik legnézettebb a hazai kínálatban. Éppen ezért, most a tulajdonos megkeresett ismét egy újabb feladattal, szeretné, ha az oldalt és ezzel együtt a beépített lejátszó(ka)t is modernizálnánk. Ebben szeretném kérni a segítségeteket.
A koncepció a következő: adott egy MMS stream, amit szertnék egy olyan megoldással megjeleníteni a televízió oldalán, amihez nem szükséges további plug in-ek telepítése. Erre a célra nekem az Adobe Flash lenne a legkézenfekvőbb megoldás, azonban ahogy én tudom az MMS Stream-et nem támogatja (ezért is használtam a JWPlayer Silverlight-ra optimalizált változatát)...
A másik kritérum, aminek meg szeretnénk felelni, hogy a felhasználók számára platform független megoldást kínáljunk (egy újabb érv a Flash mellett) és ehhez társulna egy egységes kezelőfelület is. Ez több szempotból is fontos. Egyrészt szeretnénk, ha a weboldalon túl a késöbbiek során lehetővé válna a lejátszás más környezetekben is. Gondolok itt a desktop lejátszóra vagy egy szintén platformfüggetlen applikációra okoseszközökhöz. Ehhez szerintem a Flex/Air lenne a legjobb választás... szerintem.
További plusz funkciót jelent, hogy az adást (a JW Player-hez hasonlóan) meglehessen osztani különféle közösségi hálózatokon, ill. hogy ha valaki szeretné beágyazni a lejátszót a saját oldalába akkor erre is legyen lehetősége a lejátszón belül... a weboldalon való megjelenítéshez a legideálisabb megoldás ezért a JW Player lenne.
Szeretném a segítségeteket kérni egy nagy problémában.
2008-ban készítettünk egy online televiziót, ahol a szerverszolgáltató Windows Media szerveren keresztül oldotta meg a műsor továbbítását. Feladatom egyike volt, hogy a televizió oldalán ezt valamilyen formában elérhetővé tegyem... megoldásként egy beágyazott WMPlayer-t és egy Silverlight lejátszót használtam, amely a mai napig gond nélkül ellátja ezt a feladatot.
A televízió azóta viszonylag nagy sikereket ért el, nem kis túlzással állíthatom, hogy az egyik legnézettebb a hazai kínálatban. Éppen ezért, most a tulajdonos megkeresett ismét egy újabb feladattal, szeretné, ha az oldalt és ezzel együtt a beépített lejátszó(ka)t is modernizálnánk. Ebben szeretném kérni a segítségeteket.
A koncepció a következő: adott egy MMS stream, amit szertnék egy olyan megoldással megjeleníteni a televízió oldalán, amihez nem szükséges további plug in-ek telepítése. Erre a célra nekem az Adobe Flash lenne a legkézenfekvőbb megoldás, azonban ahogy én tudom az MMS Stream-et nem támogatja (ezért is használtam a JWPlayer Silverlight-ra optimalizált változatát)...
A másik kritérum, aminek meg szeretnénk felelni, hogy a felhasználók számára platform független megoldást kínáljunk (egy újabb érv a Flash mellett) és ehhez társulna egy egységes kezelőfelület is. Ez több szempotból is fontos. Egyrészt szeretnénk, ha a weboldalon túl a késöbbiek során lehetővé válna a lejátszás más környezetekben is. Gondolok itt a desktop lejátszóra vagy egy szintén platformfüggetlen applikációra okoseszközökhöz. Ehhez szerintem a Flex/Air lenne a legjobb választás... szerintem.
További plusz funkciót jelent, hogy az adást (a JW Player-hez hasonlóan) meglehessen osztani különféle közösségi hálózatokon, ill. hogy ha valaki szeretné beágyazni a lejátszót a saját oldalába akkor erre is legyen lehetősége a lejátszón belül... a weboldalon való megjelenítéshez a legideálisabb megoldás ezért a JW Player lenne.
Browser detect tool
Segítsetek már, láttam régebben egy nagyon jó kis libet, ami ellenőrizte, hogy mi a böngésző verziója, és ha nem stimmelt, akkor kirakott ilyen kis színes ikonokat az alternatívákról. Elfelejtettem a nevét :-( :-(
■ április 24
A weboldalak veszedelmei
A modern, mai világban nélkülözhetetlen egy weboldal megléte akár magánszemélyeknek, akár más intézményeknek, esetleg cégeknek. A honlapoknak, mint azt már tudjuk, két típusa létezik. A dinamikus és a statikus. Statikus oldal esetén nem szükséges komolyabb védelem az oldalnak, esetleg a szervernek túlterhelési kockázatok miatt.
Dinamikus oldalak esetén ez már teljesen más. Alapvetően a hackerek és crackerek nem egyből a szerver próbálják meg valamilyen úton módon befolyásolni, feltörni, hanem apró trükkökkel próbálkoznak először. Ebben a rövid leírásban megpróbálom belesűríteni mindazon módszereket, melyek ebbe az apró trükkök kategóriába tartoznak.
Ha megtervezünk egy weboldalt, akkor ajánlott három részre osztani. Statikus szerver, root-on belül és root-on kívüli fileok. Egy rossz web kliens beállítás esetén az egész oldal tartalma letölthetővé válik. Ennek elkerülése érdekében a feldolgozó fájlokat érdemes a root könyvtáron kívül elhelyezni. Ennek hátránya, hogy a fájlok elején egy – két sorban meg kell hívni a feldolgozó fájlokat, ha dolgozni szeretnénk velük.
Következő nagy probléma az adatbázisok inject-elése (befecskendezése). Ezzel a módszerrel a hacker lekérheti az egész adatbázis tartalmát mindössze egy sorral, melyek a header vagy input adatokba injektálnak be. Ez ellen három beépített függvénnyel védekezhetünk. Mysql esetén: mysql_real_escape_string , htmlspecialchars , valamint strip_tags . Mysqli esetén mysqli_real_escape_string , valamint az előző függvények. Ezek biztosítanak egy alap védelmet inject ellen, de ennél komolyabb funkciók kellenek. Ezek a függvényeket érdemes kombinálni, egymást kiegészíteni, valamint szűrni a mysql, mysqli parancsokat. (union, update…).
Nagyobb gondot szoktak jelenteni az XSS behatolások. Itt általában egy scriptet injektálnak az oldalba, mely lehet pl. egy hirdetés… Amire ha a felhasználó rákattint, akkor egyszerűen ellophatja annak sütijeit, azonosítóit.
Dinamikus oldalak esetén ez már teljesen más. Alapvetően a hackerek és crackerek nem egyből a szerver próbálják meg valamilyen úton módon befolyásolni, feltörni, hanem apró trükkökkel próbálkoznak először. Ebben a rövid leírásban megpróbálom belesűríteni mindazon módszereket, melyek ebbe az apró trükkök kategóriába tartoznak.
Ha megtervezünk egy weboldalt, akkor ajánlott három részre osztani. Statikus szerver, root-on belül és root-on kívüli fileok. Egy rossz web kliens beállítás esetén az egész oldal tartalma letölthetővé válik. Ennek elkerülése érdekében a feldolgozó fájlokat érdemes a root könyvtáron kívül elhelyezni. Ennek hátránya, hogy a fájlok elején egy – két sorban meg kell hívni a feldolgozó fájlokat, ha dolgozni szeretnénk velük.
Következő nagy probléma az adatbázisok inject-elése (befecskendezése). Ezzel a módszerrel a hacker lekérheti az egész adatbázis tartalmát mindössze egy sorral, melyek a header vagy input adatokba injektálnak be. Ez ellen három beépített függvénnyel védekezhetünk. Mysql esetén: mysql_real_escape_string , htmlspecialchars , valamint strip_tags . Mysqli esetén mysqli_real_escape_string , valamint az előző függvények. Ezek biztosítanak egy alap védelmet inject ellen, de ennél komolyabb funkciók kellenek. Ezek a függvényeket érdemes kombinálni, egymást kiegészíteni, valamint szűrni a mysql, mysqli parancsokat. (union, update…).
Nagyobb gondot szoktak jelenteni az XSS behatolások. Itt általában egy scriptet injektálnak az oldalba, mely lehet pl. egy hirdetés… Amire ha a felhasználó rákattint, akkor egyszerűen ellophatja annak sütijeit, azonosítóit.