Sicurezza DB

Caro mister incredibile, avrei bisogno di avere lumi su una curiosità che mi attanaglia.  :idiot: Dopo aver creato un sito in php con DB in mySQL:

1.cosa trasferisco sul sito?

2.agli utenti del sito il DB è accessibile?

3.posso operare modifiche al DB dall'esterno, o devo prevedere variazioni solo on-line sul sito?

Thanks ;)

inviato 11 anni fa
Nico Colonna
X 0 X

Caro fred,

intuisco che sei arrivato al grande passo dal "locale" al "remoto"...

1) Sul sito remoto dovrai portare gli script via FTP. Il tuo fornitore di hosting ti avrò fornito i dati necessari per effettuare tale accesso.

Inoltre dovrai portare il database (struttura e dati). Solitamente questa procedura si effettua tramite phpMyAdmin, in grado di creare un file SQL con le query necessarie a rispristinare il DB. Prima si effettua il backup del DB in locale, poi si effettua il restore sul server remoto. Entrambe le operazioni sono a carico di phpMyAdmin (quasi sempre già installato sul server remoto)

2) Nella maggior parte dei casi il DB MySQL è accessibile solo da localhost, e questo significa per un server remoto che solo uno script PHP o un utente che agisce direttamente sul server può accedervi. Solo in casi sporadici vengono forniti i dati di un account MySQL che permette un accesso remoto. In tal caso basta usare un programma per la gestione di MySQL e farlo puntare all'indirizzo del server.

3) come detto al punto 2) la gestione del DB remoto si effettua quasi sempre attravero phpMyAdmin installato sul server remoto.

Spero di essere stato abbastanza chiaro, in caso contrario affrettati a chiedere ulteriori chiarimenti poiché "Mister Incredibile" domani va in vacanza!  ^-^  :coolsmiley:

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ma in che modo devo strutturare file e cartelle?

In altri termini:

- sulla cartella principale del sito metto i flie .php;

- creo una cartella mysql/data/<nome DB>/ in cui inserire i file del DB

E' questa la procedura?

Thanks and have a nice trip O0

risposto 11 anni fa
Nico Colonna
X 0 X

No, gli script PHP per essere accessibili dal web devono trovarsi in una particolare cartella, la root del web server. Questa cartella (con le sue sotto cartelle) viene mappata sul degli URL dal server web. Ad esempio:

il file sul server (nota il percorso UNIX, senza la lettera del volume C:,D:, ecc.)/home/web/miodominio/website/index.phpviene visto dal client FTP come:/website/index.phpe viene mappato dal server web nell'URL:http://www.miodominio.it/index.php

Per questi script PHP sei tu a decidere come strutturarli, tenendo presente il modo in cui si trasformeranno in URL.

I dati di MySQL, anche se presenti su file, non sono accessibili direttamente, ne da PHP ne da un utente. Per gestire MySQL bisogna andare a botte di query. Caricare i dati in un DB si traduce nell'effettuare delle CREATE TABLE e delle INSERT.

Poiché manualmente sarebbe veramente pesante, conviene farsi aiutare da phpMyAdmin, uno script PHP da installare sia in locale, sia in remoto (anche se spesso è già presente).

In locale bisogna effettuare il backup del DB. phpMyAdmin provvederà a creare un file di testo contenente tutte le query (CREATE TABLE e delle INSERT) necessarie a ripristinare tale DB su un altro server.

In remoto phpMyAdmin prende (attraverso un upload) il file SQL contenente il backup, effettua automaticamente tutte le query in esso presente ripèsistinando quindi il DB.

Essendo un script PHP, phpMyAdmin non avrà problemi ad accedere a MySQL remoto poiché entrambi si trovano sulla stessa macchina ed uno vede l'altro come "localhost". Si aggira così il problemma dell'impossibilità di effettuare connessioni remote sul MySQL del sito.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda