Repository 32bit  Forum
Repository 64bit  Wiki

emulazione git in php

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

emulazione git in php

Messaggioda ZeroUno » mer dic 07, 2011 9:13

Salve.

Ho un hosting che mi offre spazio web e sopra ci voglio mettere qualche mio sitarello che però è in fase di sviluppo e lo gestisco con git.

Ammetto di non aver provato ancora, ma non credo che l'hoster mi consenta di utilizzare il modulo mod_dav di apache, né suppongo che sul server ci sia installato (e accedibile con 'exec' di php) il pacchetto git.

Pensavo quindi se ci fosse qualche programma in php che emuli git, tipo
/git.php?init
/git.php?commit
/git.php?pull
...
...

Qualcuno ne conosce?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4304
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: emulazione git in php

Messaggioda ZeroUno » mer dic 07, 2011 11:15

wow che buco di sicurezza!!!!!!!!

la funzione 'exec' di php è abilitata; ho accesso completo al filesystem del server (con permessi di utente semplice, chiaro).

Ho compilato git sulla mia macchina (con -static e --prefix=/miahome) e funziona :-D
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4304
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: emulazione git in php

Messaggioda masalapianta » mer dic 07, 2011 16:45

se hai exec() volendo puoi pure scriverti una shell con js+php usabile da web (ma quasi sicuramente gia ne esiste almeno una)
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Re: emulazione git in php

Messaggioda ZeroUno » mer dic 07, 2011 22:32

masalapianta ha scritto:se hai exec() volendo puoi pure scriverti una shell con js+php usabile da web (ma quasi sicuramente gia ne esiste almeno una)

esiste web-console, ma dovrebbe servire l'accesso all'httpd.conf perchè è scritto in perl ma non deve essere eseguito con mod_perl di apache ma proprio con /usr/bin/perl e a quanto sembra il .htaccess non è sufficiente per le direttive da metterci.

Comunque si, ne ho improvvisata una. 2 righe di html (<form> <input>..) e 2 righe di php (exec di $_POST[..]).

Purtroppo ho un problema con git-remote-http (il backend che gestische git push http://) che non riesco a compilare staticamente perchè per le chiamate di rete (getaddrinfo, gethostbyname ecc) necessarie per l'http vanno utilizzate quelle presenti nelle glibc di sistema.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4304
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: emulazione git in php

Messaggioda shark1500 » gio dic 08, 2011 13:01

Avevo scritto qualcosa tempo fa. Sono andato a spulciare tra le mie cose e ho ancora una versione! Risale ad un anno fa (pensavo di piu`), e fa proprio quello che vuoi fare tu.
Non mi ricordo assolutamente NULLA di come funzionava, pero` funzionava (penso ;-)). Se vuoi posso inviartela o farci un repo git e poi la migliori.

Comunque se non ricordo male non avevo tenuto conto di alcuni problemi di sicurezza. Essenziamlente chiunque dopo puo` pushare nel tuo repository, quindi il file php tienilo "nascosto".
Avatar utente
shark1500
Linux 2.6
Linux 2.6
 
Messaggi: 785
Iscritto il: gio apr 03, 2008 13:33
Località: Modna
Slackware: current
Kernel: 2.6.27.7-smp
Desktop: kde

Re: emulazione git in php

Messaggioda ZeroUno » ven dic 09, 2011 8:57

Manda.
Comunque metterci una password non dovrebbe essere difficile... basta un .htaccess no?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4304
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: emulazione git in php

Messaggioda ZeroUno » ven dic 09, 2011 15:40

Git compilato su slackware 13.1 non staticamente funziona benissimo (13.1 ha glibc 2.11.1, il server ha 2.11.2)
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4304
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite