HighDots Forums  

invocazione remota cgi (attenzione: messaggio denotante ignoranza)

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss invocazione remota cgi (attenzione: messaggio denotante ignoranza) in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
sonscemo
 
Posts: n/a

Default invocazione remota cgi (attenzione: messaggio denotante ignoranza) - 09-29-2009 , 04:43 AM






Salve a tutti.
Nonostante io programmi da almeno 30 anni (azz!), sono rimasto molto
indietro per tutto quello che riguarda internet. Ora, io vorrei
ottenere un certo "comportamento" da parte di un sito web. Mi
piacerebbe sapere se la cosa e' fattibile con Javascript (e allora me
lo studio) o, visto che fra di voi c'e' sicuramente piu' di un "guru"
la cui conoscenza trascende javascript, mi piacerebbe almeno capire
verso quale strumento mi devo muovere...
Ho provato a cercare in giro ma mi accorgo che mi manca proprio il
"gergo".

Questo e' lo scenario:

Posseggo e gestisco due siti web, diciamo www.AAA.it e www.BBB.it
Il primo (AAA) e' un sito diciamo "commerciale" (aruba...) con linux
hosting, mysql, php, etc. sul quale pero' non posso far girare i miei
CGI che sono computazionalmente molto intensivi.
Il secondo (BBB) e' un sito mio fatto con Apache e linux sul quale
posso fare la qualunque (sono root).

Al momento sul sito AAA ho una pagina html (scritta a manina, tanto
per farvi capire il mio livello...) con un
form e qualche campo. Quando lo user preme il bottone del form io
invoco un programma CGI su www.BBB.it
(tra l'altro un CGI scritto in C, perche' sono proprio vecchio...) che
mi spara fuori in stdout un output html
che viene visualizzato all'utente. Tutto questo funziona, e' una cosa
molto elementare ma funziona.

La cosa che non mi piace, e che vorrei cambiare e' la seguente.
L'utente si trova su una pagina di AAA, tipo www.AAA.it/form.html,
clicca il pulsante di cui sopra
e gli viene visualizzata una pagina di risultati che COME INDIRIZZO in
ALTO
riporta http://www.BBB.it/cgi-bin/pippuzzo.cgi

la cosa che non mi piace e' quel www.BBB.it che io vorrei in qualche
modo mascherare, cioe' vorrei
che visto che sono partito dal sito AAA anche l'output fosse
visualizzato in AAA, tipo in una
pagina www.AAA.it/output.html generata dinamicamente partendo
dall'output del CGI fatto girare su
www.BBB.it

Secondo voi e' fattibile una cosa simile usando javascript o qualche
altro sistema?
(non vi chiedo una soluzione, ma un punto di partenza, in italiano o
inglese fa lo stesso!)

Io, nella mia ignoranza cubitale, speravo di poter invocare in qualche
modo il CGI da javascript, salvare
l'output in una variabile e poi visualizzarlo localmente. Ma qualcuno
mi ha detto che non si possono
fare cose simili perche' per motivi di sicurezza l'output del CGI puo'
essere visualizzato solo
in una pagina con lo stesso indirizzo del programma effettivo.
A me sembra un po' strano che una ditta non possa avere una macchina
che fa da front-end e una che
fa i calcoli (i CGI) quindi vi chiedo con il capo cosparso di cenere
quale tipo di strumento (javascript o altro)
potrei usare: non vorrei dovermi mettere io a scrivere da zero un
protocollo client-server per fare questa cosa.

Grazie mille e scusate la prolissita' e sicuramente l'OT almeno
parziale (ma non so dove sbattere la
proverbiale testa).
giovanni.

Reply With Quote
  #2  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: invocazione remota cgi (attenzione: messaggio denotanteignoranza) - 09-29-2009 , 04:55 AM






Il Tue, 29 Sep 2009 01:43:33 -0700, sonscemo ha scritto:

Quote:
Al momento sul sito AAA ho una pagina html (scritta a manina, tanto per
farvi capire il mio livello...)
è anche il mio (uso notepad++ per scrivere pagine html...)

Quote:
con un form e qualche campo. Quando lo
user preme il bottone del form io invoco un programma CGI su www.BBB.it
(tra l'altro un CGI scritto in C, perche' sono proprio vecchio...) che
mi spara fuori in stdout un output html che viene visualizzato
all'utente. Tutto questo funziona, e' una cosa molto elementare ma
funziona.

La cosa che non mi piace, e che vorrei cambiare e' la seguente. L'utente
si trova su una pagina di AAA, tipo www.AAA.it/form.html, clicca il
pulsante di cui sopra
e gli viene visualizzata una pagina di risultati che COME INDIRIZZO in
ALTO
riporta http://www.BBB.it/cgi-bin/pippuzzo.cgi

Io, nella mia ignoranza cubitale, speravo di poter invocare in qualche
modo il CGI da javascript, salvare
l'output in una variabile e poi visualizzarlo localmente. Ma qualcuno mi
ha detto che non si possono
fare cose simili perche' per motivi di sicurezza l'output del CGI puo'
essere visualizzato solo
in una pagina con lo stesso indirizzo del programma effettivo.
sì ... si chiama SOP:
https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript
valida però solo client-side ...

Quote:
A me
sembra un po' strano che una ditta non possa avere una macchina che fa
da front-end e una che
fa i calcoli (i CGI) quindi vi chiedo con il capo cosparso di cenere
quale tipo di strumento (javascript o altro) potrei usare: non vorrei
dovermi mettere io a scrivere da zero un protocollo client-server per
fare questa cosa.
se ho ben capito:
- da aaa.it chiami la pagina server-side (sempre su aaa.it) pippo.php
- la pippo.php invoca la pagina sull'altro server (SOP, come dicevo,
vale solo client-side), riceve l'output e lo invia al client

In questo modo per il client avviene tutto nel dominio aaa.it, e solo
server-side invocherai la pagina del dominio bbb.it.

Ho capito bene?

Reply With Quote
  #3  
Old   
Alessandro CIOFANI
 
Posts: n/a

Default Re: invocazione remota cgi (attenzione: messaggio denotanteignoranza) - 10-01-2009 , 02:44 AM



Ciao, premetto che non sono un programmatore ma ho un minimo di
esperienza nel settore e spero di esserti di aiuto.
Scrivi una pagina php tipo AAA.php/form.php che vada a recuperarsi i
dati da http://www.BBB.it/cgi-bin/pippuzzo.cgi e che li presenti poi
al client ed il gioco è fatto.
Ci sono librerie php già pronte per recuperare dati attraverso il
protocollo http da una sorgente remota (www.php.net/curl)

L'ideale (applicazione web moderna) sarebbe che:
- l'output di http://www.BBB.it/cgi-bin/pippuzzo.cgi fosse una
rappresentazione del dato in XML o JSON
- AAA.php/form.php va a catturare il dato remoto e, eventualmente, lo
elabora/modifica/filtra/pagina...
- il client scritto in javascript (la pagina web che l'utente apre)
utilizza tecniche ajax per recuperare il dato da AAA.php/form.php

Nota che la SOP non viene violata in quanto il codice javascript legge
dati da AAA.php/form.php che si trova sullo stesso dominio dal quale
il codice javascript viene servito.

Tutte cose che so in teoria...infatti sto cercando un programmatore
per un lavoro e sono finito su questo gruppo!

Ciao
Ale

Reply With Quote
  #4  
Old   
enos76
 
Posts: n/a

Default Re: invocazione remota cgi (attenzione: messaggio denotanteignoranza) - 10-05-2009 , 05:51 PM



sonscemo wrote:

Quote:
Posseggo e gestisco due siti web, diciamo www.AAA.it e www.BBB.it [...]
L'utente si trova su una pagina di AAA, tipo www.AAA.it/form.html,
clicca il pulsante di cui sopra e gli viene visualizzata una pagina di
risultati che COME INDIRIZZO in ALTO riporta
http://www.BBB.it/cgi-bin/pippuzzo.cgi [...]

la cosa che non mi piace e' quel www.BBB.it che io vorrei in qualche
modo mascherare, cioe' vorrei che visto che sono partito dal sito AAA
anche l'output fosse visualizzato in AAA, tipo in una
pagina www.AAA.it/output.html generata dinamicamente partendo
dall'output del CGI fatto girare su www.BBB.it [...]

E' possibile, servono Adobe Flash, JavaScript ed un file di permessi
nella root del dominio. Cerca su google: cross domain ajax flash

Saluti
--
Enos /* looking4work */

Reply With Quote
  #5  
Old   
ZER0
 
Posts: n/a

Default Re: invocazione remota cgi (attenzione: messaggio denotante ignoranza) - 10-05-2009 , 07:34 PM



On 10/5/09 11:51 PM, enos76 wrote:

Quote:
Posseggo e gestisco due siti web, diciamo www.AAA.it e www.BBB.it [...]

E' possibile, servono Adobe Flash, JavaScript ed un file di permessi
nella root del dominio. Cerca su google: cross domain ajax flash
Questo approccio può risultare utili in diversi ambiti (tra l'altro,
i browser recenti implementano giÃ* richieste cross domain, senza che
si debba scomodare Flash), ma non in questo caso specifico.

Vista la premessa iniziale, direi che quest'opzione è da scartare. È
molto più semplice, e con zero dipendenze, farlo server side.

--
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

Reply With Quote
  #6  
Old   
enos76
 
Posts: n/a

Default Re: invocazione remota cgi (attenzione: messaggio denotanteignoranza) - 10-07-2009 , 02:23 AM



ZER0 wrote:

Quote:
Questo approccio può risultare utili in diversi ambiti (tra l'altro, i
browser recenti implementano giÃ* richieste cross domain, senza che si
debba scomodare Flash), ma non in questo caso specifico.
Ciao ZER0,
ti riferisci al cross domain scripting con JSON (che in questo caso
effettivamente andrebbe anche bene, dal momento che si è responsabili di
entrambi i domini), o a qualcos'altro, che gestisce anche i permessi?

Le implementazioni dei vari browser sono compatibili tra loro e con
eventuali bozze del w3c? Link please! :-)

Saluti
--
Enos

Reply With Quote
  #7  
Old   
ZER0
 
Posts: n/a

Default Re: invocazione remota cgi (attenzione: messaggio denotante ignoranza) - 10-07-2009 , 01:17 PM



On 10/7/09 8:23 AM, enos76 wrote:

Quote:
Questo approccio può risultare utili in diversi ambiti (tra l'altro, i
browser recenti implementano giÃ* richieste cross domain, senza che si
debba scomodare Flash), ma non in questo caso specifico.

Ciao ZER0,
ti riferisci al cross domain scripting con JSON (che in questo caso
effettivamente andrebbe anche bene, dal momento che si è responsabili di
entrambi i domini), o a qualcos'altro, che gestisce anche i permessi?
Mi riferisco a:

<http://www.w3.org/TR/access-control/>

e:

<http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx>

Dato che, si sa, IE fa le cose a modo suo.

Ci sono comunque tantissimi modi di implementare una richiesta cross
domain, con o senza l'uso di iframe, in modo "lecito" (standard).

Nota che non sto consigliando l'uso di questo approccio. Come ho giÃ*
detto, in questo scenario l'implementazione lato client è certamente
da sconsigliare, in favore di un più semplice codice lato server.

Quote:
Le implementazioni dei vari browser sono compatibili tra loro e con
eventuali bozze del w3c? Link please! :-)
Vedi su.

--
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

Reply With Quote
  #8  
Old   
enos76
 
Posts: n/a

Default Re: invocazione remota cgi (attenzione: messaggio denotanteignoranza) - 10-07-2009 , 02:49 PM



ZER0 wrote:

Quote:
ti riferisci al cross domain scripting con JSON [...] o a
qualcos'altro, che gestisce anche i permessi?

Mi riferisco a: <http://www.w3.org/TR/access-control/> [...]
Quindi basta un header per permettere AJAX cross domain, era ora.
Leggo che è supportata in modo nativo solo dalle ultimissime versioni dei
browser, quindi è meglio che mi dimentichi che esiste, per un annetto :-)

Ciao
--
Enos

Reply With Quote
  #9  
Old   
ZER0
 
Posts: n/a

Default Re: invocazione remota cgi (attenzione: messaggio denotante ignoranza) - 10-07-2009 , 02:56 PM



On 10/7/09 8:49 PM, enos76 wrote:

Quote:
ti riferisci al cross domain scripting con JSON [...] o a
qualcos'altro, che gestisce anche i permessi?

Mi riferisco a:<http://www.w3.org/TR/access-control/> [...]

Quindi basta un header per permettere AJAX cross domain, era ora.
Leggo che è supportata in modo nativo solo dalle ultimissime versioni dei
browser,
Te l'avevo scritto nel primo post; è supportata solo dai browser
recenti. L'aspetto positivo è, se non altro, che ogni browser lo
supporta giÃ* - sebbene IE faccia di testa sua.

--
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.