In che modo un modulo HTML pubblica un'applicazione EXE?
Domanda
Mi sto solo chiedendo come un sito Web pubblichi informazioni su un EXE e come quell'EXE afferri tali informazioni e le produce utilizzando un file HTML modello.
Il codice sul lato web assomiglia a questo:
<FORM ACTION="scripts/fetch.exe" METHOD=POST NAME=somename>
<INPUT TYPE=TEXT NAME="id" WIDTH=30>
<INPUT TYPE=SUBMIT NAME="nothing" VALUE="Submit">
</FORM>
In che modo il file exe ottiene quel "id"?
Modificare: Essere un po 'più specifici:
Successivamente Exe (a cui ho l'origine, se necessario, viene chiamato, cerca l'utente in una directory in base a quell'ID, quindi stampa le informazioni degli utenti in base a un file modello. So cosa fa con le informazioni, non capisco davvero come ottiene queste informazioni.
Soluzione
Questa è un'applicazione CGI. Una volta eseguito, il server Web eseguirà il programma e fornirà dati tramite variabili di ambiente e stdin.
In questo esempio, il modulo post viene letto da stdin sotto forma di
id=30¬hing=Submit
Altri suggerimenti
Questa forma usa CGI
In breve, la maggior parte dei programmi CGI ha una libreria inclusa che aiuta il programmatore ad accedere facilmente ai parametri del modulo. A quel punto, il programma può elaborare i dati in vari modi (ricerche di database, calcoli, ecc.) E generare contenuti (HTML, JavaScript, ecc.) Per restituire la pagina. CGI era comune prima che i server Web fossero ben integrati con server delle applicazioni e interpreti come se fossero ora.
Senza la fonte (o lo smontaggio) di tale eseguibile, non puoi conoscere i dettagli di ciò che sta facendo.
Perché sei così sicuro che l'EXE sia in realtà un'applicazione .exe? Puoi mappare le estensioni dei file su tutto ciò che ti piace. In realtà mi piace mascherare le mie pagine PHP come JSP.
I server Web di solito passano tali richieste ai gestori esterni tramite il Interfaccia gateway comune.
Se hai un eseguibile che è necessario eseguire dal modulo, prova a impostare uno script Web che afferrerà il parametro ed eseguirà il comando per te invece di pubblicare direttamente su .exe.