Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: dimitrix en 23 Agosto 2012, 03:10 am



Título: Añadir texto con Apache
Publicado por: dimitrix en 23 Agosto 2012, 03:10 am
Pues me gustaría saber si alguien sabe como añadir texto a los documentos .php y .html desde algún .htaccess

Es exactamente lo mismo que en miarroba que te dan un hosting básico gratuito, puedes subir cualquier web pero a cambio te añaden (automáticamente) una línea de un .js cada vez que la web es visualizada (aunque no se guarda nada en el fichero que has subido tú).

Actualmente me sobran unos cuantos servidores y poco a poco me gustaría regalar hosting básicos :-)


Título: Re: Añadir texto con Apache
Publicado por: #!drvy en 23 Agosto 2012, 04:12 am
Insertar contenido directamente desde apache hasta donde yo se no es posible.

Lo que si puedes hacer es usar el auto_append_file y auto_preppend_file de PHP en un htaccess bajo el php_value.

auto_append_file -> Inserta contenido después del final del otro archivo.
auto_prepend_file -> Inserta contenido antes del principio del otro archivo.

De ser así, si por ejemplo en el httpd.conf ponemos esto:

Código
  1. <Directory "C:/localhost/hosting">
  2. # Tipico .. xD
  3. Options Indexes FollowSymLinks
  4. AllowOverride None
  5. # Esto lo añado para que afecte tambien a archivos .html y .htm
  6. # ya que by default afecta solo a .php
  7. AddType application/x-httpd-php .html .htm
  8. # la magia xD
  9. php_value auto_append_file "C:/localhost/header.php"
  10. </Directory>

Suponiendo que C:/localhost/hosting es donde van a estar los archivos del hosting y el usuario normal no tiene acceso a carpetas/archivos superiores.. C:/localhost/footer.php seria el archivo que contendrá la información que nosotros queremos insertar.

Supongamos que footer.php tiene lo siguiente.

Código
  1. <?php die('hola');?>

Y ahora voy a C:/localhost/hosting y creo un archivo al que llamare index.php con el siguiente contenido:

Código
  1. <?php echo 'kkk'; '>

El resultado seria:
kkkhola

Porsupuesto, esto seria un lio.. si lo añades al principio le puedes joder algo y si lo añades al final = te hace un die antes de terminar y te cagas en el ... xD

Si se me ocurre algo mejor te comento xD

EDIT:

Igual mod_sed te sirve.
Supuestamente es experimental asi que no se si el hosting lo tendrá activado/instalado.. eso tendrás que mirarlo.

Mas info: http://httpd.apache.org/docs/trunk/en/mod/mod_sed.html

Ejemplo:

Código
  1. <Directory "C:/localhost/hosting">
  2.  # Tipico .. xD
  3.  Options Indexes FollowSymLinks
  4.  AllowOverride None
  5.  # Esto cambia </body> por WTF</body>
  6.  AddOutputFilter Sed php html htm
  7.  OutputSed "s/<\/body>/WTF<\/body>/g"
  8. </Directory>

Saludos


Título: Re: Añadir texto con Apache
Publicado por: dimitrix en 23 Agosto 2012, 14:16 pm
De verdad muchas gracias, ya tengo algo por donde empezar :-)

Deberías estar trabajando en Microsoft/Google xD