Galleria mappe mentale Attacco Python
Questa è una mappa mentale sugli attacchi Python. I contenuti principali includono: crawler, crittografia e decrittografia. L’introduzione è dettagliata e spero possa essere utile a tutti!
Modificato alle 2024-04-21 20:49:01Questa è una mappa mentale su una breve storia del tempo. "Una breve storia del tempo" è un'opera scientifica popolare con un'influenza di vasta portata. Non solo introduce i concetti di base della cosmologia e della relatività, ma discute anche dei buchi neri e dell'espansione dell'universo. questioni scientifiche all’avanguardia come l’inflazione e la teoria delle stringhe.
Dopo aver letto "Il coraggio di essere antipatico", "Il coraggio di essere antipatico" è un libro filosofico che vale la pena leggere. Può aiutare le persone a comprendere meglio se stesse, a comprendere gli altri e a trovare modi per ottenere la vera felicità.
"Il coraggio di essere antipatico" non solo analizza le cause profonde di vari problemi nella vita, ma fornisce anche contromisure corrispondenti per aiutare i lettori a comprendere meglio se stessi e le relazioni interpersonali e come applicare la teoria psicologica di Adler nella vita quotidiana.
Questa è una mappa mentale su una breve storia del tempo. "Una breve storia del tempo" è un'opera scientifica popolare con un'influenza di vasta portata. Non solo introduce i concetti di base della cosmologia e della relatività, ma discute anche dei buchi neri e dell'espansione dell'universo. questioni scientifiche all’avanguardia come l’inflazione e la teoria delle stringhe.
Dopo aver letto "Il coraggio di essere antipatico", "Il coraggio di essere antipatico" è un libro filosofico che vale la pena leggere. Può aiutare le persone a comprendere meglio se stesse, a comprendere gli altri e a trovare modi per ottenere la vera felicità.
"Il coraggio di essere antipatico" non solo analizza le cause profonde di vari problemi nella vita, ma fornisce anche contromisure corrispondenti per aiutare i lettori a comprendere meglio se stessi e le relazioni interpersonali e come applicare la teoria psicologica di Adler nella vita quotidiana.
Attacco Python
crittografare e decodificare
Lo sviluppo della crittografia 1. Crittografia classica (prima del 1949), caratteristiche principali: riservatezza basata su algoritmi. 2. Crittografia moderna (1949~1975), basata sulla “chiave”. 3. Crittografia moderna (dal 1976 ad oggi), basata su chiavi asimmetriche, ufficialmente disponibile in commercio.
Password classiche comuni
codice Morse Cifra di Cesare codice recinzione Virginia
Reversibile: base64
Simulazione del ransomware Crittografia: file sorgente --> byte binari --> byte base64 --> carattere base64 --> offset decimale ascii --> carattere ascii --> byte scritti nel file Decrittografia: file sorgente -> decodifica (carattere ascii) -> decimale ascii - offset -> carattere ascii -> carattere ascii codificato in byte -> byte scritti nel file sorgente
irreversibile Funzione: memorizza la password; riepilogo per evitare manomissioni da parte di altri.
MD5
processi: 1. md5 (valore sale password) ---> Campo password del database 2. Accedi: md5 (valore salt della password immessa) viene confrontato con la password del database per vedere se è coerente.
SHA
Più sicuro dell'MD5 perché la probabilità di collisione è bassa
asimmetrico
Asimmetria degli algoritmi
Asimmetria chiave
RSA Processo (Xiao Hong lo invia a Xiao Ming ---> Xiao Ming genera la chiave pubblica e la chiave privata ---> Invia la chiave pubblica a Xiao Hong ---> Xiao Hong crittografa i dati con la chiave pubblica fornita da Xiao Ming ---> I dati vengono inviati a Xiao Ming, che li decripta tramite la chiave privata)
rettile
Nota: non eseguire la scansione di siti Web non autorizzati e rispettare robots.txt
Login
Nessun accesso richiesto
Accesso richiesto
Inserisci direttamente nome utente e password per accedere (relativamente raro)
Richiedi il codice di verifica per accedere
Effetto di manutenzione dell'accesso uomo-macchina
Sessione
La sessione di solito si riferisce all'intervallo di tempo tra un utente finale che comunica con un sistema interattivo, ovvero il tempo trascorso dalla registrazione dell'utente per entrare nel sistema alla disconnessione dal sistema. Durante questo processo, lo stato della sessione viene memorizzato il lato server e il client ha solo l'ID di sessione. La sessione può essere salvata sul lato server, che può essere una cache, un file o un database. Ogni volta che il client effettua una richiesta, porterà questo ID di sessione e il server troverà i dati di sessione corrispondenti in base a questo ID per eseguire l'autenticazione.
GETTONE
Se l'utente A accede correttamente, il server fornirà all'utente A un token. Quando l'utente A accede nuovamente, il server verificherà il token di A tramite l'algoritmo Hsha e otterrà una firma. Se la firma è la stessa della registrazione per la prima volta, potrà accedere direttamente senza password.
rettile
processi
definizione Senso ristretto: un processo si riferisce a un'istanza di un programma in esecuzione. (python: classe -- istanza --> oggetto). Anche il sistema operativo stesso è un processo. Attraverso il sistema operativo, è possibile eseguire un fork() per creare processi figli.
diversi stati
Nuovo: processo appena creato Ready: può essere eseguito (competere con altri processi in Ready) In attesa: quando il processo esegue operazioni di I/O, non parteciperà alla competizione tra CPU. In esecuzione: la CPU è in uso; Terminato: terminato
multi-Progresso
Caratteristiche: Isolamento delle risorse: ogni processo ha uno spazio di memoria indipendente, i dati non sono condivisi ed è richiesta la comunicazione tra processi (IPC). Nessuna restrizione GIL: più processi possono sfruttare appieno i processori multi-core per ottenere un vero calcolo parallelo. Scenari applicabili: adatto per attività ad uso intensivo di calcolo, come calcolo scientifico, elaborazione di immagini, ecc., che possono sfruttare appieno le prestazioni multi-core.
Filo
definizione Il thread (thread) è "più leggero" di un processo. Ogni processo avrà il proprio spazio di memoria indipendente e i thread saranno condivisi.
Multithreading
Caratteristiche: Condivisione delle risorse: tutti i thread condividono lo spazio di memoria dello stesso processo e possono accedere e modificare facilmente i dati condivisi. Limitazione GIL: a causa del Global Interpreter Lock (GIL) di Python, solo un thread può eseguire il bytecode Python allo stesso tempo, quindi il multi-threading potrebbe non avere un vero effetto parallelo sulle attività ad uso intensivo della CPU. Scenari applicabili: adatto per attività ad uso intensivo di I/O, come richieste di rete, lettura e scrittura di file, ecc., è possibile cambiare thread in attesa che l'I/O migliori l'efficienza complessiva.
induzione Come scegliere tra processi e thread in Python
Per le applicazioni ad uso intensivo di I/O, prendere in considerazione l'utilizzo del multithreading
Le applicazioni ad alta intensità di calcolo possono prendere in considerazione più processi