ugrás a tartalomhoz

Archívum - 2013

április 28

Fájl feltöltés ellenőrzése, és feltöltött fájl nevének megváltoztatása.

GreenEar · 2013. Ápr. 28. (V), 15.21
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.

REST API + JS app - authentikáció?

Crystal · 2013. Ápr. 28. (V), 14.27
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:
  • 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?
 

Hollywood DRM-et akar beépíteni a HTML5-be

Trudy · 2013. Ápr. 28. (V), 13.24
A szabad internet halála.
 

április 27

Adatbázisból lenyíló lista

Ballon · 2013. Ápr. 27. (Szo), 21.33
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:
<script type="text/javascript">
 function unhide(divID) {
 var item = document.getElementById(divID);
 if (item) {
 item.className=(item.className=='hidden')?'unhidden':'hidden';
 }
 }
 </script>
És a php rész.
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>
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!
 

Keresek egy gráfelméleti fogalmat

Joó Ádám · 2013. Ápr. 27. (Szo), 21.12
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

sandrosdj · 2013. Ápr. 27. (Szo), 15.27
Ü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?
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
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.
 

április 25

Angliában dolgozni webfejlesztőként

stan · 2013. Ápr. 25. (Cs), 15.32
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.
 

Lejátszó MMS Stream-hez

revolted · 2013. Ápr. 25. (Cs), 12.07
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.

Browser detect tool

inf · 2013. Ápr. 25. (Cs), 00.16
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

hakos15 · 2013. Ápr. 24. (Sze), 19.57
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.