come muoversi? postato il 10/09/2013 18:54:06 nel forum programmazione, gdrcd, open source, hosting
Buonasera a tutt*!
Per motivi di lavoro conosco (più o meno bene) alcuni linguaggi di programmazione come il C, il C++ ed il Fortran90 ed in generale il modo di programmare a fini scienifici e per hpc.
Quello che non conosco sono i linguaggi moderni (non prendetemi per vecchio, ancora sono a 26 :) ) e come funziona tutto quello che gira intorno ad un sito web che non sia fatto da sole 4 pagine di html.
Senza peccare di presunzione (nel caso smentitemi) credo che, sapendo programmare nei linguaggi sopra riportati, imparare le basi di php e css non sia impossibile.
Il punto che vorrei mi chiariste è: come imparare a mettere tutto sul web..
Mi spiego.
Quello che mi preoccupa è il gestire database, evitare perdita di dati o intrusione di malintenzionati e così via.
Ho cercato un po sul forum e ho trovato molti post sul "come programmare" o "come fare una land". Quello che vi chiedo è:
dando per scontato (sbaglio?) che un tizio riesca a capire e usare i linguaggi utili per creare una land, come si deve muovere per mettere tutto online in maniera sicura sia a livello di hackeraggio che a livello di database e dominio?
Sperando che non sia una questione banale spero di leggere delle interessanti risposte.
Grazie mille
Pagine → 1
10/09/2013 19:20:02
La cosa fondamentale è entrare nell'ottica web.
Lavorare con pagine web è molto differente dai linguaggi compilati, sia per quanto riguarda la logica di fondo, sia per la sintassi.
Per poter lavorare in maniera quasi completamente autonoma, le basi minime necessarie comprendono:
-Utilizzo base dell'SQL (select, insert, update)
-Linguaggio di scripting lato server (PHP è comunque quello più usato). La sintassi PHP è davvero molto somigliante a quella di C/C++, quindi se hai già le dovute conoscenze di base ti basta leggere i primi capitoli di un qualsiasi manuale PHP, tutto il resto lo intuirai da solo leggendo pagine già scritte. Se hai già dimestichezza con la programmazione OO cerca di studiarlo direttamente ad oggetti (anche se noterai che chiamarlo linguaggio "ad oggetti" è un bel parolone).
-Javascript. La sintassi è anch'essa molto somigliante al PHP (di conseguenza al C/C++), ed è davvero fondamentale per fare un sito che non sembri un blog del 1998. Se possibile studia direttamente jquery, un framework js largamente utilizzato sia per facilità di scrittura (la lunghezza delle istruzioni è ridotta all'osso) sia per l'ampia documentazione.
-CSS. Qua è abbastanza diverso dalla classica programmazione, non si tratta più di creare cicli, metodi o stampe, devi solo definire gli attributi stilistici (passami il termine) degli elementi html. Per buona regola tutto il codice css dovrebbe stare su un file separato, così da non incasinare la pagina HTML. In ogni caso è la parte più imprevedibile di tutte, se avrai modo di metterci mano sopra potrai apprezzare questa fantastica gif
-HTML. Vabbè, è HTML, si impara si e no in 3 giorni.
Se hai la possibilità, prendi un GDR-CD e comincia a studiarlo. Con i linguaggi web l'unico buon modo per impararli è provarli direttamente, dopotutto sono immediati e non richiedono compilazioni. Fai un po' di prove, distruggi il distruggibile e poi è il caso di iniziare a parlare di sicurezza.
In ogni caso una delle regole MADRE è sempre quella di controllare DUE VOLTE ogni dato che l'utente può modificare. Una volta lato client (via javascript magari), ed una lato server (onde evitare che qualche furbacchione eluda il primo controllo e passi indisturbato).
10/09/2013 23:50:56
Come dice darkabe, imparare per qualcuno che ha già conoscenze di programmazione è molto semplice.
Dal punto di vista della sicurezza ho paura che non ci sia una soluzione universale nè esatta, ma questo penso che sia una cosa comune a tutta la programmazione in generale (nell'ambito web è solo più pronunciata).
Secondo me ci sono tre punti da cui partire per iniziare a programmare qualcosa di sicuro (che comunque non si arriva mai al 100% di sicurezza, così come è molto difficile arrivare ad avere un programma completamente privo di bug):
1_Conoscere il sistema che si sta usando. Soprattutto nella programmazione web il sistema che si usa è composto da molti livelli, e non tutti potrai controllarli tu. Tipicamente tu controllerai l'ultimo livello (con PHP, ASP, etc) ma al di sotto c'è il server web (che si occupa delle richieste http. e.g.: nginx, apache, etc) il DBMS (che si occupa dei dati. e.g. mysql, mariadb, sqlserver) e il sistema operativo stesso (linux, windows...). Meglio conosci l'ambiente sul quale siede il tuo sito meglio potrai prevenire problemi di sicurezza.
2_Conosci il tuo nemico. Per poter prevenire attacchi al tuo sito è bene conoscere il più possibile le tipologie di attacchi che possono essere fatti. DDOS, Cross Site Scripting, SQL Injection, Cross Site Request Forgery, etc....
3_Il mantra che devi ripeterti continuamente mentre programmi un sito web: "Mai Fidarsi della Rete". Non fidarti mai di quello che ti arriva dalla rete, qualunque input va controllato per assicurarti che abbia esattamente la forma che deve avere. Non fidarti neanche che le tue difese lato client siano valide (HTML, controlli javascript, etc), perchè ciò che sta sul client è sempre manipolabile dall'utente e quindi è una difesa valida solo contro chi non ha veramente intenzione di danneggiarti (=difesa inutile).
11/09/2013 15:42:20
Grazie ad entrambi per le risposte.
Avete confermato ciò che avevo supposto e cioè la non eccessiva difficoltà nell'apprendere i linguaggi se si hanno delle buone basi di programmazione.
La questione sicurezza da come vedo è molto delicata.
In un programma C o C++ se c'è il bug ( e ci sta sempre :D ) al limite perdi i dati che stai elaborando in quel momento.
Qui invece si corrono rischi ben maggiori in cui possono andarci di mezzo anche gli utenti del sito...
Per quel che riguarda domini, server, database etc etc esistono delle regole generali?
Nel senso..io non ho la più pallida idea di quanto spazio di memoria mi serve per memorizzare le informazioni di 10, 50 o 100 utenti!!!
Domande banali forse...mi sento come quando mi hanno parlato dei puntatori per la prima volta :D
11/09/2013 17:41:38
Dipende da come è fatto il tuo progetto, che informazioni vuoi memorizzare etc.
Il mio gdr dopo 3 anni di attività ha un db da meno di 200MB e i file del sito stesso occupano meno di 30MB.
Comunque non preoccuparti delle taglie. Sicuramente per iniziare non partire da un server privato da gestire da solo però XD
Inizia da un semplice piano di hosting condiviso (ce ne sono anche gratuiti, come altervista e netsons) completamente gestito dal provider, in cui tu devi solo preoccuparti di dare forma al tuo sito con PHP, HTML e CSS.
13/09/2013 15:29:49 e modificato da blancks il 13/09/2013 15:31:18
Condivido le informazioni che ti sono state fornite, in particolare il punto 3 di leoblacksoul.
Riguardo la questione hosting, ok ce ne sono di gratuiti e via, ma personalmente ti consiglio di installare un webserver in locale sul pc dove poter fare i tuoi esperimenti.
A fine progetto osservi i "consumi" del tuo software, fai due stime ipotizzando qualche utente in più e allora cerchi un hosting che abbia le caratteristiche richieste dalla tua applicazione. Easy.
14/09/2013 10:11:23
Grandi!
mi avete dato molti spunti e informazioni utili.
il webserver locale sembra un'ottima soluzione per mettere le mani su un codice evitando tutti i problemi connessi al pubblicarlo in rete.
Ovviamente non ho come obiettivo 1000 utenti e richieste di risorse enormi ma la stima fatta da leo mi ha dato un ordine di grandezza!
grazie a tutti e tre!
Se mi vengono in mente altre domande non esiterò a postarle e spero che chiunque faccia altrettanto aggiungendo informazioni sull'argomento!
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
ayumu97 ha aperto una nuova discussione: Immagine chat in elenco_presenti_estesi
I dati del generatore di rank sono stati aggiornati!
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
thewallgestione ha risposto alla discussione: The Wall Gdr
Hikaru No Tohei - Le Luci di Tohei: Butanews! - Ma tu lo sai della Tokin-sai? 🐷🐻🐝
starship ha aperto un annuncio di ricerca: Altri Generi ricerca Programmatore
feir ha recensito Age of Crystals
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
dahdem ha recensito Legacy of Magic
Dallas Black Gold: Post Natale
haruka ha aperto un annuncio di ricerca: Above Leggendra ricerca Giocatore
Lineage II: Nuovo anno, nuovi premi!
CRSED: F.O.A.D. → Brutale sparatutto MMO in cui vince l'ultimo giocatore che resta in vita nell'arena! Ogni giocatore sarà accompagnato da armi realistiche e magie!
eXtremelot: Nuovo iter di approvazione per Clan Nascenti
Enlisted: Battle Pass: prima stagione del 2025
Felix Felicis GdR - Harry Potter GdR: Viaggio a Durmstrang
Statistiche tecniche 2024 degli utenti del portale!
Entropia Universe → Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
Wesnoth - Recensione dell'MMO strategico e gratuito The Battle for Wesnoth!
Le Ombre - Recensione del gdr Le Ombre: l'eterna lotta fra vampiri e mannari nella Marsiglia del 1700
Crea le tue Mappe! - Due software gratuiti per creare mappe: RPG Map Editor e MapTool!
PhotoBucket Down! - L'armageddon dei Play by Forum: Photobucket, hosting per immagini, chiude e danneggia i play by forum!
Tutorial per creare avatar - Video - Tutorial per realizzare, con photoshop, un avatar per gdr
GdR da Tavolo - Gli amici di GdrItalia.it ci invitano a provare i classici GdR da tavolo