Foros del Web » Programando para Internet » PHP »

PHP include y trabajo seguro

Estas en el tema de PHP include y trabajo seguro en el foro de PHP en Foros del Web. Buenas, hay alguna manera de incluir un archivo desde otro servidor? require("http://www.dominio.com/script.php"); desde luego que no quiero incluir el archivo final interpretado ya, sino las ...
  #1 (permalink)  
Antiguo 16/07/2006, 16:54
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
PHP include y trabajo seguro

Buenas, hay alguna manera de incluir un archivo desde otro servidor?

require("http://www.dominio.com/script.php");

desde luego que no quiero incluir el archivo final interpretado ya, sino las lineas de programación como si se tratar de una inclusion que hago como sui estuviera en mi porpio servidor.

GRACIAS
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 16/07/2006, 17:17
 
Fecha de Ingreso: mayo-2006
Ubicación: Argentina (Buenos Aires,CABALLITO)
Mensajes: 331
Antigüedad: 17 años, 11 meses
Puntos: 9
y no,no se puede,porque entonces hariamos de un foro por ej
include "servidor.com/config.php";

:s
  #3 (permalink)  
Antiguo 16/07/2006, 17:34
Avatar de Infernal  
Fecha de Ingreso: septiembre-2004
Ubicación: Tamaulipas, Mexico
Mensajes: 124
Antigüedad: 19 años, 7 meses
Puntos: 0
si es tuya la otra pagina podrias crear la pagina sin las etiquetas <? ?> y poner el codigo visible, pero seria un riesgo de seguridad si tienes datos importantes en ese archivo.
  #4 (permalink)  
Antiguo 16/07/2006, 18:08
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Claro que lo del config lo imagine RESU, sin embargo pense que habria alguna manera desde luego evitando esto... lo de quitar los tags <? ?> no me sirve por el bug de seguridad que pueda generar... explico lo que quiero:

tengo dos cuentas de hosting:

A y B

A es mi hosting B es la de un cliente que me contrata pagandome mes a mes una cuota mensual (OJO no adquiere lo que yo le hago solo lo "arrienda") lo que quiero es gaurdar en mi servidor parte del codigo de mucha importancia de tal forma que sin el no funcione el resto del sitio y que tampoco consuma mucho ancho de banda de mi servidor, por ejemplo algunas consultas etc. lo que no quiero es que sacando un BACUP del sitio puedan recuperar los datos y copntinuar funcionando en el caso de que yo ejecute algun script de autoborrado.

no se si alla alguna manera por ejemplo:

tener ene le servidor mio A:

<?
$var= "perdido";
?>

y en el servidor B hacer:
<?
//incluir el archivo del servior A
echo $var;
?>

desde luego que no puedo quitar los tags ni mostrar el codigo pues si la persona sabe un poquito como es mi caso podría ver el codigo que estoy tratando de ocultarle.

UN saludo agradezco su ayuda
__________________
SEO en Medellin
  #5 (permalink)  
Antiguo 16/07/2006, 19:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Lo que puedes es manejar una "licencia" y ver si tu hosting te puede proveer del Zend Accelerator para que subas tus codigos "encryptados" y asi puedas ponerle un como "limite de tiempo" para que si no te paga el sistema expira.
  #6 (permalink)  
Antiguo 16/07/2006, 20:03
 
Fecha de Ingreso: mayo-2006
Ubicación: Argentina (Buenos Aires,CABALLITO)
Mensajes: 331
Antigüedad: 17 años, 11 meses
Puntos: 9
mmm,el archivo ese se modifica automaticamente o algo? podrias ponerle extension por ej .php5 y indicarle al apache que no deje entrar gente a archivos .php5 al menos que el dominio venga de tu dominio,no se si me explico
  #7 (permalink)  
Antiguo 16/07/2006, 20:16
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
el server no me permite la encirptacion como me lo indicas... lo otro es que si hacen un echo pueden ver el código...

se que es mucho obstaculo... pero no se si alguien se halla tenido que entrentar a ello.

se los agradezco mucho
__________________
SEO en Medellin
  #8 (permalink)  
Antiguo 16/07/2006, 20:45
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
y una conexión ftp?
dejás los archivos como texto, le decís al servidor que niegue el acceso (mediante el .htaccess) y vos entrás por ftp....
Luego lo combinás con eval() si es necesario.

¿no te serviría?


Saludos.
  #9 (permalink)  
Antiguo 16/07/2006, 20:58
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
no lo se...

cualqueir persona podría ingresar via FTP y sacar los archivos, no entiendo muy bien lo que me dices, quicieras hacerme el favor (Si puedes claro esta) de explicarme bien como sería?
__________________
SEO en Medellin
  #10 (permalink)  
Antiguo 17/07/2006, 06:19
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
¿eh? ¿y para qué usarías un ftp público? estoy hablando de una cuenta ftp con nombre de usuario y contraseña en el servidor A.
Luego, en el .htaccess, ponés algo como esto, suponiendo que los archivos php estén en una carpeta de nombre 'php':

Redirect 404 php/

Así, a cualquiera que intente ingresar con su navegador en la carpeta php, se le redirige un (falso) error 404 de archivo no encontrado.

fijate en www.php.net/ftp para saber más sobre las conexiones ftp en php.


Saludos.
  #11 (permalink)  
Antiguo 17/07/2006, 11:00
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Bueno, lo que digo es que alguien entra al script y ve las calves del FTP luego podra entrar via FTP y descargar los archvios de la carpeta.

Sigo siciendo que son muchas trabas, pero si a alguien se le ocurre un metodo mejor será bienvenido
__________________
SEO en Medellin
  #12 (permalink)  
Antiguo 17/07/2006, 12:58
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
¿alguien entra al script? a qué te referís con "alguien"? el php nunca llega a los navegadores, si el acceso ftp lo tenés en un archivo php, no debería ser un problema....

Si yo tengo el archivo ftp.php, con las siguientes líneas:
Código PHP:
<?php
$usuario 
'tu usuario';
$contrasenia 'tu contraseña';
Y alguien pone www.midominio.com/ftp.php, simplemente recibirá un documento en blanco....


Saludos.
  #13 (permalink)  
Antiguo 17/07/2006, 15:54
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
si lo se, pero emr efiero es si alguien entra ala rchivo en el servidor B, podra ver los datos de acceso al ftp... y entrar al ftp del servidor A y sacar los archivos.
__________________
SEO en Medellin
  #14 (permalink)  
Antiguo 17/07/2006, 16:55
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
¿estás planteando que alguien se meta en el servidor? eso ya escapa del funcionamiento normal, y otras son las medidas de seguridad que deberías tomar.... no es una situación normal....
  #15 (permalink)  
Antiguo 17/07/2006, 18:12
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
NO NO, desde luego que no... mira suponte que el script con los datos que quiero esconder los tengo en el servidor A es decir el mio.


desde le servidor B (Si te entendi bien) que es el serviodr del cliente, debo de extrar los datos del servidodr A (El mio) para ello debo ingresar los datos de acceso por FTP del Serviodor A es decir mi servidor donde estan los datos que quiero esconder.... si en el servidor B estan los datos de acceso via ftp del servidor A , entonces cualqueir persona (en este caso mi cliente que tiene algo conocimiento ) podra ingresar al script que hace la conexion FTP y sacar los datos de acceso Via ftp de mi serviodr, entrar a mi servidor "a" y sacar los script via FTP

no se si me hago entender, y tampoco se si a eso es lo que te refieres.
__________________
SEO en Medellin
  #16 (permalink)  
Antiguo 17/07/2006, 18:48
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
bueno, ahora sí nos estamos entendiendo
No había leído esa parte del primer mensaje, más bien leí lo primero y me salté el resto, te pido disculpas.

Ahora otra pregunta: ¿el acceso debe ser automático? ¿debe ser constante? o acaso el código se descarga en un día específico y se usa por X días?
Porque en el segundo caso, podrías hacer que el programa 'cargador' requiera alguna clase de autentificación, por ejemplo.

¿has pensado en hacerlo al revés? quizás configurando los permisos podrías enviar por ftp desde tu servidor.... o al menos configurar una tarea del sistema que se conecte con el ftp de línea de comandos al servidor de tu cliente y mande los archivos...

Por favor aclará si la conexión tiene que ser permanente o cada cierto tiempo.


Saludos
  #17 (permalink)  
Antiguo 17/07/2006, 19:03
Avatar de arolet  
Fecha de Ingreso: julio-2006
Mensajes: 2
Antigüedad: 17 años, 9 meses
Puntos: 0
Lo que podrias hacer es crear el php (con tags i todo) en el Servidor A (yo normalmente le creo las funciones que quieras hacer servir) haces el include en el php del servidor B i de alli llamas a las funciones. Yo tengo paginas creadas asi i me funcionan.
  #18 (permalink)  
Antiguo 17/07/2006, 20:38
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Como dice arolet podrían hacerse algunas cosas, pero sería bastante engorroso (tal vez sea la única alternativa que tengas en este caso si tenés que hacer las cosas así, sí o sí). El problema es que, por ejemplo, no vas a poder llamar desde un script en el server A (de tu cliente) a funciones que estén definidas en un script en el server B (el tuyo).

Lo máximo que podrías hacer, se me ocurre, es pasar determinados parámetros desde A y hacer las llamadas correspondientes en B. Algo así, por ejemplo.

Script en el server B (tuyo) test.php

Código PHP:
<?php
function test($str) {
    return 
$str;
}
if (
$_GET['accion'] == "llamarTest") {
    echo 
test($_GET['arg']);
}
?>
Script en el server A (cliente) t.php

Código PHP:
<?php
$qs 
'accion=llamarTest&arg=hola';
include 
'http://www.serverB.com/test.php?' $qs
// imprime "hola" o el arg que se le pase en el html generado por el server A
?>
o, lo mismo, pero levantando los parámetros desde el server A (por querystring, por ej)
Código PHP:
<?php
// Suponiendo que pases por querystring '?accion=llamarTest&arg=hola';
$qs $_SERVER['QUERY_STRING'];
include 
'http://www.serverB.com/test.php?' $qs
// imprime "hola" o el arg que se le pase en el html generado por el server A
?>
Aunque, la verdad, aún teniendo todo el código del server B bien estructurado y limpio, como sistema me parece como para volverse loco...

Pero otra vuelta, no le veo.

Suerte
Califa
  #19 (permalink)  
Antiguo 18/07/2006, 08:15
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
bueno respondo primero las preguntas de alvlin y agradezco mucho su interes:
las llamadas son constantes, es decir, cada vez que cargue las páginas, se hara una llamada al codigo que quiero ocultar (y la pagina será cargada muchas veces pues se pretende tener muchas visitas).

por otro lado lo de hacer el include no me sirve por que la hacer un include remoto lo que obtengo es la salida HTML que da el navegador y no las funciones y variables en PHP, sin embargo quiciera saber si alguien conoce de algun codigo que podría poner en mi server a un pagina por ejemplo "codigo_oculto.php" para que solo arroje el codigo oculto cuando se trate de una consulta del server B (El de mi cliente) mas no de una consulta de un usuario (una persona), y tambien si hay alguna manera de evitar que un información sea sacada en pantalla mediante echo o printf (Dudo mucho que se pueda evitar)
__________________
SEO en Medellin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:50.