Herramientas Informaticas

Categoría: Sin categoría Página 30 de 51

Falta de compromiso en seguridad por parte de desarrolladores web

El proveedor de software Coverity ha liberado su reporte de riesgos de seguridad de software, el cual afirma que menos de dos quintas partes de compañías de desarrollo web se encargan de realizar pruebas durante el ciclo de desarrollo y que más de la mitad rechaza verificar sus códigos de fallos y vulnerabilidades de seguridad antes de las pruebas de integración.

 

clip_image002

 

De acuerdo al estudio, el resultado se traduce en más incidentes de seguridad en aplicaciones web y con más frecuencia, dando lugar a mayores costos generales.

La empresa especializada en el aseguramiento de calidad de software en EUA comisionó a la consultora Forrester llevar a cabo el estudio sobre la seguridad de las aplicaciones y pruebas. En julio, Forrester encuestó a 240 personas con grado de influencia que trabajan en empresas de desarrollo web de Europa y Norte América.

Mas del 70% de encuestados quienes habían experimentado previamente un incidente de seguridad se quejaron de una falta de tecnologías y procesos de seguridad para sus desarrolladores.

También hubo problemas con la escalabilidad y el presupuesto con una gran mayoría del 79% diciendo que no podían seguir el ritmo con volúmenes de código en aumento y más de dos terceras partes dicen que el financiamiento de la seguridad es insuficiente. 41% considera  que debido a un corto tiempo del lanzamiento al mercado se ven obligados a restar prioridad a la seguridad.

Unicamente el 42% cumplía con directrices de codificación segura y menos de un tercio contaba con una biblioteca de funciones autorizadas y prohibidas. Solo alrededor de una cuarta parte utilizó el modelado de amenazas durante el desarrollo.

Más de la mitad de los encuestados habían sufrido al menos una brecha de seguridad en los últimos 18 meses. El 18% había sufrido pérdidas de $500 mil dólares y un 8% sufrió pérdidas  de más de $1 millón de dólares.

La pobre integración con sus entornos de desarrollo, demasiada experiencia de seguridad requerida y un gran número de falsos positivos fueron citados como los tres más grandes desafíos al tratar con herramientas de seguridad para aplicaciones web. Aunque algunos de los expertos en seguridad encuestados estuvieron de acuerdo en que la integración de herramientas es un desafío, no creen que las herramientas de seguridad sean demasiado complejas o requieran  de mucha experiencia.

Fuente: The H Security OM

Cómo responder a un ataque de “Denegación de Servicio”

 

 

clip_image001No se puede evitar un abrumador ataque DDoS, pero se puede minimizar su impacto. He aquí cómo.

Los ataques de denegación de servicio (DoS) -particularmente el ataque distribuido de denegación de servicio (DDoS)-  han afectado a muchas empresas recientemente, desde Sony hata el Bank of America. 

Durante años, la mayoría de las compañías amortizaron los ataques DoS, como un riesgo aceptable, ya que la probabilidad de convertirse en víctima era relativamente bajo y el riesgo de daño a la empresa también lo era. Recientemente, sin embargo, esta clase de ataque ha aumentado en popularidad, haciendo que muchas organizaciones reconsideren el riesgo relativo. Directores ejecutivos están preocupados por la pérdida de ingresos y la mala prensa, las TI se preocupan por las aplicaciones bloqueadas y largas horas de trabajo.

Aunque no se puedan prevenir todos los ataques DDoS, hay opciones para limitar su eficacia y permitir que su organización se recuperé más rápido. En la mayoría de los recientes ataques contra aplicaciones Web, los atacantes simplemente envian más solicitudes que la aplicación Web puede manejar, lo que dificulta a los visitantes el utilizarla.

En este tipo de ataques, la mayoría de los atacantes no están preocupados por si el sistema y la aplicación se bloquea en realidad, aunque estarían felices si se produce un bloqueo. Su principal objetivo es evitar que los servicios ofrecidos por la compañía apuntada, responda a las peticiones de los usuarios legítimos, causando problemas para la empresa víctima.

Si usted tiene un control adecuado de la tecnología, estos ataques son fáciles de detectar. Su Network Operations Center (NOC) estará en status quo para el ancho de banda, las solicitudes por segundo y el uso de recursos del sistema con tendencia normal. Entonces, ya sea repentina o después de una pequeña cantidad de tiempo, todas estas tendencias se disparan hacia arriba, se alcanzará los umbrales, y las alertas se enviarán por el sistema de monitoreo.

En una organización típica, estos eventos darán lugar a una escalada en el NOC, y el equipo de TI se apresurará a conseguir a la gente indicada. Gestión recibirá un aviso de que los sitios y las aplicaciones están respondiendo inusualmente, y todos se preguntarán que por qué hay un gran aumento en las solicitudes en un período de tiempo tan corto.

