Domanda

Ho un sito web, alimentato da MODx, che è centrato attorno a un modulo. L'accesso alla pagina web con la forma è limitato ai membri registrati (gestiti da MODx). L'utente compila un paio di voci di testo, consente di selezionare un file da caricare, quindi colpi presentare. L'azione specificata è uno script CGI submit.py sotto / cgi-bin, che registra le informazioni presentate e salva il file, ed esegue perfettamente.

L'unica preoccupazione che ho è che qualsiasi forma (a quanto pare), se specificare l'URL giusto per l'attributo di azione <form>, sembra essere in grado di collegare la loro forma al mio script CGI. Il che significa che si può scrivere la seguente sulla propria pagina:

<form action="http://my-site.com/cgi-bin/submit.py">
    <!-- blah blah blah -->
</form>

ed i dati vengono inviati al mio modulo CGI ed elaborato (comportamento indesiderato).

La mia domanda è questa: c'è un modo per limitare l'esecuzione dello script basato sul modulo HTML che ha inviato i dati? Mi sto perdendo qualcosa di veramente evidente?

Ho cercato online e ho trovato una questione un po 'correlata di CSRF, ma se c'è un modo a parte token di autenticazione per impedire l'uso non autorizzato del script CGI, mi piacerebbe sentirla.

È stato utile?

Soluzione

È possibile effettuare una volta l'uso token che deve essere inviato con il modulo per assicurarsi che sia valido (questo è quello che lei ha citato).

Anche se questo potrebbe essere afferrato e inviato pure.

Verifica del referrer non è utile perché è facilmente contraffatta, o assenti (alcuni proxy filtrarla).

In breve, senza utilizzare il token per mitigare, siete nei guai. Tranne che tutti gli altri sul web ha questo problema:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top