Razvoj web-stranica - Rasprava izdvojena tema

poruka: 3.136
|
čitano: 555.811
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
offline
Re: Razvoj web-stranica - Rasprava
david7 kaže...

@tnakir Imaš li nekakav demo tog CMS-a da malo vidimo kako radi? Ako ti nije problem da nam malo pokažeš ili bar kroz SS-ove..

Mogu slozit SS-ove, sada sam na poslu pa kad dodjem doma

Computer games do not affect kids: I mean if Pacman affected us as kids we'd all be running around in darkened rooms, munching magic pills while listening to repetitive electronic music!
16 godina
protjeran
offline
Re: Razvoj web-stranica - Rasprava
Bukva kaže...
tnakir kaže...

Sa modernim frameworcima SQL inject je proslost, bar u .Netu.

U 10. mjesecu sam slušao jedno predavanje gdje je frajer izjavio (na temu .NET secure coding) da najveći problem kod .NET-a su developeri sa stavom - kakva sigurnost, pa mi koristimo .NET.

Spomenuo si parametrizirane upite. To je ok, ali oni ti ništa ne znači ako ih ne ukalupiš u stored procedure, a njih ti nema niti jedan framework na svijetu (jer ih, očito, moraš sam napisati zavisi što ti treba i kako ti baza izgleda). A prije svega toga preduvjet ti je da si upit sanitizirao.

Molim objašnjenje, kako kroz parametizirani upit napraviti SQL Injection i zašto mora biti ukalupljen u storanu proceduru???

Programko http://programko.bloger.hr
15 godina
offline
Re: Razvoj web-stranica - Rasprava
Programko kaže...

Molim objašnjenje, kako kroz parametizirani upit napraviti SQL Injection i zašto mora biti ukalupljen u storanu proceduru???

Da budem iskren - ne znam. Nikada se nisam bavio SQLi na toj razini i općenito zadnji puta kada sam se latio njih je bio prošli 3. mjesec (ako te već toliko zanima mogu probaći izvući primjere iz baza kojima imam pristup, ali da se odmah ogradim, osobno pojma nemam kako napisati jedan takav SQLi iz glave).

 

Ono što znam, s ove strane priče je da ukoliko želiš da budeš bullet-proof na 99.99% SQLi-a moraš napraviti slijedeće:

  • validacija i sanitizacija inputa
  • svođenje dinamičkih SQL upita na minimum
  • korištenje parametrizirih storane procedure koje koriste neki interface (u slučaju .NET-a ADO)
  • korištenje najmanjih mogućih privilegija kod procedura (ovo je za onih .01% ako ti se dese da minimiziraš štetu)

 

Ono što znam s ove druge strane, kako storane procedure skrivaju poslovnu logiku i na taj način otežavaju fazi prikupljanja informacija.

___________________________________

Poanta svega ovoga je bila ta da čisto oslanjanje na .NET radi sigurnosti je kriva predodžba jer čak i uz sve elemenete zaštite, uvijek može ti netko negdje nešto prodati. Kada pričamo o razvoju CMS-a i sličnoga, onda tu treba o još nečemu voditi računa - a to je da to sve košta. Nekome to što ti radiš SP sa parametrizacijom apsolutno ništa ne znači i on će prije uzeti onaj site koji to nema, ali je zbog toga poprilično jeftiniji. Kako i rekoh, kod low-profile klijenata o tako nečemu je općenito, uopće, bzvz govoriti. Ponavljam, poanta mi je bila čisto skrenuti pozornosti na to da oslananje na .NET radi prevencije SQLi ne znači da si ti imun na njih.

 

Anyway,

evo što je jedan Izraelac koji se bavi secure codiranjem reko na tu temu (a izrazito cijenim njegovo mišljenje):

IF you use SP correctly, then you are pretty much safe from SQL Injection (assuming you still do proper input validation anyway, of course). IF. Ah, but what does it mean, to use SP correctly? Two of the most common mis-uses of SP that I see often, and can each lead to SQL Injection even with Stored Procedures, are:

Dynamic SQL inside the SP.

Calling the SP from code as you would execute a concatenated string. I.e. just sending to the database "exec spname (param1)", instead of using command/parameter objects (or parameterizing the query, depending on language). SQLi can still be injected into the SP call...

 

 

Jedna od SQLi koju sam vidio da djeluje danas (čak mislim da sam to vidio na DefConu) je bila injekcija skrivena unutar slike čiji encoding je bio dio napada pomoću url-forgea. Mislim, vjeruj mi, na takvim konferencijama i u znanstvenim bazama možeš naići na kojekakva perverzije koje ekipa smišlja. SQLi je sve samo ne zastarjela metoda napada.

 

 

 

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
15 godina
offline
Re: Razvoj web-stranica - Rasprava
Bukva kaže...

Ono što znam, s ove strane priče je da ukoliko želiš da budeš bullet-proof na 99.99% SQLi-a moraš napraviti slijedeće:

  • validacija i sanitizacija inputa
  • svođenje dinamičkih SQL upita na minimum
  • korištenje parametrizirih storane procedure koje koriste neki interface (u slučaju .NET-a ADO)
  • korištenje najmanjih mogućih privilegija kod procedura (ovo je za onih .01% ako ti se dese da minimiziraš štetu)

 

Kako i rekoh, kod low-profile klijenata o tako nečemu je općenito, uopće, bzvz govoriti. Ponavljam, poanta mi je bila čisto skrenuti pozornosti na to da oslananje na .NET radi prevencije SQLi ne znači da si ti imun na njih.

 

Jedna od SQLi koju sam vidio da djeluje danas (čak mislim da sam to vidio na DefConu) je bila injekcija skrivena unutar slike čiji encoding je bio dio napada pomoću url-forgea. Mislim, vjeruj mi, na takvim konferencijama i u znanstvenim bazama možeš naići na kojekakva perverzije koje ekipa smišlja. SQLi je sve samo ne zastarjela metoda napada.

 

 

Validacija inputa (zar je to tesko odraditi, kod MVC-a se to jednostavno definira prilikom izrade modela) je obavezna, ne samo radi SQL injectiona, vec radi kontrole korisnickog inputa. 

Sto se tice low profile korisnika, svejedno jeli low ili high profile korisnik, praksa da se ide sa maksimalnom sigurnosti je obavezna. Steta koju poslije moras platit je veca od vremena koje ces izgubit za pisanje sigurnog koda.

Tesko je misliti na sve, tesko je sve to pratiti, ali je bitno odmah reagirati i ispraviti propust.

Computer games do not affect kids: I mean if Pacman affected us as kids we'd all be running around in darkened rooms, munching magic pills while listening to repetitive electronic music!
14 godina
neaktivan
offline
Re: Razvoj web-stranica - Rasprava
tnakir kaže...
kakapo kaže...

(..)

 

 

Kakvi fajlovi? Pa sve upisujes u bazu? Osim slika koje uploadas, naravno.

 

Sto se tice WYSWYG, tu imas FCKEditor, TinyMCE, onaj zamjenik FCKEditora (koji meni nije nikako lego).

Nadam se da me nisi krivo razumio - ja sam radio na flatfile cmsu - sastojao se od sastojao se od nekoliko fajlova, ali radi samo samo fajlovima, tj. nema baze podataka, a pod rad sa fajlovima sam mislio na situaciju da se sadržaj fajla učita u textarea i onda uređuje i može se sačuvati. Ovo bi mu bila djelomična lista mogućnosti koje sam implementirao/planirao implementirati:

 

- login forma / logout forma

- kreiranje novih fajlova, i foldera

- brisanje fajlova i foldera

- preimenovanje fajlova i foldera,

- premještanje fajlova

- upload fajlova,

- izlistavanje foldera i fajlova unutar nekog direktorija,

- kopiranje fajlova,

- kopiranje foldera

- neke dodatne stranice unutar CMSa, u kojima su podaci o autoru, verziji i slično

- admin template, i podrška za druge admin template, lokalizacija

