(Questa domanda è stata downvoted, che trovo strano.Come ho offeso?)server di clojure swank apre la porta pubblica?
Ho ragione di pensare che l'esecuzione di un server Swank di solito apre la porta 4005 al mondo, non legata alle connessioni solo localhost?
Così chiunque si intrufola in un bar non solo consente ai passanti di eseguire codice arbitrario sul proprio computer, ma offre loro un'interfaccia piacevole con cui farlo.
Sembra che quando ho eseguito un server Swank con 'clojure mvn: Swank', o 'Lein Swank', o (swank.swank/start-server "/ tmp/yo")
poi ho ottenere qualcosa di simile (grazie Mike!):
$lsof -i -P
java 11693 john 13r IPv6 6701891 0t0 TCP *:34983 (LISTEN)
e anzi posso collegare da un Emacs in esecuzione su un'altra macchina sulla stessa rete.
(swank.swank/start-server "/tmp/yo")
Se inizio il server a mano, produce il seguente output
Connection opened on local port 34983
#<ServerSocket ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=34983]>
considerando quanto segue:
(swank.swank/start-server "/tmp/yo" :host "localhost")
produce:
Connection opened on local port 40368
#<ServerSocket ServerSocket[addr=localhost/127.0.0.1,port=0,localport=40368]>
che sembra più come me mi aspettavo.
C'è qualche buona ragione per farlo?
Qualche idea su come i modi più convenzionali di avviarlo potrebbero essere persuasi ad accettare solo connessioni dai processi locali?
java 10561 Giovanni 14r IPv6 6.521.448 0T0 TCP *: 4005 (ASCOLTA) –
Questa è una porta pubblicamente esposta. Come stai iniziando Swank? –
mike, mi dispiace per la risposta super-terse. stava modificando il mio originale e in qualche modo non ho notato che il mio copia e incolla era entrato nei commenti. Grazie per la diagnosi! –