» »

Novejša izdelava spletišč

Novejša izdelava spletišč

marjan_h ::

Zanima me mnenje tistih, ki se dandanes ukvarjajo z izdelavo spletnih platform in poznajo vse novejše trende.

So danes vse spletne strani ustvarjenje z backend-frontend arhitekturo? Zanima me tukaj, kako zaščitiš podatke, recimo v JSON formatu (API) za neki endpoint, da drugi ne morejo brati. Nisem recimo našel na takšen način podatkov za znane strani, npr. Petrol, Mimovrste, 24ur...

Kakšni so ostali trendi? Hvala.

OutOfTheBox ::

Zanima me tukaj, kako zaščitiš podatke, recimo v JSON formatu (API) za neki endpoint, da drugi ne morejo brati.


Avtenktacija (npr Json Web Token). Ko se uporabnik prijavi z up. imenom in geslom, mu dovoliš branje specifičnega endpointa.

V vsakem primeru boš potreboval nek način avtenktacije, če hočeš backend dato exposat specifičnemu clientu.

Zgodovina sprememb…

marjan_h ::

Očitno se drugi ne ukvarjajo z novejšo izdelavo spletišč, razen ti. :)

Hvala za te informacije. Jaz sem svoje prve spletne strani naredil s PHP. Sedaj je PHP namenjen samo backendu. Verjetno ga noben več ne uporablja oz. vsaj ne tako kot pred 10 leti?

Stari89 ::

Na server-side sem se do sedaj ubadal s PHPjem, .NET (C#) in Node.js. Na front-endu pa z jQuery, Angular, React in zadnje čase Blazor (Microsoftov spin na WebAssembly v C#). Tu in tam sem šljakal tudi z raznimi CMSi in ecommerce (Wordpress, Joomla, Umbraco, Magento). Imam par subjektivnih mnenj, s katerimi se lahko strinjate ali pa ne. :)

  • Backend-Frontend arihtektura se mi zdi zelo uporabna, seveda odvisno od velikosti projekta. Za spletno vizitko z obrazcem za kontakt boš uporabil en CMS in čau. Če pa maš golomazno spletno aplikacijo in gor kup razvijalcev, pa je projekt zelo smiselno razbit na več repozitorijev, na katerih se lahko neodvisno razvija, testira in deploya. IKEA to rešuje z buzzwordom microfrontends in microservices, kjer ima vsako funkcionalnost strani druga ekipa (recimo produkti, iskanje, voziček, etc etc). Edini razlog, zakaj bi danes uporabil server-side rendering, je za SEO optimizacijo. Marsikdo se bo zadrl "KAJ PA PERFORMANCE, SPAji SE LAHKO NALAGAJO PO VEČ SEKUND!?!?!?!?" Morda res, ampak vedno lahko zadevo razbiješ na module, ki se nahitro naložijo po potrebi.

  • PHP je bil 10 let nazaj kralj, danes pa se ga ne dotaknem več. Na enem šihtu so nam kitajci redno vlamljali na server ter nam limali svoje reklame ter linke na naše strani. Moj prvi task je bila skripta, ki je vsako noč kopirala iz backupa na produkcijo. Naslednji task je bilo česanje skozi ranljivosti Wordpresovih pluginov in PHPja, da sem to razrešil. Glavobol. Takih blesarij na Node.js in .NET enostavno ni. Omenjena frameworka dandanašnji takisto laufata na vseh možnih arhitekturah in operacijskih sistemih, tako da PHP te prednosti več nima. Od Dockerja naprej pa je ta argument sploh irelevanten. Da o performancu ne govorim.

  • Avtentikacijo je OutOfTheBox že omenil, imaš res miljavžent načinov. ;)

  • WebAssembly se uporablja vedno več. Če si frajer, lahko spišeš komplet aplikacijo v C++ ali v Rustu ali pa prevedeš obstoječo (bojda so Adobe Photoshop priredili brez težav za browser). Določene reči lahko letijo tudi 40krat hitreje od JSja, seveda odvisno od primera. Trenutno se igračkam z Blazorjem, ampak me ni najbolj prepričal, saj se DOMa ne da direktno manipulirat, ker še vedno rabiš Javascript za to. Šušlja se, da zna WebAssembly počasi nadomestit Docker.


@marjan_h se vračaš nazaj v stroko? Kak zanimiv hobi projekt? :)

blackbfm ::

PHP je bil 10 let nazaj kralj, danes pa se ga ne dotaknem več. Na enem šihtu so nam kitajci redno vlamljali na server ter nam limali svoje reklame ter linke na naše strani. Moj prvi task je bila skripta, ki je vsako noč kopirala iz backupa na produkcijo. Naslednji task je bilo česanje skozi ranljivosti Wordpresovih pluginov in PHPja, da sem to razrešil. Glavobol.


kako so ranljivi wordpress plugini problem phpja?

Takih blesarij na Node.js in .NET enostavno ni.


ma kakšen .net neki.. normalno da ni, če tega nihče ne uporablja , nihče v primerjavi s php userbaseom


WebAssembly se uporablja vedno več. Če si frajer, lahko spišeš komplet aplikacijo v C++ ali v Rustu ali pa prevedeš obstoječo (bojda so Adobe Photoshop priredili brez težav za browser). Določene reči lahko letijo tudi 40krat hitreje od JSja, seveda odvisno od primera.


spet kar neka nišna zadeva, relevantna za <1% aplikacij.. človeku ni jasno kako zaščitit json endpoint, ti njemu predlagaš webassembly:))

Zgodovina sprememb…

  • spremenilo: blackbfm ()

JanBrezov ::

Trendi danes so backend v čemerkoli, ki ima navzven viden samo API (ki vrača JSON), za frontent pa katerikoli JavaScript framework (npr. React ali Vue), ki koristi prej omenjen API. Backend je lahko razbit na več mikroservisov, a tega se lotiš le, če gre za kompleksno aplikacijo oz. se ti zgodi samo, če koristiš storitve drugih ponudnikov. V bistvu lahko narediš tako, da backend-a pri sebi sploh nimaš, ampak samo koristiš cloud storitve drugih ponudnikov, vse je potem dosegljivo preko API-jev.

API-ji vračajo JSON, ki je prvič zaščiten s HTTPS (vse preko HTTPS), če pa gre za podatke zaprtega tipa, pa avtentikacija z JWT, kar so že omenili.

Da je PHP sranje, se pa ne strinjam. Wordpress (ki je v PHP) je pač najbolj razširjena aplikacija in je seveda tarča za napad. Če bi bil najbolj razširjen .NET, bi tarča pač bil .NET. V zadnjih 10 letih je PHP naredil precejšen napredek. Po mojih izkušnjah največji problem niso jeziki (ala PHP), ampak upload funkcije spletnih aplikacij. Če se dovoli prenos vseh fajlov vsakemu in obstaja možno izvedbe naloženega, imaš hitro vdor.

DePalmo ::

Stari89 je izjavil:

PHP je bil 10 let nazaj kralj, danes pa se ga ne dotaknem več. Na enem šihtu so nam kitajci redno vlamljali na server ter nam limali svoje reklame ter linke na naše strani. Moj prvi task je bila skripta, ki je vsako noč kopirala iz backupa na produkcijo. Naslednji task je bilo česanje skozi ranljivosti Wordpresovih pluginov in PHPja, da sem to razrešil. Glavobol. Takih blesarij na Node.js in .NET enostavno ni. Omenjena frameworka dandanašnji takisto laufata na vseh možnih arhitekturah in operacijskih sistemih, tako da PHP te prednosti več nima. Od Dockerja naprej pa je ta argument sploh irelevanten. Da o performancu ne govorim.

Če nisi vedel razloga zakaj ti kitajčki vdirajo, sem ti podčrtal in odebelil. Do tega sem se spraševal kako slabo kodo si spisal, ampak si uporabil samo slab framework. PHP, če veš kaj delaš, je zelo varen, za razliko od WPja in me še vedno preseneča da se je WP tako razpasel. Enkrat sem si postavil blog z WPjem na moj server, privzete nastavitve, 0 pluginov in seveda moja gesla. Takrat sem prvič in zadnjič imel vdor na svoj server, pa vedno uporabljam PHP. Do kakšne dve leti nazaj sem vse spisal sam iz nule in nisem imel niti enega vdora. Od takrat dalje uporabljam Laravel kateri zelo olajša delo in še vedno ni vdorov.
Tako da ne mi krivit PHP, če si uporabil WP.

Današnji trendi za spletne strani so zelo preprosti: kur*eve reklame! Več njih kot je, boljše je za ustvarjalce. Še ad blocker ne dohaja vsega in brez njega brskat omenjene strani (24ur in ostale slovenske portale z novicami) je poteza za žile rezat. Drugače je pa preprosto kako zaščititi svoj vir podatkov: CORS. Vsi večji brskalniki se ga držijo in če je pravilno nastavljen, ti iz svojega serverja ne boš bral mojih (javnih) podatkov iz mojega serverja. Če pa imaš privat podatke in se mora uporabnik prijavit, potem pa JWT. Mislim da lahko rečem da je najbolje sprejet in najbolj razširjen standard. Lahko se pa lotiš tudi svoj način prijave, ampak se stvari zakomplicirajo.