- integracija nekog wysiwyg editora i code highlightera, row numberings (vjerojatno http://nicedit.com/index.php te i http://codemirror.net/ )

- izlistavanje fajlova (tj. php/html podstranica) na frontendu iz nekog foldera - sa primjerice naslovom, linikom, featured image-om, excerptom, i slično - zadnjih n napravljenih komada (http://simplehtmldom.sourceforge.net/)

- includsi - tj. code chunksi koji se samo includaju u glavni fajl

- integracija jquery office minibara  

- save/backup/restore opcije

- integracija fancyboxa za help system

- oba editora istovremeno

etc.

ovo je u biti lista fukcija koje bi ovaj cms trebao imati 
U svojo osnovi je ovaj CMS onda filemanager na serveru sa nekim proširenim opcijama, jer može i uređivati fajlove, tj. sadržaj njih.
sa vremenom sam vidio da bi mi možda ipak bilo lakše da sam radio sa sqlom al, ajd.

Bypass kaže...

Ja bi samo upozorio da nije baš najpametnije koristiti te made-in-one-day "CMS-e" jer uopće nema naglaska na sigurnost. I dok ste vi sretni jer ste napravili cmsić koji radi, dođe neki prištavi klinjo sa izguglanim sql injectom i drop-a vam cijelu bazu u nepovrat.

 

MIslim da bi oni koji počinju sa takvim avanturama trebali prvo malo naučiti o sigurnosnim praksama prije nego krenu lupati kod. Super je pokupiti lovu od klijenta, ali nije super dok te nazove i kaže da mu je na naslovnici neka matrix slika sa natpisom al-rashid turhish h4kz0rz team bla bla.

 

Dakle ako radite nešto što mislite prodavati, razmislite malo i o svojoj odgovornosti u tom djelu.

ja sam imao ideju, i želju napravitii nešto tek toliko da vidim za što sam sposoban i onda pustiti open source, da radim neki ozbiljniji, svakako da bih se dobro upoznao sa svim mogućim sigurosnim elementima

alankish kaže...
kakapo kaže...

(..)

Zainteresirao si me, kakav flatfile CMS? Pišeš proceduralno ili koristiš prednosti OOP-a? Sneek&Peek na live preview...? Daj 'vamo komadić koda, konstruktori, klase..

Jel to bazirano na nekom frameworku?

Ne mogu djeliti kod dok ga ne završim i ne bude ocijenjen, ali ti mogu dati neke ss:

 

http://oi42.tinypic.com/wcn42g.jpg

 

http://oi44.tinypic.com/nf4ac2.jpg

 

http://oi39.tinypic.com/2k34o1.jpg

 

http://oi42.tinypic.com/2mhbw9l.jpg

 

http://oi42.tinypic.com/xonq53.jpg

 

http://oi44.tinypic.com/2hekaih.jpg

 

Koristim mogućnosti OOP kod phpa, ali ne pretjerano, u osnovi je struktura ova: if page is (blablabla) { vrti kod za tu stranicu - upload, readfile, renamefile i slično } if page is (blablabla) {} ...

Na čemu je baziran - pa na više sličnih projekata - uzeo sam neke ideje (mislim da se mogu vidjeti) od slijedećih projekata, ali ih ima puno više kod kojih sam vidio slične stvari i morao sam to imati:

manx cms, lil cms, get simple cms, phire cms, pluck-cms, damnsmallcms i mnogi drugi.. Testirao sam mnoge cms skritpe, i sve što sam vidio, a svidjelo mi se, pokušao sam implementirati. hotscripts.com sam često posjećivao

~21 god, ETFOS, Slavonac, linux and open source fan, net addict, želim znati više, interesi: web dev, svemir, glazba...
14 godina
odjavljen
offline
Re: Razvoj web-stranica - Rasprava
kakapo kaže...

 

 

UI mi se sviđa najviše, kako si i sam rekao riječ je o vrlo vjerojatno više file manageru nego implementaciji CMS-a. U svakom slučaju pohvalno, ima tu par dobrih ideja, za koje nisam mogao naći adekvatno riješenje. Uvijek to znanje možeš iskoristiti, i već postojeći file mangager ukoliko bude potrebno implementirati u vlastiti CMS. Hvala, što si se potrudio prikačiti SS-ove i napisati riječ dvije, iz vlastitog iskustva, jer obično je to čula kazala. Kako si riješio login formu? Za passworde koristišhash passworda? Ja pošto koristim MySQL sam riješio ugrađenom funkcijom md5 gdje direktno iz autentifikacijske skripte vršim provjeru storanog passworda, opet naravno samo provjera hasha., i naravno session control.

 

Sličnu strukturu koristim trenutno i ja, samo sam si olakšao pa koristim array() i provjeravam id-ove, te prema tome učitavam određeni sadržaj.

 

@ Bypass, mogao bi sa nama podijeliti dobre/loše primjere što se tiče samih CMS-ova, s naglaskom na sigurnost.

15 godina
offline
Razvoj web-stranica - Rasprava

Evo SS par modula jedne turisticke agencije koju sam radio. Aplikacija je potpuno prilagodjena klijentu.

Naslovna Naslovna
Popis stranica i tekstova Popis stranica i tekstova
Unos tekstova Unos tekstova
Unos novih stranica Unos novih stranica
Galerija Galerija
Modul Kuće Modul Kuće
Nastavak modula Kuće Nastavak modula Kuće
Computer games do not affect kids: I mean if Pacman affected us as kids we'd all be running around in darkened rooms, munching magic pills while listening to repetitive electronic music!
 
8 0 hvala 0
12 godina
odjavljen
offline
Re: Razvoj web-stranica - Rasprava
Bukva kaže...
SQLi je sve samo ne zastarjela metoda napada.

Hehe sa SQLi se da dosta toga napraviti,evo pravi primjer toga http://twitter.com/#!/tinkode ,sve je detaljno objasnjeno na njegovim blogovima koji su nažalost down od kada ga su ga uhitili...

14 godina
neaktivan
offline
Re: Razvoj web-stranica - Rasprava
alankish kaže...
kakapo kaže...

 

 

UI mi se sviđa najviše, kako si i sam rekao riječ je o vrlo vjerojatno više file manageru nego implementaciji CMS-a. U svakom slučaju pohvalno, ima tu par dobrih ideja, za koje nisam mogao naći adekvatno riješenje. Uvijek to znanje možeš iskoristiti, i već postojeći file mangager ukoliko bude potrebno implementirati u vlastiti CMS. Hvala, što si se potrudio prikačiti SS-ove i napisati riječ dvije, iz vlastitog iskustva, jer obično je to čula kazala. Kako si riješio login formu? Za passworde koristišhash passworda? Ja pošto koristim MySQL sam riješio ugrađenom funkcijom md5 gdje direktno iz autentifikacijske skripte vršim provjeru storanog passworda, opet naravno samo provjera hasha., i naravno session control.

 

Sličnu strukturu koristim trenutno i ja, samo sam si olakšao pa koristim array() i provjeravam id-ove, te prema tome učitavam određeni sadržaj.

 

@ Bypass, mogao bi sa nama podijeliti dobre/loše primjere što se tiče samih CMS-ova, s naglaskom na sigurnost.

login ide otprilike ovako:

 

čim se pokrene file admin.php - na početku mi sam postavio neke varijable kao što su:

 

$config_username = "superadmin";

$config_password = "superlozinka";

 

tada se provjerava da li je verzija PHP-a veća od 5.0.0, zatim se pokreću funkcije getmicrotime, i session start. login je jednostavan: 

 

 

if (isset($_POST["dscms_username"])) { $_SESSION['dscms_username'] = $_POST["dscms_username"]; }

if (isset($_POST["dscms_password"])) { $_SESSION['dscms_password'] = $_POST["dscms_password"]; }

if (($_SESSION['dscms_username'] == $config_username) and ($_SESSION['dscms_password'] == $config_password || md5($_SESSION['dscms_password']) == $config_password)) {

   $_SESSION['dscms_valid'] = "1";

} else {

   $_SESSION['dscms_valid'] = "0";

if ($_GET["p"] !== "login") { header("Location: ".$_SERVER["php_self"]."?p=login"); }

}

 

 

forma je jednostavna, standardna - dva polja koja primaju vrijednosti i te vrijednosti se provjeravaju da li su jednake zadanim. Tada se stvara oznaka da je sesija validna, daje joj se vrijednost, i redirekt se na defaultnu "stranicu" index, u kojoj su izlistani svi fajlovi i folderi unutar root direktorija. Kada se učitava bilokoja druga stranica - tipa upload, delete, create etc. prvo se provjeri validnost sesije i onda se tek učitava. 

 

logout je super jednostavan - klikom na link logout se ubije sesija.

 

Bilo mi je jednostavnije da radim sa if - else fjama nego tvoja metoda sa arrayom, jer iako je jako puno za kodirati, tada mi se učinilo najjednostavnije, a sada se se već lagano navikao da kada stvaram  novu podstranicu, samo dodam novi if blok, i u menu dodam link za tu stranicu. Znam da je neefikasno, ali s obzirom da sam sebi radio, ovo mi je bilo ok, a i najrazumljivije. Meni je cilj bio da naučim kako da uploadam file na server i da ga uspijem učitati u textarea i urediti i sačuvati, sve kasnije opcije su mi bile samo dobar dodatak (pogotovo sam cijenio ovaj plugin za bojanje koda i jquery office minibar) Kasnije sam se sjetio da  radim male fileove koji sam nazvao code chunkse i po uzoru na pulse cms sam ih includao u neki drugi file (imaš ispod svakog fajla generiran kod za includanje file-a) itd.. relativno puno toga sam htio implementirati, ali mi je najbitnije bilo da naučim php ozbiljnije 

 

Password hash je MD5

~21 god, ETFOS, Slavonac, linux and open source fan, net addict, želim znati više, interesi: web dev, svemir, glazba...
12 godina
neaktivan
offline
Re: Razvoj web-stranica - Rasprava

Evo ja sam danas krenuo u izradu web stranice za jedan gaming community i trebao bih pomoc . 

 

Koristim Joomlu (jer je nekako najpodloznija mi izmjenama za svrhu takve stranice) te me zanima kako da implementiram flash unutar templatea ?

13 godina
offline
Razvoj web-stranica - Rasprava

Evo da kažem da sam pri kraju sa sistemom za članke... Napravio sam dodavanja novog, edit, brisanje.. Ostaje još promjena statusa(objavljen i neobjavljen)..

Moj PC  
0 0 hvala 0
14 godina
odjavljen
offline
Re: Razvoj web-stranica - Rasprava
pinky_dr- kaže...

Evo ja sam danas krenuo u izradu web stranice za jedan gaming community i trebao bih pomoc . 

 

Koristim Joomlu (jer je nekako najpodloznija mi izmjenama za svrhu takve stranice) te me zanima kako da implementiram flash unutar templatea ?

Ovo je tema Razvoj web stranica, i upao si kao padobranac. Što znači kod tebe u ovom slučaju implementirati? Kao krajnji korisnik ugraditi neku FLASH animaciju, ili u samu strukturu? Za ovo prvo imaš HTML modul u Control Panelu Joomle, pa možeš kroz njega, odnosno ako si sam radio template ili štoveć, sa object tagovima ugradiš flash, naravno obratiš pozornost na paramatre i putanju do te FLASH datoteke.

14 godina
odjavljen
offline
Re: Razvoj web-stranica - Rasprava
kakapo kaže...

Na isti način sam i ja riješio login, s razlikom da su kod mene hashevi pohranjeni u bazi. Isto tako ubijam session {#}. Ja includam sve kompleksnije funkcije, kao i kompletni menu bar, ako me razumiješ. Isto tako kreuno sam da naučim PHP ozbiljnije.

14 godina
odjavljen
offline
Re: Razvoj web-stranica - Rasprava
david7 kaže...

Evo da kažem da sam pri kraju sa sistemom za članke... Napravio sam dodavanja novog, edit, brisanje.. Ostaje još promjena statusa(objavljen i neobjavljen)..

Lupi SS, da vidimo UI.

13 godina
offline
Razvoj web-stranica - Rasprava

Još je to miljama daleko od finalnog UI-a(počeo sam ga jučer raditi, ali evo).. Napominjem još da sam isprobavao ovu tabelu na dashboardu.. Tu sam planirao ubaciti graf s GA, kalendar i još ostalo što bi moglo biti od koristi...

Moj PC  
0 0 hvala 1
12 godina
neaktivan
offline
Re: Razvoj web-stranica - Rasprava
alankish kaže...
pinky_dr- kaže...

Evo ja sam danas krenuo u izradu web stranice za jedan gaming community i trebao bih pomoc . 

 

Koristim Joomlu (jer je nekako najpodloznija mi izmjenama za svrhu takve stranice) te me zanima kako da implementiram flash unutar templatea ?

Ovo je tema Razvoj web stranica, i upao si kao padobranac. Što znači kod tebe u ovom slučaju implementirati? Kao krajnji korisnik ugraditi neku FLASH animaciju, ili u samu strukturu? Za ovo prvo imaš HTML modul u Control Panelu Joomle, pa možeš kroz njega, odnosno ako si sam radio template ili štoveć, sa object tagovima ugradiš flash, naravno obratiš pozornost na paramatre i putanju do te FLASH datoteke.

Isprika što sam uletio kao padobranac .. :) 

 

Samo me zanimalo , i hvala na pomoći u svakom slučaju , uspio sam namjestiti sada . 

16 godina
neaktivan
offline
Razvoj web-stranica - Rasprava

Vidim, priča se o CMS-ovima... Oduvijek sam želio isprogramirati svoj CMS, ali nikad nisam došao do kraja jer sam uvijek radio paralelno kako sam i učio PHP. Prva verzija bio je nekakav obični CRUD prema gotovim tutorialima. To je bio totalni spaghetti code, a urlovi su bili poput site.com/index.php, site.com/page.php?id=398239, site.com/admin.php?edit=page&id=3943... Onda sam malo kasnije naučio da je bolja praksa odvajati kod od HTML-a, ali sam to protumačio na svoj način pa sam sve PHP kodove stavljao u funkcije koje su bile u jednom ogromnom functions.php, a cijeli predložak je bio u index.php... No, tu sam imao kojih 16 godina, pa mi se može oprostiti.

 

Onda sam krenuo učiti o objektno orijentiranom programiranju, frameworkovima i sličnome pa nikad nisam dovršio tu drugu verziju jer sam krenuo na treću. I naravno, kada sam još bolje savladao PHP obustavio sam i tu nedovršenu treću verziju i krenuo pisati četvrtu.

 

E to je ona za koju mislim da će jednom biti 100% gotova (ali ne uskoro zbog mnogo obaveza u idućih par mjeseci, državna matura, dva završna rada i još neke sitnice).

 

Baziran je na Codeigniteru tako da je razdvojen na hierarchical model-view-controller strukturu. Sučelje je višejezično (jezične datoteke).

 

Razvoj je išao relativno sporo zato jer je u pozadini svega apstraktni content model koji podržava varijabilan broj neograničenih jezika za isti sadržaj. Možda je malo teže za objasniti, ali na tom jednom content modelu baziraju se svi tipovi sadržaja (npr. stranica, članak, slika, video). Svi dijele zajednički kod koji nasljeđuju od bazne klase. Svaki od tipova sadržaja ima svoju handler koji ga prikazuje browseru. Svaki sadržaj zapisuje se u tri tablice u bazi: content tablicu koja sadrži zajedničke elemente svih tipova sadržaja (unique id, slug, parent_id, language_id, type_id, author_id...). Type_ID je zapravo poveznica prema nastavku zapisa sadržaja u tablici specifičnoj za jedan tip sadržaja (e tu su sad name, content i slično).

 

Ovakva struktura dopušta unlimited nesting (neograničeno ugnježđivanje?) bilo kojeg contenta u bilo koji drugi i svaki novi razvijeni tip contenta automatski poprima ista svojstva (nesting, višejezičnost, komentare...)

 

Da samo napomenem da je većina tog content modela još uvijek bez sučelja tj. još uvijek ga ručno namještam po bazi dok ne složim sučelje za sve to (nesting i sl.)

 

Od user managementa gotov je login.

 

Od ostalih featurea još je djelomično gotov file caching koji sam išao razvijati malo ranije zbog većeg broja querija koji se izvršavaju pri generiranju stranice.

 

Isto, trebao bih napomenuti da je unique_id nije onaj klasični id u obliku 1,2,3... itd., već je to zapravo jedinstveni hash u obliku 349rfeiFDKdij9239jeediE pomoću kojeg se mogu pronaći različite instance istog sadržaja. Recimo, u bazi postoji članak u dva jezika. Zapisan je u dva odvojena reda od kojih im je zajednički hash (unique_id) po kojem se zapravo i mogu povezati.

 

Na frontendu je razvijen sustav linkova i pronalaženje sadržaja na ostalim jezicima (recimo site.com/stranica-1/podstranica/treca, a ako u sustavu postoji engleska inačica on ju pronađe, pa rekurzijom ide do najdaljeg roditelja i sastavi link site.com/page-1/subpage/third. Tu ima malo više querija, pa se zato ti queriji cacheiraju).

 

I to je otprilike to što sam razvio. OK, i nešto admin interfacea.

 

No, ono što nije razvijeno su npr. sami tipovi sadržaja, tj. ona logika u svakom tipu koja razlikuje page od articlea od videa. Jer je svaki tip sadržaja zapravo zaseban MVC podfolder, tj. zapravo MC podfolder jer će viewovi biti bazirani na jedinstvenoj zajedničkoj bazi. Još nije razvijen sustav frontend templatinga, komentara, access listi i registracije, module managementa i related entitiesa.

 

Jednog lijepog dana, kad to sve bude gotovo onda se bacam na central media repository koji sam zamislio tako da se uploada slika, čuva se originalna instanca, a može se ručno cropati i u sustavu, tj. temi će biti predefinirane crop veličine. Isto tako, tog lijepog dana bacam se i na widget support i user admin panel postavke (svaki user će si moći prilagoditi admin panel po želji).

 

I sad malo screenova admin sučelja u nedovršenoj početnoj fazi:

 

Screen 1 - pregled stranica... sučelje je postavljeno na hr, zanemarite "neprevedene" dijelove na engleskom, to su većinom statični placeholderi koje sam ostavio dok sam kodirao html predložak... inače, ovi izbornici, narančasti tabovi mogu se drag'n'dropom razmještati, samo što se taj poredak trenutno nigdje ne posprema...

 

Screen 2 - dodavanje nove stranice... opet zanemarite čudne labele i napomene... to je moj način rada da si ostavim napomene vidljive u sučelju tako da ih ne zaboravim poslije ispraviti xD

Screen 1 Screen 1
Screen 2 Screen 2
Potpis ;)
Poruka je uređivana zadnji put čet 16.2.2012 0:38 (Danijel).
Moj PC  
5 0 hvala 1
15 godina
offline
Razvoj web-stranica - Rasprava

Evo da vam opisem jedan cms jedne splitske firme koju necu imenovati (ime pocinje sa Gi, a zavrsava sa deon). Dakle oni imaju jedan unificirani CMS za sve svoje sajtove. Dakle, jedan CMS, jedna baza, sajtovi su samo jedan od ID-eva.

 

Prednosti: Lagano odrzavanje CMS-a (mijenjas samo na jednom mjestu, promijenio si sve "virtualne" CMS-ove)

Nedostaci:

- Propust na jednom sajtu znaci propust na svim sajtovima

- Lose performanse i "klanje" baze jednog sajta uzrokuju isto to na drugim sajtovima

- Nemogucnost prenosa stranice (jer nemozes prenit CMS) na drugi hosting (s tim su se poprilicno ogradili, vjerujem da hosting naplacuju po zlato).

Computer games do not affect kids: I mean if Pacman affected us as kids we'd all be running around in darkened rooms, munching magic pills while listening to repetitive electronic music!
 
0 0 hvala 0
13 godina
protjeran
offline
Re: Razvoj web-stranica - Rasprava
tnakir kaže...

Evo da vam opisem jedan cms jedne splitske firme koju necu imenovati (ime pocinje sa Gi, a zavrsava sa deon). Dakle oni imaju jedan unificirani CMS za sve svoje sajtove. Dakle, jedan CMS, jedna baza, sajtovi su samo jedan od ID-eva.

 

Prednosti: Lagano odrzavanje CMS-a (mijenjas samo na jednom mjestu, promijenio si sve "virtualne" CMS-ove)

Nedostaci:

- Propust na jednom sajtu znaci propust na svim sajtovima

- Lose performanse i "klanje" baze jednog sajta uzrokuju isto to na drugim sajtovima

- Nemogucnost prenosa stranice (jer nemozes prenit CMS) na drugi hosting (s tim su se poprilicno ogradili, vjerujem da hosting naplacuju po zlato).

Mega blesavo imho.

Biti ili mniti svemiropolisno
13 godina
offline
Razvoj web-stranica - Rasprava

@alankish: Imaš li ti neki svoj CMS, vidim da svi stavljamo SS-ove pa da i tebe malo vidimo {#}

Moj PC  
0 0 hvala 0
14 godina
odjavljen
offline
Re: Razvoj web-stranica - Rasprava
david7 kaže...

@alankish: Imaš li ti neki svoj CMS, vidim da svi stavljamo SS-ove pa da i tebe malo vidimo {#}

Nije CMS nego je CRUD, UI je cisti HTML, samo pozicioniranje je odrađeno sa CSS-om, tako da dok ne stiliziram malo to, ne stavljam{#}.

13 godina
offline
Razvoj web-stranica - Rasprava

Ajde, nemoj se sramiti, vidio si na šta moj liči, i ono je zasad samo CRUD, nema nikakvih modula... UI mi je u glavi, ali nisam ga realizirao(upravo radim ikone){#}

Moj PC  
0 0 hvala 0
16 godina
offline
Re: Razvoj web-stranica - Rasprava
alankish kaže...

Što se tiče server-side tehnologija, oni okrenuti k PHP-u, koji framework koristite? Zašto? Prednosti? Mane?

CakePHP.

 

Prije 4 i pol godine našao sam se u situaciji gdje je potencijalni klijent tražio prototip stranice sa CRUD mogućnostima u roku 3 dana. Par mjeseci ranije sam čitao neke članke vezane za PHP i naletio sam na one koji opisuju CakePHP, malo sam istraživao i ostavio čekajući slobodno vrijeme da mogu proučiti detaljnije. Sjetio sam se tih članaka i odlučio probati napraviti prototip. Bila je to ljubav na prvi pogled koja se do dan-danas održala. Probao sam i druge framework-ove (Yii, CI) no ostao sam na CakePHP, jer mi se sviđa njegova struktura, velika online zajednica, dobra dokumentacija. Prednosti koje mi pruža jesu brz razvoj prototipa, MVC, konzola,.. Mane, hm nisam sreo neke koje bi pamtio osim bugova kojih ima i u drugim FW, različiti testovi pokazuju da je sporiji u odnosu na konkurenciju, no to me za sada puno ne brine jer stranice koje radim nikada neće imati ogroman broj upita.

 

Trenutno na cakephp 2, razvijam CMS za odabranu klijentelu gdje će se u pozadini vrtjeti mysql + 6 vanjskih izvora podataka koristeći API-je online servisa kao što su youtube, facebook, twitter,..

All software has bugs.Any developer who claims that his or her software is always bug-free is living in a fantasy world.
13 godina
offline
Razvoj web-stranica - Rasprava

I ja sam proučavao Cake, ali kako nisam poznavao OOP, odustao sam.... Btw, kako sakriješ onaj SQL Query što ga automatski pokazuje? CSS ili nešto treće? Nisam se nešto previše unosio, pa nisam ni tražio...

Moj PC  
0 0 hvala 0
16 godina
offline
Re: Razvoj web-stranica - Rasprava
david7 kaže...

I ja sam proučavao Cake, ali kako nisam poznavao OOP, odustao sam.... Btw, kako sakriješ onaj SQL Query što ga automatski pokazuje? CSS ili nešto treće? Nisam se nešto previše unosio, pa nisam ni tražio...

/**
 * CakePHP Debug Level:
 *
 * Production Mode:
 *     0: No error messages, errors, or warnings shown. Flash messages redirect.
 *
 * Development Mode:
 *     1: Errors and warnings shown, model caches refreshed, flash messages halted.
 *     2: As in 1, but also with full debug messages and SQL output.
 *
 * In production mode, flash messages redirect after a time interval.
 * In development mode, you need to click the flash message to continue.
 */
   Configure::write('debug', 2);
   Configure::write('debug', 0);

Dok radiš na stranici neka ti je uvijek debug na 2, kako bi na vrijeme vidio greške itd..  Kada postaviš na live server, debug staviš na 0...

All software has bugs.Any developer who claims that his or her software is always bug-free is living in a fantasy world.
13 godina
offline
Razvoj web-stranica - Rasprava

Hvala! Nisam za to znao... Ima li netko ovdje da radi neki ozbiljniji CMS, a da ne koristi OOP?

Moj PC  
0 0 hvala 0
16 godina
offline
Re: Razvoj web-stranica - Rasprava
david7 kaže...

Hvala! Nisam za to znao... Ima li netko ovdje da radi neki ozbiljniji CMS, a da ne koristi OOP?

Moje mišljenje je da nema svrhe raditi to na taj način. Imaš gomilu koda koji se mora ponavljati xy puta, to je gubljenje vremena, a vrijeme je novac ;)

All software has bugs.Any developer who claims that his or her software is always bug-free is living in a fantasy world.
Poruka je uređivana zadnji put pet 17.2.2012 13:18 (Nix).
16 godina
offline
Razvoj web-stranica - Rasprava

Kako vi radite na razvoju web stranice/aplikacije/cms? Sa čime se prvo uhvatite u koštac?

 

Kod mene stvari idu sljedećim redom:

 

Ideja > Dizajn baze podataka (mysql workbench) > Prototip I (cakephp scaffolding) > Prototip II (generirani cakephp CRUD) > Prototip III (CRUD + implementacija vlastitog koda) > Dizajn i primjena korisničkog sučelja (html+css+jquery) > Beta verzija (testiranje stranice od strane klijenta, ispravka nedostataka,..) + RC 1,2 > Objavljivanje stranice > određeno vrijeme praćenje rada stranice uvidom u error logs itd..

 

 

Inače zadnjih godina nemam volju i inspiraciju baviti se sa dizajnom korisničkog sučelja, već od sljedećeg projekta imam namjeru kupovati gotova 'web design' rješenja za administraciju web stranica.

 

 

All software has bugs.Any developer who claims that his or her software is always bug-free is living in a fantasy world.
Poruka je uređivana zadnji put pet 17.2.2012 13:19 (Nix).
Moj PC  
0 0 hvala 0
13 godina
protjeran
offline
Re: Razvoj web-stranica - Rasprava
Nix kaže...
alankish kaže...

Što se tiče server-side tehnologija, oni okrenuti k PHP-u, koji framework koristite? Zašto? Prednosti? Mane?

CakePHP.

 

Prije 4 i pol godine našao sam se u situaciji gdje je potencijalni klijent tražio prototip stranice sa CRUD mogućnostima u roku 3 dana. Par mjeseci ranije sam čitao neke članke vezane za PHP i naletio sam na one koji opisuju CakePHP, malo sam istraživao i ostavio čekajući slobodno vrijeme da mogu proučiti detaljnije. Sjetio sam se tih članaka i odlučio probati napraviti prototip. Bila je to ljubav na prvi pogled koja se do dan-danas održala. Probao sam i druge framework-ove (Yii, CI) no ostao sam na CakePHP, jer mi se sviđa njegova struktura, velika online zajednica, dobra dokumentacija. Prednosti koje mi pruža jesu brz razvoj prototipa, MVC, konzola,.. Mane, hm nisam sreo neke koje bi pamtio osim bugova kojih ima i u drugim FW, različiti testovi pokazuju da je sporiji u odnosu na konkurenciju, no to me za sada puno ne brine jer stranice koje radim nikada neće imati ogroman broj upita.

 

Trenutno na cakephp 2, razvijam CMS za odabranu klijentelu gdje će se u pozadini vrtjeti mysql + 6 vanjskih izvora podataka koristeći API-je online servisa kao što su youtube, facebook, twitter,..

Samnom je ista stvar samo što sam se ja naučio na codeigniter.

 

Trenutno radim applikaciju za jednu dobrotvornu organizaciju, koja će uključivati nekoliko API kao google maps, analytics i slično. Dakle CI, ajax, json, jquery, html5, css3 + mysql.

Biti ili mniti svemiropolisno
13 godina
protjeran
offline
Re: Razvoj web-stranica - Rasprava
Nix kaže...

Kako vi radite na razvoju web stranice/aplikacije/cms? Sa čime se prvo uhvatite u koštac?

 

Kod mene stvari idu sljedećim redom:

 

Ideja > Dizajn baze podataka (mysql workbench) > Prototip I (cakephp scaffolding) > Prototip II (generirani cakephp CRUD) > Prototip III (CRUD + implementacija vlastitog koda) > Dizajn i primjena korisničkog sučelja (html+css+jquery) > Beta verzija (testiranje stranice od strane klijenta, ispravka nedostataka,..) + RC 1,2 > Objavljivanje stranice > određeno vrijeme praćenje rada stranice uvidom u error logs itd..

 

 

Inače zadnjih godina nemam volju i inspiraciju baviti se sa dizajnom korisničkog sučelja, već od sljedećeg projekta imam namjeru kupovati gotova 'web design' rješenja za administraciju web stranica.

 

 

Ideja -> Generali Dizajn Stranice i Admin sučelja -> MySql dizajn (workbench isto) -> Prva verzija (CI) -> Testing -> Druga verzija (CI) + MySql tweaking -> .. ->User Testing -> FIN.

 

Fuj dizajniranje. Ja kupujem admin sučelja i redizajniram ih po potrebi. Ne da se meni za svaki button i select pisati kod. Fuj to. Za to postoje dizajneri, ne.

 

Edit- trenutni projekt:

 

 

Biti ili mniti svemiropolisno
Poruka je uređivana zadnji put pet 17.2.2012 13:33 (Bypass).
Nova poruka
E-mail:
Lozinka:
 
vrh stranice