Añadir texto con Apache

Iniciado por dimitrix, 23 Agosto 2012, 03:10 AM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

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 :-)




#!drvy

#1
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 (apache) [Seleccionar]
<Directory "C:/localhost/hosting">
# Tipico .. xD
Options Indexes FollowSymLinks
AllowOverride None
# Esto lo añado para que afecte tambien a archivos .html y .htm
# ya que by default afecta solo a .php
AddType application/x-httpd-php .html .htm
# la magia xD
php_value auto_append_file "C:/localhost/header.php"
</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 (php) [Seleccionar]
<?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 (php) [Seleccionar]
<?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 (apache) [Seleccionar]
<Directory "C:/localhost/hosting">
 # Tipico .. xD
 Options Indexes FollowSymLinks
 AllowOverride None
 # Esto cambia </body> por WTF</body>
 AddOutputFilter Sed php html htm
 OutputSed "s/<\/body>/WTF<\/body>/g"
</Directory>


Saludos

dimitrix

De verdad muchas gracias, ya tengo algo por donde empezar :-)

Deberías estar trabajando en Microsoft/Google xD