seguridad – ¿ que pueden hacer con mi id de telegram?

en un grupo de telegram alguien empezo a mandar un texto pero en brasilero,y le respondi el mensaje dicendo: sopa de makako. me respondio y me dijo: tengo tu id y su mensaje se convirtio en un numero, no recuerdo que llevara puntos ni nada asi, lo banearon y me fui a un bot para saber mi id de telegram y el numero se parecia, despues el tipo borro sus mensajes, no se que mierda paso, borre mis cuentas de gmail, en caso de que me robe tarjetas o etc, borre mis cuentas y active tor vpn, me troleo o de verdad puede hacer algo con ese numero?

pasaron 1 hora y 30 minutos.

seguridad – Problema con servidor ssh

me pidieron realizar un servidor sftp y ya lo hice, pero como extra, me pidieron configurar el ssh para que cuando uno se conecte al servido ‘X’, el mismo por estar en la red no pueda usar ssh y conectarse a otro servidor externo, y solo funcione para lo que va ser.

json – Problemas de seguridad al serializar lambdas en Java

Estoy practicando con la serialización de objetos en Java y un colega me dijo que los objetos serializables no se usan en la vida real y que mejor serializase los objetos a JSON o XML cuando se me ocurrió esto:

Quiero precargar algunos FileFilters para usarlos en un JFileChooser y quiero que el comportamiento de esos filtros sea algo más que extensiones.

El código funciona correctamente pero he leido que puede haber problemas de seguridad al leer código ejecutable de un archivo. ¿Es cierto en este caso? ¿Se pueden evitar de alguna forma?

Como Predicate no es serializable, tuve que implementar mi propio Predicate:

import java.io.File;
import java.io.Serializable;

public interface MyPredicate extends Serializable {
  boolean isValid(File file);
}

La clase que define cómo van a ser los filtros (aunque se llame List y use internamente un Map, luego podría cambiar).

import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;


public class FileFilterList implements Serializable {
  private Map<String, MyPredicate> filters;

  public FileFilterList() {
    this.filters = new HashMap<>();
  }

  public FileFilterList addFilter(String string, MyPredicate predicate) {
    this.filters.put(string, predicate);
    return this;
  }

  public Iterator<Map.Entry<String, MyPredicate>> getIterator() {
    return this.filters.entrySet().iterator();
  }
}

Programita que guarda tres filtros como ejemplo:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class SaveFileFilter {
  public static void main(String() args) throws IOException {
    FileFilterList filterList = new FileFilterList();
    filterList
            .addFilter("txt, Text files", f -> f.isDirectory() || f.getName().endsWith(".txt"))
            .addFilter("Big txt, Big txt files (>1Kb)", f -> f.isDirectory() || (f.getName().endsWith(".txt") || f.length() > 1024))
            .addFilter("Small txt, Small txt file (<=1Kb)", f -> f.isDirectory() || (f.getName().endsWith(".txt") || f.length() <= 1024));
    try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("filters.obj"))) {
      oos.writeObject(filterList);
    } catch (IOException ioe) {
      System.err.println("Sorry, there wa a problem saving filters");
      ioe.printStackTrace();
      throw ioe;
    }
  }
}

Este sería el programa que realmente usa el fichero de filtros

import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.io.*;

public class FileFilterUse {
  public static void main(String() args) throws IOException, ClassNotFoundException {
    JFileChooser fileChooser = new JFileChooser();
    try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("filters.obj"))) {
      FileFilterList filterList = (FileFilterList) ois.readObject();
      filterList.getIterator().forEachRemaining(
              (entry) -> fileChooser.addChoosableFileFilter(new FileFilter() {
                @Override
                public boolean accept(File f) {
                  return entry.getValue().isValid(f);
                }

                @Override
                public String getDescription() {
                  return entry.getKey();
                }
              }));
      fileChooser.showOpenDialog(null);
    } catch (IOException ioe) {
      System.err.println("There was a problem reading filters file");
      ioe.printStackTrace();
      throw ioe;
    } catch (ClassNotFoundException cnf) {
      System.err.println("File format is not correct");
      cnf.printStackTrace();
      throw cnf;
    }
  }
}

