Notebook e condivisione di Python

1

Sono un principiante quando si tratta di programmazione o server. Ho installato Python (linguaggio di programmazione) e Jupyter notebook come parte di un progetto di corso online. Dopo l'installazione, stavo semplicemente seguendo le istruzioni e digitavo "jupyter notebook" nel prompt dei comandi.

Il seguente testo apparve nel prompt dei comandi:

> Writing notebook server cookie secret to (folder name)
> Serving notebooks from local directory: (folder name)
> ...

Dopo questo, il mio contenuto della cartella locale è apparso in una finestra del browser. Questo sembrava abbastanza spaventoso, come se tutti quelli che utilizzavano la stessa applicazione ora avessero accesso al mio disco rigido.

Qualcuno sa se questo fa parte di ciò che il notebook Jupyter dovrebbe fare? E se non lo è, perché lo fanno sembrare estremamente sospettoso? Voglio dire, andiamo, l'applicazione diceva "Servire i taccuini dalla directory locale" - anche se mi rendo conto che un notebook è un tipo di progetto Jupyter, è ancora la linea di output più confusa che abbia mai letto quando eseguire un programma per computer.

    
posta twinkstar88 30.12.2017 - 22:58
fonte

2 risposte

2

Se si avvia il server di juypter notebook, verrà generato un token di autorizzazione e un URL che utilizza questo token. Se osservi ulteriormente l'output, vedrai qualcosa di simile a questo:

[I 06:02:28.891 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/?token=e2b7d4eb14d22f46a7950ccb01aecaf303951cb6fbe87fa9

Tutti coloro che conoscono questo URL possono connettersi al notebook e sono considerati autorizzati. Pertanto, l'URL o questo token dovrebbe essere trattato come una password.

...as if everyone using the same application now had access to my hard drive.

Tutti utilizzano la stessa applicazione e lo stesso token di autorizzazione hanno accesso a la cartella locale (non all'intero disco rigido). Questo è simile per esempio alla condivisione di una cartella all'interno di Windows e dando ad altri il percorso e la password.

... even though I realize that a notebook is a Jupyter project type

Dal taccuino Juypter hai accesso anche ai file all'interno della directory locale. Questo è necessario ad esempio per includere i dati locali nei calcoli eseguiti all'interno del notebook.

    
risposta data 31.12.2017 - 06:13
fonte
0

È un'estensione della risposta di Steffen.

Everybody which knows this URL can connect to the notebook and is considered authorized. Thus, the URL or this token should be treated like a password

La prima cosa importante è che il tuo server notebook è in esecuzione su localhost , il che significa che è accessibile solo alle persone registrate sul tuo computer. Tuttavia suppongo che possa in qualche modo dipendere dalla tua configurazione di rete.

Tuttavia, ci si connette localmente alla macchina dal proprio computer. Se qualcuno degli altri utenti della macchina è in grado di filtrare la tua connessione (è semplicemente HTTP) e rubare il token di autenticazione, significa che probabilmente ha abbastanza privilegi per accedere alla tua directory locale senza ricorrere a Jupyter.

Tuttavia, se decidi di eseguire il server sul tuo indirizzo IP esterno (per collegarti in remoto), allora potresti essere in difficoltà poiché il tuo token è esposto a chiunque tra te e il tuo server.

From within the Juypter notebook you have access to files inside the local directory too. This is for example needed to include local data into computations done inside your notebook.

Tieni anche presente che il codice Python nel notebook stesso ha accesso a tutti i file ai quali hai il privilegio di accedere, non solo alla directory locale. Questo è un motivo per cui si consiglia di non eseguire notebook da fonti non attendibili.

    
risposta data 03.02.2018 - 18:59
fonte

Leggi altre domande sui tag