Ho un'app Web che emetterà solo un codice sicuro . Ha bisogno di passare questo a un back-end Python. Il modo logico per passare le cose tra JavaScript e Python è avere un server Flask
in esecuzione. Quindi, JavaScript invierà una richiesta come http://example.com/test/?code=this_is_safe_code
. Il codice sarebbe stato valutato.
Io non voglio che gli utenti esterni siano in grado di inviare il codice attraverso, però. Voglio che tutte le richieste fatte siano interne. Poiché so che il codice trasmesso internamente sarà un'espressione matematica sicura, mi sento a mio agio con eval
. Tuttavia, se qualcuno dall'esterno ha inviato qualcosa come http://example.com/test/?code=__import__%28%22os%22%29.system%28%22echo%20DANGER%22%29
, Python eseguirà __import__("os").system("echo DANGER")
. Che ovviamente non è sicuro.
Le chiamate JavaScript sono interamente client-side, non sto usando alcun back-end JS con cose come node.js
.
Quali sono i metodi di sicurezza per consentire richieste interne da JavaScript ma richieste non esterne? Questo dovrebbe essere una sorta di certificato privato?