Bom pa še tole pustil tukaj, za tiste ki pravijo da PHP ni to to in da se ga je pametno izognit:
 PHP is dead

PHP is dead

c3p0 ::

Če bi .NET enkrat bil priljubljen kot zdaj PHP in bi naslednik Wordpressa bil v .NET, bi pa v njegovi kodi našli ogromno lukenj.

Ni kriv programski jezik (morda le nekoliko, če dopušča preveč idiotizmov), kot popularnost. V PHP se da dandanes pisat moderna objektna koda. WP core je kar OK, plugini in templates so pa pogosto katastrofa.

PHP hardening in optimizacija je pa druga, precej obširna tema.

Zgodovina sprememb…

  • spremenil: c3p0 ()

gort ::

ja, php je še vedno kar ok

blackbfm ::

Če nisi vedel razloga zakaj ti kitajčki vdirajo, sem ti podčrtal in odebelil. Do tega sem se spraševal kako slabo kodo si spisal, ampak si uporabil samo slab framework. PHP, če veš kaj delaš, je zelo varen, za razliko od WPja in me še vedno preseneča da se je WP tako razpasel. Enkrat sem si postavil blog z WPjem na moj server, privzete nastavitve, 0 pluginov


pa ja, ne nakladaj.. nekaj si mogu met, si sam prnesu, al pa se ti ne sanja kje je sploh prislo do vdora.. ker vanilla wordpress je svetlobna leta bolj varen od tvoje laravel kode

c3p0 ::

Ziher, le da bo nek WP vouln. scanner zlahka prečesal cel internet, na njegovo custom laravel kodo bi se pa nekdo moral direktno spravit.

Stari89 ::

@OP: Tako je to. Najprej vprašaš za mnenje, nato je dva tedna tišina. Ko dejansko nekdo poda mnenje, se pol foruma usuje nanj. To je daleč najbolj popularen in dolgoživ trend web developmenta in nič ne kaže, da gre stran. :)

Tistim, ki sem stopil na živc glede PHPja pa tole: Če ste z njim vešči, ga seveda uporabljajte! Popularnost mu ne pada in kruha ne boste stradali. Meni pač ne sede, saj sem moral od prvega dne zaposlitve na eni firmi pucat drek za nekom drugim, dokler nisem v manj kot letu dal odpovedi. Poskusil sem se igrat na gugalnici in ne mi zamerit, če grem raje na tobogan. Vsakemu svoje. :) LP

c3p0 ::

Programer je vedno sposoben naredit greznico še iz take lepega jezika in dev okolja. Nekaj zaradi nesposobnosti, nekaj pa iz razloga: "naj se mantra tisti, ki bo to kodo gledal za mano, če bodo že preškrti, da meni plačajo".

Nekateri jo še prav nalašč obfuscirajo. Neka firma, za katero sem nekoč prevzel nek "custom super duper" CMS (spet greznica) je napisala celo svoj PHP modul, ki je v resnici zaganjal le neke mysql queryje. Sem ga na hitro reverse engineeral, lahko bi pa to bila prava muka.

DePalmo ::

blackbfm je izjavil:

pa ja, ne nakladaj.. nekaj si mogu met, si sam prnesu, al pa se ti ne sanja kje je sploh prislo do vdora.. ker vanilla wordpress je svetlobna leta bolj varen od tvoje laravel kode

Ti se kar tolaži, jaz sem povedal svoje. WPja se ne dotaknem več.

Se pa strinjam s @Stari89. Vsak naj uporablja tisto česar je vajen in kar pozna, tako se lahko dejansko posvetiš kodi in jo narediš varno.

blackbfm ::

Ti se kar tolaži, jaz sem povedal svoje. WPja se ne dotaknem več.


nič se ni za tolažit, imaš na wordpressu spletne trgovine ki obrnejo miljonske zneske.. če je za njih good enough, potem je tut zame:))

je pa seveda treba ločit wordpress stran kjer šalabajzer s.p. ki še sam nima pojma, nafuka svega in svašta da stran že brez vdora lahko samo crkne, in wordpress kjer imajo ljudi ki dejansko razumejo interno delovanje wordpress, imajo celo lasten development..

DePalmo ::

blackbfm je izjavil:

kjer imajo ljudi ki dejansko razumejo interno delovanje wordpress, imajo celo lasten development..

Pa si povedal bistvo. Brez tega je WP sranje, že čisto osnovni.

In kot sem že omenil, še vedno me preseneča dejstvo da se je tako razpasel.

blackbfm ::

Pa si povedal bistvo. Brez tega je WP sranje, že čisto osnovni.


nop, čist osnovni wp je precej kul.. sranje je ko obesiš šitload pluginov mediocre kvalitete

DePalmo ::

Očitno površno bereš, ti bom napisal še enkrat.

WP sem inštaliral samo enkrat na svoj server ki je javno dostopen. Inštaliram, spremenim gesla, dodam par strani ala blog varjanta, za kar naj bi WP bil. In nanj pozabim. Nato pa mesec dni kasneje sem slučajno gledal svoj hosting in opazim na njem ogromno datotek katerih jaz tja nisem dodal in niso bile povezane z WPjem. WP izbrišem in se to ni nikoli več ponovilo.

Naj ti povdarim da nisem dodajal nobenega plugina ker si nisem vzel zadost časa za to.

Nato sem spisal svoj blog v PHPju in je še zmeraj tam. Nobenih čudnih datotek, in je tega že leta.

In ti boš meni dopovedoval da je osnovni WP varen?

WP je varen (predpostavljam) če že imaš z njim izkušnje in ga znaš zaščitit, zame osnovni pač ni varen. Zakaj, se nisem poglabljal, sem svoj čas raje zapravil za druge traparije.

OutOfTheBox ::

Ni neka znanost zalaufat bota, ki cilja na ranljivost specifične WP verzije (zato so posodobitve vedno nujne), medtem ko so pri lastni kodi problemi lahko drugi. Noben nima prav ali narobe, vse je odvisno od potreb posameznika in trenutnega konteksta. Meni je Žan Nekrep fascinanten - tip služi na deset tisoče EUR na mesec na free sajtih, mejlih in fb postih.

Sam sem na hitro moral overdnotit eno idejo, za to sem izbral Wix platformo. Ker sem videl da se je ideja prijela, sem začel razvijat lastno rešitev, ker je Wix (ali WP v tem primeru) preveč omejen in dolgoročno mi ne bi ena ali druga platforma dobro služila. Plus rad imam kontrolo nad zadevami, je pa bil Wix v tem primeru ključnega pomena da sem idejo sploh splavil, drugače jo ne bi (vsaj ne tako hitro).

Zgodovina sprememb…

blackbfm ::

WP sem inštaliral samo enkrat na svoj server ki je javno dostopen. Inštaliram, spremenim gesla, dodam par strani ala blog varjanta, za kar naj bi WP bil. In nanj pozabim. Nato pa mesec dni kasneje sem slučajno gledal svoj hosting in opazim na njem ogromno datotek katerih jaz tja nisem dodal in niso bile povezane z WPjem. WP izbrišem in se to ni nikoli več ponovilo.


šansa da se ti to zgodi je 1 proti miljon.. to si imel weak password ali pa razštelan server

c3p0 ::

Če blank WP pustiš kot je, bo sčasoma zastarel in bo najden kak bug/exploit.

V tem primeru vklopiš auto updating, če že nimam kakega hardeninga drugje, npr. preko kakšnih modsecurity rules.

Netrunner ::

Varnost aplikacije oz. sistema ni toliko odvisna od programskega jezika ampak od sposobnosti programerja. Wordpress sam po sebi je ok CMS, če ga prime v roke en sposoben developer in ga uporabi za to kar dejansko je namenjen. Problem pri WP je da je to za večino prva postaja ko začnejo delati z spletom in CMS-ji in posledično obstaja malo morje slabo spisanih vtičnikov. Sposobni developerji hitro zamenjajo CMS, ostali pa večajo WP ekosistem z vsem sranjem poleg. Če je nekaj najbolj razširjeno še ne pomeni da je dobro :)
Doing nothing is very hard to do... you never know when you're finished.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kdo izdeluje klasične HTML/CSS/JS spletne strani?

Oddelek: Izdelava spletišč
222683 (1799) Phantomeye
»

Zelo odzivne, hitre spletne strani (strani: 1 2 )

Oddelek: Izdelava spletišč
5911952 (8751) c3p0
»

Učenje PHP?

Oddelek: Programiranje
161899 (1390) brodul
»

Kaj prvo PHP ali Javascript (strani: 1 2 )

Oddelek: Izdelava spletišč
779993 (8601) HardFu
»

Objekt za izbiro jezika v HTML

Oddelek: Izdelava spletišč
263724 (3463) MrBrdo

Več podobnih tem