Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Efectivamente, suponía que por ahí iban los tiros: por el costo de implementar el protocolo "HTTPS". Pero estoy contigo, Román, en que hay que ver hasta qué punto merece la pena el desembolso. Bueno. Ya me queda más claro. Gracias.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #2  
Antiguo 09-01-2009
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Comentarios generales

Hola,

Una vez más agradezco a ambos el interés.

Roman, como dije antes; para mi el encriptar no es problema; yo hago mis propios algoritmos de esa índole desde hace mucho tiempo.

Mi problema es de conocimento del manejo con páginas Web, no de lógica de programación. En parte, ya he avanzado en la solución. Según le explicaron a una persona que trabaja conmigo, en el evento onclick de un form se puede invocar una función javascript o una clase java, ubicada en archivo separado, no visible al cliente, que se encarguen de encriptar. En eso hemos estado trabajando en la mañana pero aún no logramos que la instrucción llame a la función; vamos a tratar de contactar de nuevo a quén le dió la información para revisar la sintaxis.

Por otra parte, en cuanto a los sniffers hay un montón de gente que puede tener conocimientos al respecto. Sin ir más lejos, en la clase univeristaria de la persona que trabaja conmigo, el profesor le hizo un ejemplo detallado a todo el curso rompiendo la seguridad de un sistema y mostrando la información que viajaba al servidor. Si eso lo muestran a nivel universitario, es claro que ha demasiada gente que podría hacerlo

Respecto a https, la solución alternativa que yo uso es encriptar todo con mis propios algoritmos en un cliente escrito en Delphi. El nivel de seguridad depende del algoritmo usado y como ustedes lo plantearon depende de que tan seguro requiero una aplicación. Cuando lo hago en Delphi es muy facil; pero, en páginas Web ?

Acerca de si hash te brinda o no más seguridad que otro tipo de algoritmos, vuelvo y repito que no es el punto de la discusión. Hay varias cosas que decir ahí; pero eso es otro tema. Lo que estabamos analizando, que ni siquiera era la razón de mi nota, es si se debe encriptar o no en el cliente.

A ese respecto, vuelvo al ejemplo que puse al principio: El usuario digita su clave Pedro en el cliente; si no se encripta cuando viaje al servidor, se puede interceptar en el camino y de ahí en adelante no importa que tan seguro es lo que se haya hecho en el servidor, la puerta está abierta.
Responder Con Cita
  #3  
Antiguo 09-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por rolandoj Ver Mensaje
Según le explicaron a una persona que trabaja conmigo, en el evento onclick de un form se puede invocar una función javascript o una clase java, ubicada en archivo separado, no visible al cliente, que se encarguen de encriptar. En eso hemos estado trabajando en la mañana pero aún no logramos que la instrucción llame a la función; vamos a tratar de contactar de nuevo a quén le dió la información para revisar la sintaxis.
Disculpa, la verdad es que nos hemos ido por las ramas, aunque tampoco quedaba clara cuál era la duda. Por lo que comentas aquí, pienso que lo que estás buscando es el evento OnSubmit del formulario:

Código:
<form method='post' action='...' onsubmit='return enviar()'>
  <input type='text' name='user' id='user'>
  <input type='password' name='password' id='password'>
  ...

</form>
La función enviar() sería una función javascript que debe devolver true o false dependiendo de si son o no correctos los datos (si por ejemplo falta uno, devuelves false). En dicha función pueds llamar a tus rutinas de cifrado y aplicarlas a tus campos:

Código:
function enviar()
{
  user = document.getElementById('user');
  password = document.getElementById('password');

  user.value = cifrar(user.value);
  password.value = cifrar(password.value);

  return true;
}
Ya sé que no sería exactamente así, pero ya te das la idea. Puedes tener tus rutinas en un archivo externo, digamos cifrado.js que incluyes en tu documento html así:

<script type='text/javascript' src='cifrado.js'></script>

// Saludos
Responder Con Cita
  #4  