¿Es posible conseguir este comportamiento serializando a JSON o XML?
Gracias.

seguridad en google sheets

Estoy haciendo una planilla para un tercero. Y este, a su vez, va a derivar procesos a otros.

El proceso es simple. Una planilla maestro de alta de pacientes y un template modelo que se copia para cada nuevo paciente.

En el momento del alta tienen permiso de edición quien lo da de alta y quien lo recibe. Pero en un futuro, debería tener acceso todo el personal, cada uno con sus credenciales (no compartirán una cuenta)

Entonces me pregunto cual es la forma ideal de dar y quitar permisos de edición sobre los documentos ya creados y los que se crearán.

Existe política por carpeta? por grupo de usuarios?

Voy a crear una planilla de administración donde el usuario principal pueda administrar a su staff de colaboradores, pero no me veo haciendo un loop para dar o quitar acceso a cada documento. O si debo hacerlo?

Mas contexto en mi pregunta previa:
como autorizar edicion de googlesheet

Tengo más preguntas que voy a necesitar resolver en breve. Cómo hago para pasar el ownership de lo que estoy creando? Cambia algo si el usuario decide pagar por un servicio básico?

javascript – Seguridad en el envío de datos mediante XMLHttpRequest

Hola estoy en el proceso de aprendizaje y por eso esta duda que tengo el asunto es el siguiente.

Envio una petición a un servidor de una empresa mediante XMLHttpRequest y en los datos que envio, en este caso la variable url, va un una clave o Key que permite validar el acceso, el cual da dicha empresa algo asi como esto.

let request = new XMLHttpRequest();
url = get_data_to_send();
request.open("GET", url, false);
request.send();
var response = JSON.parse(request.responseText);

Mi duda es ¿Cuan seguro es enviar en la petición la clave o key (Tengo entendido que no hay otra forma de enviarlo)?

  1. Puede un usuario ver en el navegador el codigo que estoy enviando?
  2. Alguien podria inyectar algún código a la petición?
  3. Podria alguien robar el key que estoy enviando?

Muchas gracias por ayudarme con esta duda, saludos

Como hacer una copia se seguridad de una base de datos sqlite en android y restaurarla si el usuario cambia de dispositivo

tengo una Base de datos sqlite en android studio y necesito crear una opción para el usuario de hacer una copia de seguridad que al momento de cambiar de dispositivo el usuario no pierda sus datos almacenados en sqlite, no tengo idea de como empezar, agradecería su ayuda!

¿Cómo saber qué un hilo hace un-lock con seguridad a la terminación, mientras que todos los métodos que ya se manejan?

En un proyecto se puede ejecutarse durante mucho tiempo y crear muchos hilos. Al siguiente código, me pregunto si tengo que proteger el bloqueo además de try-catch general en todo del método setData (datos MyData)
(no soy codicioso, uso + -5 hilos totalmente)

public class MyFactory {

private ReadWriteLock rwl = new ReentrantReadWriteLock();
    private Lock readLock = rwl.readLock();
    private Lock writeLock = rwl.writeLock();
    
    private static MyFactory _instance = new MyFactory();
    private static Map<Integer, MyData> mapDatas = new HashMap<>();
    
    public static MyFactory getInstance() {
        return _instance;
    }
    
    
    public void setData(MyData data) {
        writeLock.lock();   
        try {
            mapData.put(...);
        } catch (Exception exc) {
            ...
        } finally {
            writeLock.unlock();
        }
    }

Como puedo hacer una sesion con seguridad

Hola estoy haciendo una aplicación web pero no se como hacer que la pagina tenga acceso restringido es decir que la persona no pueda publicar nada hasta que no se haya registrado y iniciado sesión es en php y mysql