A menos que su sitio haya sido mencionado en la portada de Slashdot, lo más probable es que usted esté experimentando el comienzo de un ataque DDoS. ¡Felicitaciones! Usted es ahora parte del club de las organizaciones que han sido objeto de un ataque DDoS -generalmente porque los atacantes no son seguidores de sus políticas corporativas, o porque se les paga para que ataquen.

El primer paso es analizar los registros de solicitudes.

Leer el resto de este artículo aquí.

Los problemas de seguridad dan a muchas empresas la pausa para que consideren migrar parte de sus operaciones de TI a servicios basados ​​en la nube. Pero se puede mantener la seguridad en la nube. En este informe del Centro de Lectura Dark Tech, que explicará los riesgos y le guiará en el establecimiento de políticas adecuadas de seguridad en la nube, los procesos y controles.

Leer el reporte de Dark Reading (Requiere de un registro gratuito para consultar).

Fuente: Information Week  JRS/GC

Aplicaciones web inseguras, la más grande amenaza de datos.

La mayoría de las empresas, a pesar de tener numerosas aplicaciones de misión crítica accesible a través de sus sitios web, fallan al asignar suficientes recursos financieros y técnicos para asegurar y proteger las aplicaciones Web, dejando los datos corporativos vulnerables al robo. Este es uno de los resultados de un estudio de Imperva, WhiteHat Security y el Instituto Ponemon.

clip_image001

Segun el estudio, la mayoría de los encuestados cree que las aplicaciones Web inseguras representan la mayor amenaza a los datos corporativos. Sin embargo, el 70 por ciento señaló que sus organizaciones no consideran la aplicación de seguridad como una iniciativa estratégica, ni tampoco creen que sus organizaciones tienen suficientes recursos específicamente en el presupuesto en la seguridad de aplicaciones Web para enfrentar el riesgo.

El estudio encontró que sólo el 18 por ciento de los presupuestos de TI en seguridad fueron asignados para hacer frente a la amenaza planteada para aplicaciones Web inseguras, mientras que el 43 por ciento de los presupuestos de TI en seguridad fueron asignados a las redes y seguridad de host, las áreas encuestadas parecían ser de menos preocupación.

De las 10 violaciones de datos en 2009, según la Organización de Derechos de Privacidad, el 93 por ciento de los registros comprometidos fueron robados como resultado de ataques maliciosos o criminales contra las aplicaciones Web y bases de datos – la mayoría de las empresas aún siguen estando muy expuestas.

clip_image002

El estudio de Ponemon reveló que el 61 por ciento de las organizaciones mencionaron tener hasta 100 aplicaciones Web expuestas al publico que realizan transacciones o accesan a millones de registros de clientes. Y además, la mayoría de las organizaciones no ha hecho una aplicación de seguridad de alta prioridad. La encuesta encontró que la gran mayoría de los desarrolladores están demasiado ocupados para responder a las cuestiones de seguridad Web.

“La mayoría de las más grandes y recientes violaciones de datos hasta la fecha han sido el resultado de los ataques contra las aplicaciones Web”, explicó Jeremiah Grossman, fundador de CTO y WhiteHat. “Para hacer frente a las amenazas cibernéticas actuales, las empresas deben cambiar su estrategia de seguridad – y presupuestos – de ser predominantemente basada en las infraestructuras y dar prioridad a los datos y aplicaciones directamente.

Recomendaciones

*No se puede asegurar lo que no sabe que posee – un inventario de sus aplicaciones Web para obtener mayor visibilidad de los datos que están en riesgo y donde los atacantes pueden explotar el dinero o los datos de la transacción.

*Asignar un defensor – Designe a alguien que puede impulsar y dirigir la seguridad de datos y esté altamente capacitado para dirigir numerosos equipos de soporte. Sin rendición de cuentas, la seguridad y el cumplimiento, sufrirán.

*No espere a que los desarrolladores tomen cargo de la seguridad – Implementar tecnologías de protección para mitigar el riesgo de vulnerabilidad en las aplicaciones Web.

*Cambie el presupuesto de la infraestructura para la seguridad de aplicaciones Web – Con la asignación de recursos, el riesgo empresarial puede ser dramáticamente reducido.

El estudio de Ponemon encuestó a 627 profesionales de TI y a más de 400 empresas multinacionales y organizaciones gubernamentales.

Fuente: Help Net Security  CLA/RS

Aplicaciones web experimentan más de 2,700 ataques por año

La media anual de incidentes de ataques a las 50 aplicaciones web monitoreadas fue de 274 veces por año, uno de los objetivos fue atacado más de 2,700 veces.

 

clip_image001

 

De acuerdo a un nuevo reporte de Imperva, el incidente de ataque promedio en las aplicaciones web observadas, duró 7 minutos y 42 segundos, pero el incidente de ataque más duradero fue de una hora y 19 minutos. Inyección SQL siguie siendo el vector de ataque más popular.
“Estos hallazgos indican una diferencia significativa entre un incidente promedio de ataque a aplicaciones web y el de mayor alcance”, dijo Amichai Shulman, Director de Tecnologías de Información en Imperva. “Creemos que las organizaciones que están preparadas solamente para un incidente promedio de ataque pueden ser seriamente afectadas por incidentes de ataque más grandes”.

El Reporte de Ataques a Aplicaciones Web (WAAR por sus siglas en inglés), creado como parte de la ya puesta en marcha Iniciativa de Inteligencia Hacker de Imperva, ofrece una visión de tráfico malicioso de ataques reales a 50 aplicaciones web en un periodo de seis meses, de diciembre de 2011 a mayo de 2012.

Imperva monitoreó y categorizó numerosos ataques individuales a través de Internet, así como ataques dirigidos a diferentes aplicaciones de empresas y de gobierno. El WAAR destaca la frecuencia, tipo y lugar de origen de cada ataque para ayudar a profesionales de la seguridad a priorizar la reparación de las vulnerabiliades.
Datos destacados del reporte incluyen:
SQL sigue siendo el vector de ataque más común: Imperva revisa y condensa las características acumulativas de vectores de ataque a aplicaciones web, incluyendo inyecci?o SQL, cross-site scripting (XSS), RFI y LFI, y observa que la inyección SQL es el ataque más comunmente usado para las 50 aplicaciones web observadas.
Se incrementa la intensidad de los ataques: Las aplicaciones comunmente verán sólo alguna acción de ataque serio aproximadamente cada tercer día y durante pocos minutos, pero los ataques pueden afectar a la aplicación si las defensas están preparadas solo para una intensidad de ataque promedio.
Francia lidera inyección SQL: Como se reportó en el WAAR anterior, la mayoría de las peticiones y ataques se originaron en EUA, países de Europa occidental, China y Brasil. Sin embargo, Francia se ha convertido en el principal origen de ataques de inyección SQL, siendo el volumen de ataque de peticiones originadas en Francia casi 4 veces más grande que el de EUA.
“El campo de batalla en la red parece mucho más una misión de protección de la frontera que una guerra mundial; la mayor parte del tiempo pasan pocas cosas, pero una que otra vez se presenta un estallido de ataques”, dijo Shulman. “Independientemente de la frecuencia de ataques y periodos de paz, creemos que las organizaciones necesitan estar preparadas para estas ráfagas de actividad durante incidentes de ataque”.

El reporte completo se encuentra disponible (en inglés) aquí.

Fuente: NetSecurity JS

Aplicaciones Web: nueva vulnerabilidad para la delincuencia informática

Las aplicaciones comunes incluyen correo electrónico, ventas en línea, subastas en línea, redes sociales, wikis, así como muchas otras funciones.

clip_image001

Durante una charla con Mandeep Khera, director ejecutivo de marketing de Cenzic Inc., comentó que según Cenzic Inc. y el Instituto Ponemon, 73% de las empresas tienen aplicaciones web inseguras, las cuales han sido vulneradas por lo menos una vez en los últimos 24 meses, sin embargo, las empresas gastan más en café al año que lo que gastan en la seguridad de sus aplicaciones web. Estas empresas se fían de sus firewalls de red para proteger su sitio web, pero esto es como usar un escudo de cartón en una lucha a espada.

Mandeep preguntó, “Si usted supiera que los ladrones se escabullen repetidamente a través de una puerta rota, ¿no le gustaría reparar esa puerta?”. Sin embargo, la mayoría de estas empresas prueba menos del 10% de sus aplicaciones contra huecos de seguridad, incluso después de ataques conocidos.

Según Mandeep, “El hacking ofrece buen dinero. El ingreso promedio mensual para un hacker es de $10,000.00 dolares. Y las empresas llevan décadas tratando de poder detener los ataques de estos piratas informáticos y los problemas que crean”. Las empresas tienen que empezar a invertir aún más en lo que respecta a la seguridad en línea.

Esto es lo que nosotros como consumidores podemos hacer para protegernos a nosotros mismos en línea:

  • Cuidar debidamente la observación de los sitios y asegurarse de que no sean falsos.
  • No hacer clic en los anuncios o ventanas emergentes.
  • Permitir ventanas emergentes sólo para sitios de confianza.
  • Actualizar su navegador a la última versión.
  • Buscar a través de Google para ver si un sitio es generalmente seguro.
  • Utilizar un número virtual de tarjeta de crédito que pueda caducar de inmediato.
  • Ejecutar software anti-spyware frecuentemente.
  • Utilizar un software de limpieza para eliminar las cookies.
  • Utilizar un buen anti-virus en su equipo.

Fuente: Computer Crime Research Center  JS/GC

Ejemplo de validación de formularios con JQuery

 

Código fuente del formulario

Descargar JQuery traducidos Aqui

   1: <html>

   2:     <head>

   3:         

   4:         

   5:         <?php $jjq = base_url()."js/jquery-latest.js";

   6:               $jja = base_url()."js/jquery.validate.js";

   7:     

   8:     echo "&lt;script src='$jjq'></script>
   1: ";

   2:     echo "<script src='$jja'>

   1: ";

   2:     

   3:     ?>

   4:  

   5:         <style type="text/css">

   6:  

   7:             * { font-family: Verdana; font-size: 96%; }

   8:             label { width: 10em; float: left; }

   9:             label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }

  10:             p { clear: both; }

  11:             .submit { margin-left: 12em; }

  12:             em { font-weight: bold; padding-right: 1em; vertical-align: top;                     }

  13:         

  14:               

  15: 

  16:  

  17: function validar(esto){ 

  18: valido=false; 

  19: for(a=0;a<esto.elements.length;a++){ 

  20: if(esto[a].type=="checkbox" && esto[a].checked==true){ 

  21: valido=true; 

  22: break 

  23: } 

  24:  

  25: } 

  26: if(!valido){ 

  27: alert("Chequee una casilla!");return false 

  28: } 

  29:  

  30: }  

  31:  

  32:  

</script>

   1:   

   2:             <script type="text/javascript">

   3:  

   4: $(document).ready(function(){

   5: $("body div:last").remove();

   6: });

</script>

   1:  

   2:  

   3:          

   4:   $(document).ready(function(){

   5:  $("#registro").validate({

   6:   rules: {

   7:     nom_usu: {

   8:       required: true,

   9:       maxlength: 25,

  10:       minlength:    3

  11:     },

  12:     

  13:     login: {

  14:       required: true,

  15:        maxlength: 2,

  16:       minlength:    2,

  17:       number: true

  18:     },

  19:     

  20:     psw: {

  21:       required: true,

  22:        maxlength: 10,

  23:       minlength:    6,

  24:       number: true,

  25:       equalTo: "#psw1"

  26:  

  27:     },

  28:     

  29:     psw1: {

  30:       required: true,

  31:        maxlength: 10,

  32:       minlength:    6,

  33:       number: true

  34:  

  35:     },

  36:     

  37:     acceso: {

  38:       required: true

  39:     },

  40:     

  41:     

  42:     status: {

  43:       required: true

  44:     }

  45:   }

  46: });

  47:  

  48:   });

  49:   

</script>

   9:   

  10:   <style>

  11:       label{

  12:         width:150px;

  13:         display: inline-block;

  14:     }

  15:   </style>

  16:   

  17: </head>

  18: <body>

  19:   <div id="container" align="center">

  20:   

  21:   

  22:   <form id="registro" name="registro" onclick="return validar(this)" action="&lt;?=base_url()?>index.php/users/addUser" method="POST">

  23:     

  24:     

  25:     <b><label for="login">Usuario:</label></b>

  26:     <input type="text" name="login" id="login" onchange=""/> <br />

  27:     

  28:     

  29:     <b><label for="nom_usu">Nombre:</label></b>

  30:     <input type="text" name="nom_usu" id="nom_usu"/><br />

  31:     

  32:     <b><label for="psw">Contraseña</label></b>

  33:     <input type="password" name="psw" id="psw" /><br />

  34:     

  35:     

  36:     <b><label for="psw1">Repite contraseña</label></b>

  37:     <input type="password" name="psw1" id="psw1"/><br />

  38:     

  39:     <b><label>Tipo de usuario</label></b>

  40:     <select name="acceso" id="acceso">

  41:         <option value="0">Registrado</option>

  42:         <option value="1">Administrador</option>

  43:     

  44:     </select>

  45:     <br />

  46:     <br />

  47:     

  48:     <b><label>Estado de usuario</label></b>

  49:     Activado<input type="radio" name="status" id="status" value="1"/>

  50:     Desactivado<input type="radio" name="status" id="status" value="0"/>

  51:     

  52:     <br />

  53:     <br />

  54:     <br />

  55:     

  56:     

  57:     <b><label for="local">Llamadas locales</label></b>

  58:     <input type='checkbox' name="local" id="local" value='1' /> 

  59:     <br />

  60:     <br />

  61:     

  62:     <!--

  63:     Llamadas locales

  64:     Activadas

  65:     Desactivadas

  66:     

  67:     
-->

  68:     

  69:     <b><label for="ld_nacional">Llamadas a larga distancia nacional</label></b>

  70:     <input type='checkbox' name="ld_nacional" id="ld_nacional" value='1' />

  71:     <br />

  72:     <br />

  73:     <br />

  74:     <!--

  75:     Llamadas a larga distancia nacional

  76:     Activadas

  77:     Desactivadas

  78:     

  79:     

  80:     
-->

  81:     

  82:     <b><label for="cel_local">Llamadas a celular <br />local   </label></b>

  83:     <input type='checkbox' name="cel_local" id="cel_local" value='1' />

  84:     <br />

  85:     <br />

  86:     <br />

  87:     

  88:     <!--

  89:     Llamadas a celular 
local

  90:     Activadas

  91:     Desactivadas

  92:     

  93:     

  94:     
-->

  95:     

  96:     

  97:     <b><label for="cel_ld">Llamadas a celular a larga distancia</label></b>

  98:     <input type='checkbox' name="cel_ld" id="cel_ld" value='1' />

  99:     

 100:     <br />

 101:     <br />

 102:     <br />

 103:     

 104:     <!--

 105:     Llamadas a celular a larga distancia

 106:     

 107:     Activadas

 108:     Desactivadas

 109:     

 110:     

 111:     
-->

 112:     

 113:     <b><label for="internacional">Llamadas internacionales</label></b>

 114:     <input type='checkbox' name="internacional" id="internacional" value='1' />

 115:     <br />

 116:     <br />

 117:     <br />

 118:     <!--

 119:     Llamadas internacionales

 120:     Activadas

 121:     Desactivadas

 122:     

 123:     

 124:     

 125:     -->

 126:     

 127:  

 128:     <input type="submit" name="submit" value="Registrar"/><br />

 129:     

 130:     

 131:     

 132:     </form>

 133: </div>

 134: </div>

 135:  

 136:  

 137: </body>

 138: </html>

Vistas MySQL y Funciones en CodeIgniter

Vistas

¿Para que sirven?

Una vista en la base de datos MySQL Sirve para representar o interpretar los datos que se encuentran en las filas de las tablas.

Por ejemplo:

Cuando una columna guarda puros datos booleanos de ceros y unos al momento de realizar la consulta el usuario tiene que saber que significa estos valores, como cuando se guarda el tipo de usuario de un sistema que son “Administrador y Normal”, al administrador en la tabla se guarda como 1 y al usuario con el 0.

Código para crear la vista

 
   1: CREATE VIEW PRUEBA AS (

   2: select 

   3:     `user_control`.`ld_nacional` AS `ld_nacional`,

   4:     `user_control`.`cel_local` AS `cel_local`,

   5:     `user_control`.`internacional` AS `internacional`,

   6:     `user_control`.`cel_ld` AS `cel_ld`,

   7:     `user_control`.`local` AS `local`,

   8:     `user_control`.`nom_usu` AS `nom_usu`,

   9:     `user_control`.`id_usu` AS `id_usu`,

  10:     `user_control`.`login` AS `login`,

  11:     `user_control`.`psw` AS `psw`,

  12:     if((`user_control`.`acceso` = 0),'Normal','Administrador') AS `acceso`,

  13:     if((`user_control`.`status` = 0),'Desactivado','Activado') AS `status` 

  14:   from 

  15:     `user_control` 

  16:     )

Como pueden ver en los campos “acceso y status” hay un IF donde dice que si es igual a 0 mandara el valor de Normal y si es 1 mandara Administrador, en caso de status, si es igual a 0 pintara como Desactivado y si no es igual a 0 pintara como Activado.

Código tabla original

   1: CREATE TABLE `user_control` (

   2:   `id_usu` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,

   3:   `status` int(1) unsigned NOT NULL DEFAULT '1',

   4:   `nom_usu` varchar(25) NOT NULL,

   5:   `login` varchar(4) NOT NULL DEFAULT '0000',

   6:   `psw` varchar(40) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL,

   7:   `local` tinyint(4) NOT NULL DEFAULT '0',

   8:   `ld_nacional` tinyint(4) NOT NULL DEFAULT '0',

   9:   `cel_local` tinyint(4) NOT NULL DEFAULT '0',

  10:   `cel_ld` tinyint(4) NOT NULL DEFAULT '0',

  11:   `internacional` tinyint(4) NOT NULL DEFAULT '0',

  12:   `acceso` tinyint(4) NOT NULL DEFAULT '0',

  13:   PRIMARY KEY (`id_usu`),

  14:   UNIQUE KEY `login` (`login`)

  15: ) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8;

 

 

Ahora la función en el modelo para cargar los datos, el archivo se llama usersModel.php

   1: public function getUsers(){

   2:         $data=$this->db->get('vista');

   3:         if($data->num_rows() >0){

   4:             return $data;

   5:         }else{

   6:             return false;

   7:             }

   8:     }

 

Ahora se manda llamar la función del modelo con la función getUsers desde el controlador, el archivo se llama Welcome.php

   1: public function getUsers(){

   2:         

   3:         if(isset($_SESSION['usuario'])){

   4:         //GUARDA EN LA VARIABLE $USERS TODOS LOS USUARIOS

   5:         $data['users'] = $this->usersModel->getUsers();

   6:     

   7:         $data['principal']="listusers.php";

   8:         

   9:                 //SE ASIGNA QUE PAGINA SE CARGAR PARA VISUALIZAR LOS DATOS

  10:                 $this->load->vars($data);

  11:                 $this->load->view('plantilla');

  12:         }else{

  13:         echo " alert('Acceso restringido')";

  14:         $data['principal']="acceso.php";

  15:         

  16:                 $this->load->vars($data);

  17:                 $this->load->view('plantilla');

  18:         }

  19:     }

 

Les dejo las vistas de la plantilla y la lista de usuarios por si la necesitan

 

 

listuser.php

   1:  

   2: <?php

   3:  

   4:  

   5: $eliminar = base_url()."imagenes/eliminar.fw.png";

   6: $actualizar = base_url()."imagenes/modificar.png";

   7:     

   8: function estadoImg($edo){

   9:     $palomita = base_url()."imagenes/v.fw.png";

  10:     $x = base_url()."imagenes/eliminar.png";

  11:     if($edo==1){

  12:         return "<img src=".$palomita.">";

  13:     }

  14:     else{

  15:         return "<img src=".$x.">";

  16:     }

  17: }

  18:  

  19:  

  20:  

  21: ?>

  22:         <script type="text/javascript">
   1:  

   2:         <!--

   3:         

   4:         function confirmacion(id) {

   5:         var answer = confirm("Esta seguro que desea eliminar")

   6:         if (answer){

   7:         alert("Ha confirmado eliminar")

   8:         location.href="deleteUserId/"+id

   9:         }

  10:         else{

  11:         alert("Cancelado")

  12:         }

  13:     }

  14:     

  15:     function actualizar(id) {

  16:         

  17:         location.href="updateUserId/"+id

  18:         

  19:     }

  20: //-->

</script>

  23:  

  24: <body>

  25:     

  26: <div id="container">

  27:  

  28:     <div id="body" align="center">

  29:         <h3>Mis Usuarios son</h3>

  30:         <p>hola</P>

  31:         <?php echo $_SESSION['usuario'];?>

  32:         

  33:         <div id="tabla">

  34:          

  35:             <table border="0" align="left">

  36:             

  37:             <form id="b" name="b" action="&lt;?=base_url()?>index.php/welcome/buscarUsuarios" method="POST">

  38:             <td><input type= "text" id="buscar" name="buscar" ></td>

  39:             

  40:             <td><input type="submit" id="arre" name="arre" value="buscar"&lt;/td></tr>

  41:             </form>

  42:             

  43:             

  44:             

  45:             

  46:             </table>

  47:             

  48:             <table border="0" align="center">

  49:             <tr bgcolor="#7362ec" align="center" onfocus="<?php echo "HOLA";?>">

  50:             

  51:             <td><b>Nombre</b></td>

  52:             <td><b>Usuario </b></td> 

  53:             <td><b>Estado de usuario </b></td> 

  54:             <td><b>Nivel de acceso</b></td>

  55:             <td><b>Llamadas locales permitidas</b></td>

  56:             <td><b>Llamadas celular local permitidas</b></td>

  57:             <td><b>Llamadas a celular  permitidas</b></td>

  58:             <td><b>Llamadas nacionales permitidas</b></td>

  59:             <td><b>Llamadas internacionales permitidas</b></td>

  60:             <td><b>Eliminar usuario</b></td>

  61:             <td><b>Modifiacar usuario</b></td>

  62:             </tr>

  63:             <tr>

  64:         

  65:             <?php

  66:             $colorfila=0;

  67:             

  68:             

  69:             if($users!=false){

  70:                foreach($users->result() as $row){

  71:                    if ($colorfila==0){ 

  72:                    $color= "#b5b5b5"; 

  73:                    $colorfila=1; 

  74:                     }else{ 

  75:                    $color="#f7f7f7"; 

  76:                    $colorfila=0; 

  77:                 }    

  78:                 echo "<tr bgcolor='".$color."' align='center'>";

  79:                 echo "<td>";

  80:                 echo "<a href=".base_url()."index.php/welcome/getUserId/".$row->id_usu.">";

  81:                 echo $row->nom_usu."</a> </td> <td>". $row->login."</td>

  82:                 <td> ".$row->status."</td>

  83:                 <td > ".$row->acceso."</td> 

  84:                 

  85:                 <td>". estadoImg($row->local)."</td>

  86:                 <td>". estadoImg($row->cel_local)."</td>

  87:                 <td>". estadoImg($row->cel_ld)."</td>

  88:                 <td>". estadoImg($row->ld_nacional)."</td>

  89:                 <td>". estadoImg($row->internacional)."</td>

  90:                 <td><a href=javascript:confirmacion($row->id_usu)><img src=$eliminar></a></td>

  91:                 <td><a href=javascript:actualizar($row->id_usu)><img src=$actualizar></a></td>";

  92:                 echo "</tr>";

  93:             }

  94:             

  95:         }

  96:         ?>

  97:         

  98:         </table>

  99:         </div>

 100:  

 101:     </div>

 102:  

 103:  

 104: </div>

 105:  

 106: </body>

plantilla.php

   1: <!DOCTYPE html>

   2: <html lang="en">

   3: <head>

   4:     

   5:     

   6:     <meta charset="utf-8">

   7:     <title>Usuarios ITLM</title>

   8:     <?php $estilo = base_url()."css/estilo.css";

   9:           $estiloMenu = base_url()."css/menu.css";

  10:     

  11:     

  12:           $logo = base_url()."/imagenes/logo.jpg";

  13:           $menu= base_url()."/js/menu.js";

  14:           $jjq= base_url()."/js/jquery.js";

  15:           

  16:       

  17:           echo "&lt;link rel='stylesheet' type='text/css' href='$estilo' media='all'>";

  18:           echo "<link rel='stylesheet' type='text/css' href='$estiloMenu' media='all'>";

  19:           echo "<script src='$jjq'></script>
   1: ";

   2:           echo "<script src='$menu'>

</script>";

  20:          

  21:           

  22:          

  23:     ?>

  24:            

  25: </head>

  26:  

  27: <body>

  28: <div align="center">

  29: <?php

  30:  

  31: $this->load->view('encabezado');

  32: $this->load->view($principal);

  33: $this->load->view('pie.php');

  34:  

  35: ?>

  36: </div>

 

Les dejo un video que vi por si se van iniciando al Framework  de CodeIgniter

[youtube http://www.youtube.com/watch?v=jhP6vVc7Yts&hl=en&hd=1]

Mapa mental intercepting filter

intercepting filter

UNIDAD 4. ARQUITECTURA DE PROTOTIPOS EMPRESARIALES

¿QUE ES UN RIESGO PARA UN PROYECTO DE SOFTWARE?

Un riesgo es aquel factor que influye negativamente en el éxito del proyecto. El riesgo en un proyecto de desarrollo de software incluye componentes técnicos y de conocimiento del mismo. Los temas de naturaleza organizacional constituyen los factores dominantes de los riesgos del proyecto, a la vez que son los que se tratan satisfactoriamente en menos de la tercera parte de los proyectos de desarrollo, entre ellos los conflictos entre departamentos, entre usuarios, el cambio del responsable ejecutivo del proyecto, volatilidad del personal, número de unidades de la organización implicadas y proyectos que involucran a múltiples proveedores.

¿CUAL ES LA IMPORTANCIA DE LA GESTION DE RIESGOS?

Para lograr producir aquello que el cliente requiere, en el plazo solicitado y ajustados al presupuesto asignado, se necesita desarrollar un proceso que incluya desde la etapa más temprana la gestión de los riesgos asociados a los requisitos, de forma que se contribuya al mejoramiento gradual del proceso de desarrollo y la gestión de un proyecto de software que logre la satisfacción del cliente.

La identificación y gestión de los riesgos asociados a los requisitos del software, individuales y a grupos de ellos, desde la fase de ingeniería de requisitos puede permitir minimizarlos, evadirlos y controlarlos. El enfrentamiento proactivo de los riesgos que pueden afectar al desarrollo o a la calidad de los requisitos y las acciones para evitarlos, permitirían minimizar problemas que persisten en el desarrollo de software. Son de mayor importancia los riesgos asociados a las principales características de calidad de los requisitos.

¿DEFINE LAS ETAPAS DEL MODELO DE GESTION DE RIESGOS?

· IDENTIFICACION DE RIESGOS

El Tratar de identificar riesgos es un criterio proactivo que busca identificar posibles factores de riesgo y tomar medidas de factores de riesgos y tomar medidas de aseguramiento o planes de contingencia para contrarrestarlos a ellos y a sus efectos.

Al realizar esta identificación podría hablarse de riesgos genéricos y riesgos específicos del producto.

LISTADO DE RIESGOS POTENCIALES

TIPO DE RIESGO

INDICADORES POTENCIALES

Tecnológico

Entrega retrasada del hardware o de la ayuda al software, muchos problemas tecnológicos reportados.

Personal

Baja moral del personal, malas relaciones entre los miembros del equipo, disponibilidad de empleo.

Organizacional

Chismorreo organizacional, falta de acciones por el administrador principal.

Herramientas

Rechazo de los miembros del equipo para utilizar herramientas, quejas acerca de las herramientas CASE, peticiones de estaciones de trabajo mas potentes.

Requerimientos

Peticiones de muchos cambios en los requerimientos, quejas del cliente.

Estimación

Fracaso en el cumplimiento de los tiempos acordados, y en la eliminación de defectos reportados.

ANALISIS DE RIEGOS

Durante este proceso, se considera por separado cada riesgo identificado y se decide acerca de la probabilidad y la seriedad del mismo.

No existe una forma fácil de hacer esto, Recae en la opinión del administrador del proyecto. No se hace una valoración con números precisos sino en intervalos.

RIESGO

PROBABILIDAD

EFECTOS

Los problemas financieros de la organización fuerzan a reducir el presupuesto del proyecto.

Baja

Catastrófico

Es imposible reclutar personal con las habilidades requeridas para el proyecto.

Alta

Catastrófico

El personal clave esta enfermo y no disponible en momentos críticos.

Moderada

Serio

Los componentes de software a reutilizarse contienen defectos que limitan su funcionalidad.

Moderada

Serio

Se proponen cambios en los requerimientos que requieren rehacer el diseño.

Moderada

Serio

La organización se reestructura de tal forma que una administración diferente se responsabiliza del proyecto.

Alta

Serio

La BD que se utiliza en el sistema no puede procesar muchas transacciones por segundo como se esperaba.

Moderada

Serio

El tiempo requerido para desarrollar el software esta subestimado.

Alta

Serio

Las herramientas CASE no se pueden integrar.

Alta

Tolerable

Los clientes no comprenden el impacto de los cambios en los requerimientos.

Moderada

Tolerable

La capacitación solicitada para el personal no esta disponible.

Moderada

Tolerable

La tasa de reparación de defectos esta subestimada.

Moderada

Tolerable

El tamaño del software esta subestimado.

Alta

Tolerable

PLANEACION DE RIESGOS

Se establece un plan de gestión del riesgo para cada uno de los riesgos clave identificados.

Depende del conocimiento y la experiencia del gestor del proyecto.

  • Estrategias de anulación o prevención.
  • Estrategias de disminución o minimización
  • Planes de contingencia.

RIESGO

ESTRATEGIA

Problemas financieros de la organización

Preparar un documento breve para el administrador principal que muestre que el proyecto hace contribuciones muy importantes a las metas del negocio.

Problemas de reclutamiento

Alertar al cliente de las dificultades potenciales y las posibilidades de retraso, investigar los componentes comprados.

Enfermedad del personal

Reorganizar el equipo de tal forma que haya traslape en el trabajo y las personas comprendan en de los demás.

Componentes defectuosos

Reemplazar los componentes defectuosos con los comprados de fiabilidad conocida.

Cambios en los requerimientos

Rastrear la información para valorar el impacto de los requerimientos, maximizar la información oculta en ellos.

Restructuración organizacional

Preparar un documento breve para el administrador principal que muestre que el proyecto hace contribuciones muy importantes a las metas del negocio.

Desempeño de la base de datos

Investigar la posibilidad de comprar una BD con alto desempeño

Tiempo de desarrollo subestimado

Investigar los componentes comprados y la utilización de una generador de programas.

SUPERVICION DEL RIESGO

Valora cada uno de los riesgos identificados para decidir si este es más o menos probable y cuando los efectos del mismo han cambiado.

  • Se hace una valoración después de alcanzar cada hito principal.
  • Encargado de riesgos:
  • Alertar sobre los riesgos del proyecto y evitar que los administradores y desarrolladores los ignoren en la planificación.
  • Buscar todas las razones por las cuales el proyecto puede fallar.
  • Supervisar la efectividad de los planes de reducción de riesgos.

Realizar el clásico análisis costo-beneficio para la prevención o el plan de contingencia del riesgo.

La supervisión del riesgo debe ser un proceso continuo y en cada revisión del progreso de la administración cada uno de los riesgos clave debe ser considerado por separado y discutido.

Modelado de implementación

Para que se usa un diagrama de despliegue

Se utiliza para modelar el hardware utilizado en las implementaciones del sistema y las relaciones entre sus componentes los elementos usados en este tipo de diagramas son:

  • Sistema empotrado
  • Sistema cliente-servidor
  • Sistema completamente distribuido

 

Que es un nodo

Es un punto de una onda estacionaria cuya amplitud es 0 un punto de interacción o unión de varios elementos que confluyen en el mismo lugar.

 

 

Representación de un nodo

image

 

 

Ejemplo de un diagrama de despliegue

image

 

Diagrama de despliegue

Es un diagrama tipo de lenguaje unificado de modelador, representa como un sistema de software es dividido en componente y muestra las desventajas entre estos campos puede ser usado para modelar cualquier arquitectura de sistemas.

Que es un componente

Componentes, acerca de las características de software, la elaboración de un definición única la utilización de una específica depende del contexto en donde se esté empleando el comportamiento de los acuerdos que se hagan dentro del marco de trabajo.

 

Representación de un componente

image

Ejemplo de diagrama de componentes

image

 

 

 

 

image

 

image

image

 

Modelo de arquitectura de interacción

Diagrama secuencial

image

 

image

 

Diagrama de despliegue

image

image

Página 30 de 51

Creado con WordPress & Tema de Anders Norén