Antiguo 10-01-2009
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Gracias. Por ahí si es

Hola Roman,

Muchas gracias. Por ahí sí es lo que estoy buscando. Esencialmente, lo que tú muestras es el código en que estuvimos trabajando esta mañana. En la tarde estuvimos ocupados en otra cosa; pero, mañana en la mañana retomaremos el tema.

Sin embargo, a simple vista, creo que ya sé cual era el error que teníamos esta mañana. Resulta que la función que usabamos en el OnClick la habíamos tomado de un ejemplo errado, o quizás aplicaba para otra cosa, ya que ahí, el resultado que le dabamos a la función era el valor encriptado, viendo tú explicación, me doy cuenta que la función debe devolver es verdadero o falso. Mañana hago ese cambio para ver si ya funciona

Ahora bien, aunque esto es un buen avance para mí, aún hay cosas que me preocupan.

De entrada, ese enfoque basado en javascript, me genera desconfianza porque implica traer al cliente una función que llega en texto (bueno, no sé mucho de javascript; pero entiendo que es un lenguaje interpretado; por tanto lo que llega al cliente es código fuente).

Si estoy en lo cierto, caería en el paradigma general de portabilidad de internet que requiere que las cosas lleguen en texto. Puedo estar equivocado; pero eso me hace creer que sobre html no se puede desarrollar una aplicación segura que a la vez sea portable.

En mi caso, no es algo que me preocupe porque mis clientes son Windows.

La solución que me sugirió mi compañera es usar una clase compilada de Java en lugar de javascript. En principio, ya es una mejora porque según me dijo llega es un compilado al cliente. Podrían confirmarme si eso es cierto ?.

Asumiendo que lo sea, de todas formas me preocupa un poco que la clase llega aislada, en un ambiente en que el nombre de la misma es igualmente identificable en el texto, lo que facilita su aislamiento y análisis.

Para una seguridad mediana, que es lo que necesitó, pienso que sería suficiente; pero, se podría mejorar ?. Ahí si ya no se me ocurre más nada.
Responder Con Cita
  #5  
Antiguo 10-01-2009
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Hola,
Sobre desarrollo web no se mucho.
Estuve leyendo este hilo y me resultó interesante el tema. Muy a pesar de que hay cosas que no entiendo.

Hasta el momento me parece que es mejor optar por HTTPS, muy a pesar de que se necesite de cierta inversión en algún certificado. Como bien se ha señalado la pregunta en éste aspecto sería ¿Vale o representa la inversión en que se use HTTPS el nivel de seguridad que mi cliente necesita?

Ahora, por el tema de emplear javascript creo que debes tener dos cosas presente:
1. Algunas personas tienen desactivado o bloqueado el uso de scripts en sus navegadores.
2. Tengo entendido de que si uno ve el código fuente de la página recibe el código script escrito en él. En caso de hacer uso de un archivo externo .js bastaría con que uno hiciera en "guardar página web" para que entre los archivos aparezca guardado el .js y luego lo pueda abrir con un bloc de notas y leerse el "código". (1)

(1) Desconozco si realmente aparece código limpio o es una "compilación" del código. Desconozco en igual medida si es que existen alguna especies de descompiladores de JavaScript. Esto lo digo porque en algunos sitios, cuando yo hacía mis prácticas sobre web notaba que el archivo .js en algunos figuraba código limpio y en otros carácteres sin sentido.

Tal vez se puede habilitar o deshabilitar el guardar página web, o si es posible al menos evitar que se guarde el archivo .js.

¿Necesariamente debe ser html (o php, si vamos al caso)? No se..., muchos dicen que Java es una opción para web... desconozco si es verdad (no se Java) y hasta que punto emplear Java solucione las cosas; o quizá hasta tal vez considerar algo más como .NET. El asunto es ¿No puede "darsele una vuelta" al tema?

Por otro lado, no quiero molestarte pero si dices que estás muy familiarizado con las técnicas de criptografía deberías saber que el término adecuado es cifrar y no encriptar. Y no te enfades pero Hash no puede ni debe catalogarse como un medio más de cifrado. Si bien no es el tema de discusión principal del hilo, en uno de tu post aceptas al hash como una técnica más de cifrado:

Cita:
Para empezar, cuando yo hablo de cifrado o encriptación, me refiero a cualquier método con el cual, dado un dato, lo transformo en una cadena de información diferente. En ese sentido, para mi el hash es un cifrado.
Disculpame, pero me parece que es mejor llamar a las cosas por su nombre. Evita confusiones y problemas. Recuerda que este hilo puede ser de interés a otras personas y es mejor ser más puntuales y precisos con los términos a fin de que el interesado se informe debidamente y pueda continuar con su investigación de forma adecuada.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 10-01-2009
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Gracias por comentar

Hola Delphius,

Muchas gracias por colaborar. Da gusto que más personas se interesen

No me molesta la observación acerca de cifrado, y para tú tranquilidad te comento lo siguiente:

Lo que dices en cuanto a la interpretación de la palabra cifrado, me parece muy válido, si es así como ustedes están manejando el término aquí; pero, creo pertinente explicarte lo siguiente:

Yo soy de la vieja escuela, toda la vida he usado el termino cifrado y encriptación en la forma en que lo mencioné y que conocí en libros que ni siquiera eran de informática.

Si bien no soy profesor de Español, y puede haber algo que no sepa, ese uso está de acuerdo al significado que, según el diccionario, le conozco en español; lo cual incluye,entre otros el de "escritura secreta" e "ininteligible". En ese orden de ideas, el hash si es una técnica de cifrado; otra cosa, es que una comunidad le esté dando una interpretación particular.

Por lo anterior, cuando dices que es mejor llamar las cosas por su nombre, me parece que estás asumiendo como una verdad absoluta la terminología que ustedes están usando. Cuando dices que hash no puede ni debe catalogarse como un medio más de cifrado, estás pasando por alto el significado de la palabra "cifrado" en español; el cual no exige que sea posible "descifrar" lo escrito

Por lo demás, en los otros temas, estoy básicamente de acuerdo; pero hay algunos puntos que ameritan comentarios. Lo haré mañana en la tarde o en la noche
Responder Con Cita
  #7  
Antiguo 10-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Voy a hacer una pequeña disgresión:

Hace algún tiempo (bastante, de hecho) pasó por mis manos un libro de semiótica, y como en aquél entonces aún era muy dado a la lectura, comencé a hojearlo pero nunca pude terminarlo, pues luego de ver que las primeras veinte páginas discurrían acerca del significado de signo, hablando de si tal o cual escuela, o tal o cual autor entendía tal o cual cosa por signo, boté el libro exclamando para mis adentros: ¡qué manera de complicarse la vida! ¿Por qué este autor (el del libro) no simplemente dice lo que él entiende por signo y con eso trabaja?

Reconozco que mi apreciación era injusta, porque yo lo estaba viendo desde mi punto de vista científico, específicamente desde las matemáticas, en donde si bien hay ciertas definiciones, digamos, universales, con frecuencia un autor debe establecer al comienzo del texto, lo que él entiende por determinado concepto, y esto se debe a que las matemáticas son extremadamente rigurosas, por lo que siempre debe quedar claro exactamente de qué se habla.

En este sentido, doy razón a ambos, a Rolando y a Delphius: debe estar claro de qué se habla, pero las definiciones de ciertos términos pueden variar de contexto a contexto.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enviar Datos a pagina web desde delphi tocomi Internet 3 18-02-2009 23:02:59
email html desde base de datos nfrfabian Internet 2 26-01-2007 23:24:44
Como abrir una pagina html (LOCAL) desve Varios 3 23-05-2005 21:53:49
Leer desde una página <HTML> AGAG4 Varios 2 20-08-2004 02:56:43
Leer datos desde una página Web cone220 Internet 1 16-01-2004 23:03:44


La franja horaria es GMT +2. Ahora son las 23:38:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi