https en Ruby

Páginas: 6 (1439 palabras) Publicado: 12 de abril de 2013






Seguridad de la Información

“Implementación de https en lenguaje Ruby”







1. Como se implementa en el lenguaje, pasos para la implementación 
1- Puesto que utilizar un certificado de seguridad en development puede darnos algunos problemas, lo primero es diferenciar de una manera eficaz los entornos que van a usar SSL. Así pues, en environment.rb definimos unaconstante:
SSL_ENVIRONMENTS = ['preproduction', 'production']

2- Después definimos las rutas que deben usar https en vez de http, siempre y cuando estemos trabajando en el entorno correspondiente. De este modo, al principio de routes.rb ponemos:
ROUTES_PROTOCOL = SSL_ENVIRONMENTS.include?(RAILS_ENV) ? https : http\r
Para luego definir las rutas en cuestión del siguiente modo:
#Rutas que utilizanhttp
map.with_options :protocol => 'http' do |http|
http.root :controller => pages, :action => show\r
end
#Rutas que utilizan https (en función del entorno de trabajo)
map.with_options :protocol => ROUTES_PROTOCOL do |https|
https.prepare_payment '/compra/paso_1',
:controller => 'payment_attempts', :action => 'prepare'
https.check_payment '/compra/paso_2',
:controller =>'payment_attempts', :action => 'show'
End

3- En vez de usar route_name_path hay que usar route_name_url. Esto es así debido a que con ‘_path’ siempre usamos rutas relativas (del tipo ‘/compra’, por ejemplo), lo cual no interesa, puesto que estaríamos manteniendo siempre el protocolo actual, ya sea http o https. Por ello debemos usar ‘_url’, que utilizará siempre el protocolo adecuado para cada ruta, segúnhemos indicado en el fichero de rutas.
2. Cual web server y porque se selecciono ese web server
Apache es usado principalmente para enviar páginas web estáticas y dinámicas en la Internet.
Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposición en una forma segura y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal haciaInternet. Un usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raíz de documentos de Apache, desde donde pueden ser compartidos.
Y es utilizado porque los programadores de aplicaciones web a veces utilizan una versión local de Apache con el fin de pre visualizar y probar código mientras éste es desarrollado.

3. Utiliza algún framework 
Ruby onRails, también conocido como RoR o es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje deprogramación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a través de RubyGems, que es el formato oficial de paquete y canal de distribución de bibliotecas y aplicaciones Ruby

4. Por que se selecciono ese framework
Los principios fundamentales de Ruby on Rails incluyen No terepitas (del inglés Don't repeat yourself, DRY) y Convención sobre configuración.
No te repitas significa que las definiciones deberían hacerse una sola vez. Dado que Ruby on Rails es un framework de pila completa, los componentes están integrados de manera que no hace falta establecer puentes entre ellos. Por ejemplo, en ActiveRecord, las definiciones de las clases no necesitan especificar losnombres de las columnas; Ruby puede averiguarlos a partir de la propia base de datos, de forma que definirlos tanto en el código como en el programa sería redundante.
Convención sobre configuración significa que el programador sólo necesita definir aquella configuración que no es convencional. Por ejemplo, si hay una clase Historia en el modelo, la tabla correspondiente de la base de datos es...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ruby
  • Ruby
  • Ruby
  • ruby
  • RUBY
  • ruby
  • Ruby
  • Ruby

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS