Chuletas y apuntes de Informática y Telecomunicaciones de Primaria

Segurtasun Informatikoa: IDS, Malware, Autentifikazioa eta Kriptografia Gida Osoa

Informática y Telecomunicaciones3,96 KB

Segurtasun Informatikoa: Gida Teknikoa

1. Intrusioen Detekzioa (IDS)

Detekzio mota

Detekzio mota:

  • Sinadura bidezkoa
  • Anomalia bidezkoa (limiteetan oinarritua edo jokabide profilatuan oinarritua, ML bidez)

Esparrua

Esparrua:

  • Host IDS (logak, erabiltzaileen ekintzak)
  • Network IDS (zerbitzariak eta sarea)

Erantzun motak

  • Prebentzio erantzuna (aktiboa)
  • Detekzio erantzuna (pasiboa)

Snort arauen adibideak

drop icmp any any -> any any (msg:"Bloqueando todo el tráfico ICMP"; sid:1000006; rev:1;)

drop tcp any any -> any 80 (msg:"Bloqueando HTTP"; sid:1000004; rev:1;)

alert http any any -> any any (msg:"Acceso a www.mondragon.edu"; content:"Host: www.mondragon.edu"; http_header; sid:1000002; rev:1;)

alert icmp any any -> any any (msg:"Ping detectado"; itype:...

Continuar leyendo "Segurtasun Informatikoa: IDS, Malware, Autentifikazioa eta Kriptografia Gida Osoa" »

Gestión Dinámica de Matrices en C++: Reserva, Validación y Liberación de Memoria

Informática y Telecomunicaciones3,85 KB

#include "Funciones.h"
#include "MemoryManager.h"


Construcción de una matriz dinámica de flotantes

float** ConstruirMatriz(int nFilas, int nColumnas) {
float** matriz; // Señala a una matriz.
int i, j;
matriz = new float* [nFilas]; // Reservando memoria para las filas.
if (matriz == NULL) { // Comprobar si hay algún error al crear la matriz
std::cout << "\n Error!!";
}
for (i = 0; i < nFilas; i++) {
matriz[i] = new float[nColumnas]; // Reservando memoria para las columnas.
if (matriz == NULL) {
std::cout << "\n Error!!!";
}
}
for (i = 0; i < nFilas; i++) { // Inicializar la matriz a cero
for (j = 0; j < nColumnas; j++) {
matriz[i][j] = 0;
}
}
return matriz;
}

Introducción de datos en la matriz

void IntroducirDatos(MatFloat* pDestino) {
int
...
Continuar leyendo "Gestión Dinámica de Matrices en C++: Reserva, Validación y Liberación de Memoria" »

Implementación de una Clase Matriz Dinámica en C++: CMatFloat

Informática y Telecomunicaciones3,38 KB

Implementación de la Clase CMatFloat en C++

A continuación se presenta la definición y la implementación de la clase CMatFloat, diseñada para la gestión y manipulación de matrices bidimensionales de números en punto flotante (float) mediante reserva dinámica de memoria.

Archivo de Cabecera: CMatFloat.h

Este archivo contiene la declaración de la clase, sus atributos privados y los prototipos de sus métodos públicos.

#if !defined(_CMATFLOAT_H_)
#define _CMATFLOAT_H_

#include <iostream>
#include <cstdlib> // Librería estándar
#include <cstdio>
#include <climits>
#include "Utils.h"
#include "MemoryManager.h"

class CMatFloat
{
    // Datos privados de la clase
private:
    float** m_ppDatosF; // Apunta a los datos
...
Continuar leyendo "Implementación de una Clase Matriz Dinámica en C++: CMatFloat" »

Juego de Piedra, Papel o Tijera en PHP con Sesiones y Base de Datos MySQL

Informática y Telecomunicaciones5,25 KB

Juego de Piedra, Papel o Tijera en PHP

A continuación se presenta el código de un juego de piedra, papel o tijera desarrollado en PHP, que utiliza sesiones para almacenar la información entre páginas y una base de datos MySQL para registrar cada tirada.

1. Selección de la opción del usuario

<?php session_start(); ?>

include("conexion.php");

if(!$_POST){

echo '

Tu opción:

PIEDRA

PAPEL

TIJERA

';

}

else{

$_SESSION['random'] = rand(1,3);

$_SESSION['usuario'] = $_POST['opcion'];

header("refresh:1;url=Mostrar_opcion.php");

}

?>

2. Cálculo del resultado

<?php session_start(); ?>

include("conexion.php");

$resultado = 0;

switch($_SESSION['usuario']){

case 'piedra':

if($_SESSION['random'] == 1){

echo '

Habéis empatado, CASI CASI

';

$ganador = "Nadie";

}

elseif(...

Continuar leyendo "Juego de Piedra, Papel o Tijera en PHP con Sesiones y Base de Datos MySQL" »

Devolución de productos en PHP y MySQL: selección aleatoria y actualización de compras

Informática y Telecomunicaciones3,04 KB

Devolución de productos con PHP y MySQL

Introduce el nombre del usuario

<?php session_start(); $conex = new mysqli("localhost", "root", "12345", "examensep"); if ($_POST) { if (!empty($_POST["usu"])) { $usuario = $_POST["usu"]; $res = $conex->query("SELECT NOMBRE, idu FROM usuarios WHERE nombre LIKE '$usuario'"); // Buscamos el usuario a ver si existe $row = $res->fetch_assoc(); $idu = $row["idu"]; // Almacenamos el identificativo del usuario // Seleccionamos un producto aleatorio que haya comprado el usuario elegido y que tenga más de dos unidades compradas de dicho producto $res1 = $conex->query("SELECT productos.ref, compras.unid FROM productos, compras WHERE productos.ref = compras.ref AND idc = '$idu' AND compras.unid >...

Continuar leyendo "Devolución de productos en PHP y MySQL: selección aleatoria y actualización de compras" »

Snippets Esenciales de Código Android: Tutorial Práctico para Desarrolladores

Informática y Telecomunicaciones7,15 KB

Componentes de Interfaz de Usuario (UI)

Para los Radio Group

RadioGroup rg = ...;
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        // Hacer algo...
    }
});

Para los Check Box

CheckBox cb = ...;
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        // Hacer algo! Sabemos quién ha sido pulsado y su estado
    }
});

Crear Toast

Context contexto = getApplicationContext();
int duracion = Toast.LENGTH_SHORT; // Toast.LENGTH_LONG
Toast toast = Toast.makeText(contexto, R.string.recurso, duracion);
toast.show();

Crear Cuadros de Diálogo

AlertDialog.
...
Continuar leyendo "Snippets Esenciales de Código Android: Tutorial Práctico para Desarrolladores" »

Programa en Java: suma, resta, mayor, menor y valor medio con métodos

Informática y Telecomunicaciones3,73 KB

Ejercicio 19: suma y resta de dos números con métodos

Descripción: Realizar un programa que sume y reste dos números usando métodos.

Fecha: 02 de julio de 2014
Autor: Massuh Jael

package javaapplication44;
import java.util.Scanner;
/**
 * Ejercicio: 19
 * Descripción: Realizar un programa que sume y reste dos números usando métodos
 * Fecha: 02 de Julio del 2014
 * Autor: Massuh Jael
 */
public class JavaApplication44 {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        //Ingresar dos números
        //Sumar los dos números
        //Restar los dos números
        //Mostrar el resultado de la suma
        //y con el mismo método mostrar
        //Vamos a mostrar el resultado
...
Continuar leyendo "Programa en Java: suma, resta, mayor, menor y valor medio con métodos" »

Código Java: Ordenamiento Burbuja y Operaciones Aritméticas con Arreglos

Informática y Telecomunicaciones4,28 KB

Ordenamiento Burbuja y Recorrido Inverso en Java

Primer programa: JavaApplication50

El siguiente código define un arreglo de enteros, lo muestra en pantalla, lo ordena mediante el algoritmo de ordenamiento burbuja y finalmente lo muestra en orden inverso.

package javaapplication50;
import java.util.Scanner;
/**
 * @author
 */
public class JavaApplication50 {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int A[]={12,9,13,7,1};
        mostrar(A);
        examen(A);
    }
    public static void examen(int vector[]) {
        burbuja(vector);
        muestrareves(vector);
    }
    public static void burbuja(int data[]){
        int aux=0;
        for (int j=data.length-1;j>
...
Continuar leyendo "Código Java: Ordenamiento Burbuja y Operaciones Aritméticas con Arreglos" »

Algoritmo Minimax con Poda en Java: Implementación de Estados para el Juego de Othello

Informática y Telecomunicaciones2,11 KB

private static MiEstado maxValor(MiEstado e, int limite) {

nodosExplorados++;

if (limite == 0 || e.esFinal()) {

e.setMinMax(e.getUtilidad());

return e;

}

MiEstado r = null;

for (int i = 0; i < 8; i++) {

for (int j = 0; j < 8; j++) {

MiEstado sucesor = (MiEstado) e.getSucesor(i, j, Jugador.MAX);

if (sucesor != null) {

MiEstado m = minValor(sucesor, limite - 1);

if (m != null && (r == null || r.getMinMax() < m.getMinMax())) {

r = sucesor;

r.setMinMax(m.getMinMax());

}

}

}

}

return r;

}

Constructor de copia de MiEstado

public MiEstado(Estado e) {

for (int x = 0; x < this.dimension; x++) {

for (int y = 0; y < this.dimension; y++) {

this.tablero[x][y] = e.getFicha(x, y);

}

}

}

Generación de sucesores

public Estado getSucesor(int i, int j, Jugador jugador)

...
Continuar leyendo "Algoritmo Minimax con Poda en Java: Implementación de Estados para el Juego de Othello" »

Criando um Formulário de Cadastro de Candidatos em Java Swing: Código e Configurações

Informática y Telecomunicaciones2,19 KB

Criando um Formulário de Cadastro de Candidatos em Java

Neste tutorial, veja como criar um formulário com botões e configurar os componentes diretamente por código, utilizando Java Swing.

Importações e Declaração da Classe

Primeiramente, importe as classes necessárias e declare a classe frmCadCandidato, que estende javax.swing.JFrame:

package Frames;

import Classes.Candidato;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.HashMap;

import javax.swing.JOptionPane;

import javax.swing.text.MaskFormatter;

public class frmCadCandidato extends javax.swing.JFrame {

Atributos da Classe

A classe utiliza os seguintes atributos:

  • dados: um HashMap que armazena os objetos Candidato;
...
Continuar leyendo "Criando um Formulário de Cadastro de Candidatos em Java Swing: Código e Configurações" »