Connessione intitolo pannello di controllo motore datalife. Installazione di DLE

20/12/14 7,7K

I "cavalli oscuri" si incontrano non solo tra le persone, ma anche tra i CMS. Uno di questi “cavalli” è il DLE.

Sebbene su Internet siano disponibili molte informazioni su altri motori PHP, su questo CMS è possibile trovare solo pochi materiali decenti. Rendiamo degno questo articolo spiegando ai lettori come installare un modello su DLE:

Conosciuto di CMS sconosciuto

Questo motore non è così popolare nel mondo Internet come WordPress o Joomla. È la creazione di programmatori russi. Pertanto, molto spesso puoi imbatterti in un sito in esecuzione su questo CMS e modello per DLE in RuNet.

Il CMS DLE viene posizionato dai suoi creatori come base per la realizzazione di portali informativi e blog. Il sistema motore interno è adatto a carichi pesanti e ha un elevato grado di tolleranza ai guasti:


Come la maggior parte dei motori, DLE (DataLife Engine) funziona su php e MySQL. Lo svantaggio principale di questo sistema di gestione dei contenuti è che è a pagamento. Nonostante ciò, il DLE è al quarto posto in termini di prevalenza tra le risorse situate nella zona ru. Sebbene la maggior parte di essi (59mila siti) utilizzi versioni piratate del motore.

Una licenza per un pacchetto CMS base per un periodo di 1 anno costa 2.190 RUB. La sua estensione per il secondo anno (e quelli successivi) costerà 1.490 rubli. Il prezzo della versione estesa è di 2790 rubli.

Oltre alle versioni a pagamento, esiste anche una versione gratuita. Questa versione del CMS viene presentata dal produttore come versione di prova del motore e come base per creare il tuo primo sito web:


Lo svantaggio principale del DLE è la sua scarsa sicurezza. Già nel 2008 gli esperti criticarono CMS per la scarsa sicurezza del suo sistema interno nella gestione delle richieste. Molto probabilmente, questo problema non è stato eliminato oggi.

Secondo i dati analitici di Yandex per il 2011, i siti che funzionano specificamente sulla base di CMS DLE sono spesso infetti. L'ultima versione del motore al momento è la versione 10.3. È stato rilasciato nel settembre 2014.

Caratteristiche del modello per DLE

I modelli per i siti Web DLE hanno una serie di caratteristiche che distinguono fondamentalmente questo CMS da altri sistemi di gestione dei contenuti:

  • La struttura del modello del motore è costruita sulla base dei file TPL. Ciò semplifica notevolmente il processo di layout e adattamento del design del modello;
  • Il file della struttura principale è main.tpl. Tutti gli elementi aggiuntivi del modello ( menu, barra laterale) vengono specificati anche utilizzando i file TPL;
  • Le decisioni sullo stile sono scritte in due file: gli stili per la parte software sono specificati in engine.css e tutto il resto è specificato in style.css:
Prima di installare il modello DLE, scarica il relativo pacchetto di installazione e inseriscilo nella cartella templates:
Successivamente bisogna recarsi nel pannello di controllo del sito (file admin.php). Successivamente, nel menu a sinistra, seleziona “ Impostazioni dello script», « Impostazioni di sistema»:
In basso, nella sezione “Impostazioni generali”, vai su “ Modello di sito predefinito" Seleziona il modello desiderato dall'elenco a discesa. Dopo aver apportato le modifiche, non dimenticare di fare clic sul pulsante "Salva":
Successivamente, il nuovo modello verrà attivato e il sito cambierà aspetto. Ma prima di mettere il modello su DLE, non dimenticare di decomprimerlo.

IN CMS DLE A differenza di altri popolari sistemi di gestione dei contenuti, l'installazione del modello non avviene dall'archivio.


Sfortunatamente, la maggior parte dei modelli per DLE, come il motore stesso, sono a pagamento. Ma se effettui una ricerca approfondita, puoi trovare un paio di risorse decenti su RuNet dove puoi scaricare modelli gratuitamente. Eccone alcuni:
  • dle-shablony.net – circa 50 modelli diversi sono disponibili qui per il download gratuito. Ma sono tutti “raggruppati” in un’unica sezione generale senza essere ordinati per categoria. Anche se tra questi puoi trovare esemplari molto “fragola”:
  • newtemplates.ru – il sito presenta un'ampia raccolta di modelli a pagamento e gratuiti. Tutti sono opportunamente ordinati per titoli tematici. Ma anche tra quelli a pagamento si possono trovare campioni che costano 5-10 dollari e con una tiratura di sole 5 copie. E questo fornirà alla risorsa un design con un grado di unicità sufficientemente elevato!
  • 10.dle-shabloni.ru è una risorsa interessante con un'enorme raccolta di modelli per siti Web DLE. I tag ti aiuteranno a trovare quelli di cui hai bisogno per argomento o anche per colore. Puoi vedere come funziona il modello utilizzando la versione demo integrata o nel video riprodotto nella finestra del lettore video di Youtube:

Non dimenticare che ogni modello è stato sviluppato per una versione specifica di CMS DLE. La loro conformità deve essere verificata prima di scaricare il campione selezionato.

Come modificare un modello DLE

A differenza di altri popolari sistemi di gestione dei contenuti, DLE ha un design del modello più semplice. Grazie a questo, modificarli è molto più semplice e veloce. La parte amministrativa del motore include un editor di codice integrato.

Per accedere a questo strumento è necessario:

  • Vai al pannello di amministrazione del sito;
  • Nel menu a sinistra seleziona " Gestione dei modelli", "Modelli di sito";
  • Nell'elenco a discesa situato in " Modello selezionato per la modifica"Installa l'istanza desiderata e fai clic sul pulsante "Esegui":

Ciao. Voglio dedicare questo argomento alla creazione del modulo più semplice per il popolare Motore CMS Datalife. In Russia, così come nei paesi della CSI, è piuttosto popolare, ma per qualche motivo non ci sono ancora articoli su questo cms su Habré. Cercherò di correggere questo malinteso. In questo articolo imparerai come creare un semplice modulo per questo CMS e anche a conoscere la struttura del motore.

introduzione

Vorrei sottolineare che il sistema è richiesto tra i siti di intrattenimento. Questo è comprensibile, il sistema è facile da usare, ha un numero sufficiente di moduli e modelli. E quasi tutto ciò di cui hai bisogno è già pronto all'uso. Tuttavia, a volte manca qualcosa. Cercheremo di risolvere questo problema.

Perchè DLE?

Forse ti starai chiedendo perché ho scelto questo particolare CMS. La risposta è semplice: una struttura abbastanza logica del motore stesso, separazione dei modelli dal codice, un motore dei modelli abbastanza semplice, ancora una volta un posizionamento abbastanza logico di tutto all'interno: è facile capire cosa è cosa. Inoltre, il sistema rimane relativamente leggero e conveniente. Non è funzionale come, ad esempio, Drupal, ma mi piace comunque.

Struttura

Per prima cosa dobbiamo sapere qualcosa sulla struttura del motore. Non puoi creare confusione sul server, quindi memorizzeremo tutto nelle nostre cartelle.

I moduli per il funzionamento del motore vengono solitamente inseriti in una cartella /motore/moduli/.

Nella cartella /motore/inc/ ci sono file del pannello di amministrazione.

A partire dalla versione 8.x è diventato possibile collegare i moduli direttamente nel template. Il modello si trova nella cartella /templates/template_name/. In questa cartella c'è un file main.tpl Questo è il file radice del modello, solitamente al suo interno si trova la struttura principale del modello. Tipicamente il modulo può essere collegato in questo modo:

(include file="engine/modules/mod_category.php")

Dove mod_category.php è un file situato nella categoria /engine/modules/. Penso che sia tutto chiaro, andiamo avanti.

Creiamo un modulo per visualizzare gli ultimi commenti con la memorizzazione nella cache. Per fare ciò, creiamo un file nella cartella /engine/modules/ e chiamiamolo mod_lastcomm.php Successivamente, fornirò un elenco del codice per questo file con commenti dettagliati.

Codice

DATALIFEENGINE". Questa costante è definita in index.php e il suo valore TRUE simboleggia che il file è incluso utilizzando include/require e non solo lanciato. */ if(!Definito("DATALIFEENGINE")) ( die("Tentativo di hacking! " ); ) /* Colleghiamo la classe API in modo da poter utilizzare le funzioni per lavorare con la cache */ include ("engine/api/api.class.php"); cache con nome lastcomm. Consiglio di dare nomi significativi a tutto ciò che salviamo nella cache. lastcommè un file in una cartella /motore/cache/, UN 60è la durata della cache in secondi. In questo caso, se dalla creazione del file è trascorso più tempo di 60 secondi, allora dovremo accedere nuovamente al database. */ $lastcomm=$dle_api->load_from_cache("lastcomm", 60); /* Controlla se abbiamo una cache o meno. In caso contrario, entriamo nel database. */ if (!$lastcomm) ( /* La query effettiva nel database. Viene eseguita utilizzando la funzione di classe $db. La costante PREFIX contiene il prefisso specificato durante l'installazione di cms. I nomi delle colonne sono nominati abbastanza normalmente, penso che lì non è necessario spiegare cosa fanno. Inseriamo l'identificatore della query nella variabile $sql */ $sql = $db->query("SELECT comments.post_id, comments.text, comments.autor, post.id, post. .flag, post.category, post.date come newsdate , post.title, post.alt_name FROM " . PREFIX . "_commenti come commenti, " . PREFIX . "_post come post DOVE post.id=commenti.post_id ORDER BY commenti. date DESC LIMIT 0.20"); /* C Utilizzando la funzione get_row() della classe $db, leggiamo in sequenza ogni riga dai risultati del campione. Le informazioni vengono inserite nell'array $row con indici uguali ai nomi della tabella campi */ while ($row = $db->get_row($sql)) ( /* Se necessario. taglia il titolo della notizia */ if (strlen($row["title"]) > 50) ( $title = substr($riga["titolo"], 0, 50)."...."; ) else ( $titolo = $riga["titolo"]; ) /* Forma un collegamento al profilo dell'utente. Simile */ $aname=urlencode($row["autor"]); $nome= " ". $riga["autore"] .""; /* Forma il testo del commento e, se necessario, ritaglialo */ $text = htmlspecialchars($row["text"]); if (strlen($text) > 1024) $text= substr($text , 0, 1024) "..."; /* Creiamo un collegamento alla notizia L'array $config contiene tutte le impostazioni di sistema. In particolare, $config["http_home_url"] è l'URL del dominio */ $newslink = $config["http_home_url"].$. riga["post_id"]."-".$row["alt_name"]..html"; $hint = "onMouseover=\"showhint("$testo", questo, evento, "");\"" ; $titolo = " ".stripslashes($titolo).""; /* Voce finale per un commento */ $lastcomm.="Da $nome alle notizie:
$titolo

"; ) $db->free(); /* Memorizza nella cache i dati ricevuti. Per comprendere meglio le funzioni di caching, aprire il file "engine/api/api.class.php" tutto è perfettamente commentato */ $dle_api-> save_to_cache (" lastcomm", $lastcomm ) /* Visualizza il risultato */ echo $lastcomm ?>

Conclusione

Questo codice funziona completamente. E ovviamente ha i suoi difetti. Ad esempio non viene controllato per i collegamenti se il CNC è abilitato. Oppure quando clicchiamo su un collegamento al profilo di un utente, veniamo indirizzati direttamente al suo profilo e non a una finestra jQuery con brevi informazioni. In generale c'è qualcosa da migliorare. Ma tutte queste cose non sono state incluse qui per una sola ragione: per evitare che il principiante si confonda. Ti consiglio anche di analizzare altri file, ad esempio topnews.php. Se hai domande sulla scrittura dei moduli o sul sistema in generale, sarò felice di risponderti.

Per me questo è tutto, se qualcuno trova interessante questo argomento, farò una serie di articoli sul cms Datalide Engine (DLE).

Oh sì, questo è il mio primo articolo su Habré, quindi scusa se c'è qualcosa che non va.

Puoi sempre trovare le ultime versioni di DataLife Engine sul sito. Scegli diverse versioni annullate e con licenza di cms DLE, CP1251 o UTF-8, tutte le ultime direttamente da dle-news. Ad esempio nuovo Puoi scaricare DataLife Engine 13.0 Final e annullato DLE 13.0 gratuitamente senza registrazione e tramite un collegamento diretto.
Il sito è sempre il primo a offrire le ultime versioni!

DataLife Engine 13.0 DLE 13.0 finale e annullato gratuito

Cominciamo con il nuovo Datalife Engine: com'è davvero semplice!

Molte persone hanno sentito parlare di un CMS come Datalife Engine. E certamente non meno persone hanno sentito parlare dei suoi evidenti vantaggi. A proposito di funzionalità. Informazioni sul supporto per MySQL e le sue estensioni. E, naturalmente, quanto sia conveniente Datalife Engine sia per gli utenti che per coloro che sono coinvolti nell'amministrazione del sito web.
Molte persone volevano provare tutte le delizie e hanno provato a scaricare DLE. Ma purtroppo potete provare gratuitamente solo la versione di prova, mentre potrete valutare tutti i vantaggi di CMS 13.0 solo con una licenza. A proposito, non è consigliabile utilizzare software illegale. Ciò può danneggiare il sito creato su DLE e i suoi proprietari. Non ha senso correre rischi: il costo è leggermente superiore a cento dollari. Per questo motivo non dovresti scaricare dle da un torrent. È molto più semplice scaricarlo da noi, provarlo e poi decidere se hackerare cms o acquistare una licenza.

Cosa fare se si decide di testare questo meraviglioso motore?

La procedura è molto semplice, ma ha le sue sfumature:
decompressione sul server nella cartella del sito;
supporto server PHP 5.0;
server con traffico adeguato;
20 MB di spazio su disco.
Se il sito Web è installato su un terminale locale, è necessario installare qui un software speciale che svolge il ruolo di server. L'opzione migliore per questo è Apache o Denwer.
Si presuppone MySQL, dove viene creato il database in modo che quest'ultimo abbia pieno accesso. I diritti vengono assegnati anche a diverse cartelle, sulle quali è consigliabile consultare più in dettaglio le istruzioni. Ci sono altre cartelle all'interno delle cartelle e avranno bisogno delle autorizzazioni di scrittura CHMOD 777. I file interni devono avere CHMOD 666.
Il programma viene avviato utilizzando assolutamente qualsiasi browser. La sua riga contiene il seguente indirizzo install.php. Seguiranno consigli per l'installazione. Inserisci il tuo login/password.
Una volta completata l'installazione, install.php viene eliminato dalla directory, così come il contenuto dell'aggiornamento. A cosa serve questa azione? Senza disinstallazione, ogni avvio di una risorsa Internet inizierà con l'installazione di DLE Nulled 13.0 che stai utilizzando. L'accesso al CMS viene effettuato utilizzando l'URL mostrato nelle istruzioni. Questo "URL" porta direttamente al pannello di amministrazione.

Cosa riceveranno i visitatori del sito?

Potranno registrarsi rapidamente e potranno aggiungere immediatamente commenti. Un grande vantaggio del sistema è che le notizie vengono inserite dagli stessi “utenti”. Dopo la registrazione inizia a formarsi la valutazione del profilo “utente”.
Si possono cancellare o modificare notizie, cambiare foto del profilo, ripristinare credenziali dimenticate o perdute. Le possibilità sono molto serie. Gli "amministratori" non riceveranno meno funzionalità. Possono fare tutto ciò che possono fare gli “utenti”, compresa la gestione dei profili di questi ultimi.
In breve, CMS DLE è un sistema abbastanza semplice che non richiede a nessuno di essere un guru della programmazione web. Un semplice utente può facilmente creare il proprio sito Web con molte fantastiche funzionalità. E gli appassionati di questo sistema di controllo possono aspettarsi l'imminente rilascio della versione 13.1. Finora non si sa veramente nulla, dato che è appena stato rilasciato il comunicato stampa 13.0, ma molti aspettano il rilascio.
Appena uscirà faremo sicuramente una recensione. Nel frattempo restate con noi e leggete le novità introdotte da Celsoft nella versione 13.0:


Presentato alla tua attenzione DLE 13.0, scaricato da spento. luogo, che senza attivazione sarà una versione demo. Ma appositamente per te è stata preparata una licenza demo. Ma lo offriamo solo a scopo informativo! E come sempre, DLE 13.0 è stato annullato - che differisce dalla versione originale in quanto abbiamo decodificato e rimosso il codice che richiede la chiave nei file - \engine\inc\include\init.php e \engine\inc\include\functions .inc.php, non sono state apportate altre modifiche al codice! Gli amministratori del sito ti ricordano che offrono una versione annullata e keygen - solo a scopo informativo con tutte le funzionalità dello script, e ti chiediamo di acquistare comunque la patente dopo aver studiato. Abbiamo acquistato una licenza per il sito web del portale e ti consigliamo vivamente di fare lo stesso!

Saluto tutti coloro che dedicano il loro prezioso tempo a queste righe.

In questo articolo voglio parlare di come configurare in modo ottimale il server e il sistema di gestione dei contenuti DataLife Engine. In 4 anni di lavoro con siti e server Internet, ho imparato che la sicurezza viene prima della comodità e che ad essa occorre prestare attenzione. Prenotazione: Non rivendico la proprietà della proprietà intellettuale di nessuno! Tutto il materiale è stato raccolto su Internet.

Di seguito descriveremo le azioni che aiuteranno a distribuire il carico del server, a proteggerlo dagli attacchi DOS, a limitare l'accesso al protocollo FTP e a configurare correttamente il sistema DataLife Engine.

Sicurezza e configurazione del tuo server.

1. Impostazione della configurazione del server utilizzando la combinazione front-end da Nginx ad Apache.

I vantaggi di un tale schema possono essere compresi con un piccolo esempio. Immagina che il tuo server web Apache debba servire circa 1000 richieste contemporaneamente, molte delle quali connesse a canali di comunicazione lenti. Nel caso di Apache, ci ritroveremo con 1000 processi httpd, a ciascuno dei quali verrà allocata RAM, e questa memoria non verrà liberata finché il client non riceverà il contenuto richiesto.

Nel caso di uno schema che utilizza un server front-end, riceveremo un notevole risparmio di risorse dovuto al fatto che dopo aver ricevuto una richiesta, nginx trasmette la richiesta ad Apache e riceve rapidamente una risposta. Di conseguenza, Apache, dopo aver fornito la risposta a nginx, libera la memoria. Successivamente, il server web nginx interagisce con il client, che è scritto proprio per distribuire contenuto statico a un gran numero di client con un consumo minimo di risorse di sistema.

Affinché il nostro pacchetto funzioni correttamente, abbiamo bisogno di un modulo per Apache. Questa esigenza nasce per il seguente motivo: le richieste ad Apache provengono dall'indirizzo IP su cui gira nginx, quindi nei file di log di Apache apparirà solo l'indirizzo IP del server nginx; Inoltre, senza utilizzare questo modulo, inizieranno i problemi con gli script che utilizzano l'indirizzo IP del visitatore e il meccanismo per limitare l'accesso tramite indirizzi IP utilizzando .htaccess non funzionerà più correttamente.

Installazione di NGINX sui sistemi operativi più diffusi.

Red Hat Enterprise Linux 4/CentOS 4
Per installare nginx su questi sistemi operativi, è necessario connettere un repository di pacchetti aggiuntivo.

Red Hat Enterprise Linux 5/CentOS 5
Per installare nginx su questi sistemi operativi, è necessario connettere un repository di pacchetti EPEL aggiuntivo.

ASPLinux Server 5 / Fedora
nginx è incluso nel pacchetto di distribuzione standard.

Se i repository sono connessi o semplicemente non sono necessari, esegui: gnam installa nginx

Installazione di Apache.

Per installare il server web Apache, basta eseguire: gnam installa httpd

Installazione di mod_rpaf.

1. Installa il pacchetto httpd-devel:

yum -y installa httpd-devel


2. Scarica e installa mod_rpaf:
Immettere la directory /usr/local/src

cd /usr/local/src


Carica il file mod_rpaf-0.6.tar.gz in /usr/local/src

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz


Decomprimere mod_rpaf-0.6.tar.gz

tar xzf mod_rpaf-0.6.tar.gz


Vai alla directory in cui hai decompresso

Installazione del modulo nel sistema

apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c


3. Successivamente, devi creare un file di configurazione mod_rpaf - /etc/httpd/conf.d/rpaf.conf e aggiungervi le seguenti righe:


RPA Abilitabile
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy


dove xx.xx.xx.xx e yy.yy.yy.yy sono gli indirizzi IP del tuo server. Se sul server sono presenti più di due IP, aggiungerli utilizzando la stessa analogia.

riavvio del servizio httpd


4. In nginx, all'interno del blocco http() devono essere specificate le seguenti righe:

proxy_set_header Host $host;


Se queste righe vengono specificate, non è necessario aggiungerle.

Se nginx.conf viene modificato, nginx dovrebbe essere riavviato:

/etc/init.d/nginx si interrompe
/etc/init.d/nginx avvia


5. Come verificare se il modulo installato funziona?
Su uno qualsiasi dei domini che si trovano sul tuo server, inserisci il file test.php con il contenuto:

" echo $_SERVER["REMOTE_ADDR"]; ?>"


Successivamente, segui il collegamento, dove domain.tcom è il tuo nome di dominio. Se viene visualizzato un IP diverso dall'IP del tuo server, il modulo funziona correttamente.

Configurazione di NGINX.

Di seguito è riportato il file di configurazione nginx per funzionare come server front-end. Si presuppone che nginx verrà eseguito su tutte le interfacce sulla porta 80 e Apache verrà eseguito sull'interfaccia 127.0.0.1 e sulla porta 8080. Salvare questo file di configurazione nella directory /etc/nginx/ con il nome nginx.conf.

utente nginx;
processi_operaio 10;
error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;

eventi (
connessioni_lavoratore 20000;
}

http(
includere /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main "$indirizzo_remoto - $utente_remoto [$time_local] $status "
""$richiesta" $body_bytes_sent "$http_referer" "
""$http_user_agent" "http_x_forwarded_for"";
access_log /var/log/nginx/access.log principale;
inviafile attivo;
tcp_nospingere;
tcp_nodelay attivo;
keepalive_timeout 30;
invio_timeout 900;
server_token disattivati;
server (
ascolta 80;
nome del server_;
nome_server_in_reindirizzamento disattivato;
access_log /var/log/nginx/host.access.log principale;
posizione/(
proxy_pass http://127.0.0.1:8080/;
reindirizzamento_proxy disattivato;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
cliente_max_corpo_dimensione 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
buffer_proxy 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
}
}


Configurazione di Apache.

Nel file di configurazione di Apache /etc/httpd/conf/httpd.conf, trova la riga:

e sostituirlo con la riga:

Ascolta 127.0.0.1:8080


Configurazione di mod_rpaf.

Aggiungi il modulo mod_rpaf al tuo file di configurazione Apache. Per fare ciò, aggiungi la seguente riga al file /etc/httpd/conf/httpd.conf:

LoadModule rpaf_module moduli/mod_rpaf-2.0.so


Quindi aggiungi le righe allo stesso file:

RPA Abilitabile
RPAFsethostname Disattivato
RPAFproxy_ips 127.0.0.1 192.168.0.1
Intestazione RPAF X-Real-IP


Invece di 192.168.0.1 devi inserire l'indirizzo IP del server.

2. Configurazione del server per la protezione contro gli attacchi DOS.

Abilitiamo la memorizzazione nella cache della pagina principale in nginx per coloro che non dispongono di cookie.

Aggiungi restrizioni a nginx.conf:

limit_req_zone $binary_remote_addr zone=due:20m rate=2r/s;
server(
posizione/(
limit_req zone=due burst=5;
}
}
}


Usiamo tail e awk:

tail -f /var/log/nginx/access.log | grep GET/HTTP/1.1" 503


Collega il registro:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "( stampa $1 )"


Otteniamo l'IP delle macchine:

iptables -A INPUT -p tcp -j DROP -s $IP


Inserisci l'IP nel Firewall:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "( print $1 )" | xargs -t -l iptables -A INPUT -p tcp -j DROP –s


Ora impostiamo connlimit per iptables per limitare le connessioni dei bot. Nelle regole impostiamo l'autorizzazione per 5 connessioni da un IP e 25 da una sottorete di classe C.

Attacco DDOS con 16.000 bot - Caricamento medio: 1,4 1,9 2,0

Limitazione dell'accesso FTP

Per questo abbiamo bisogno del file .ftpaccess. Ti aiuterà a bloccare o consentire l'accesso FTP da indirizzi IP specificati. Qualcuno potrebbe porre la domanda: “Ho un IP dinamico, come posso utilizzare correttamente .ftpaccess?” L'unica risposta che intendo è: “Se hai bisogno di questo componente aggiuntivo di sicurezza, acquista un IP statico dal tuo provider. Non ti chiederanno molti soldi per questo.

Per creare il file .ftpacces abbiamo bisogno dell'accesso SSH. Puoi usare il programma winscp. Possono esserci molte impostazioni in .ftpaccess, ma a noi interessa solo un parametro. Scrivendo queste righe nel file bloccherai completamente l'accesso a tutti:

Negato da tutti


Dopo quanto scritto sopra, nessuno potrà accedere all'FTP. Per aggiungere l'autorizzazione di accesso a un IP specifico, è necessario specificare i seguenti parametri:

Consenti da 127.0.0.1
Negato da tutti


Naturalmente l'indirizzo 127.0.0.1 viene fornito come esempio e deve essere sostituito con il proprio.

Importante!È meglio negare l'accesso tramite FTP assolutamente a tutti e connettersi solo tramite SSH.

Protezione del sistema di gestione dei contenuti DataLife Engine.

1. Installa e configura.

2. Rinominare il file del pannello di amministrazione e crearne uno falso al vecchio indirizzo (www.sait.com/admin.php) al quale l'utente verrà bloccato bannando il suo ip in .htaccess.

Rinominato? Ora creiamo un file ip.txt nella directory root per memorizzare gli indirizzi IP. Gli diamo i diritti .htaccess CHMOD – 777.

Crea un file admin.php con il seguente contenuto:


$ip = getenv("REMOTE_ADDR");

$log = fopen("ip.txt", "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);

$f = fopen($_SERVER["DOCUMENT_ROOT"] . "/.htaccess", "a");
fwrite($f, "\ndeny da " . $ip);
fchiudi($f);

Pannello di amministrazione di DataLife Engine

Testo, ad esempio: Il tuo IP è nei log, ti troverò!

Abbi paura, nullità, ahah!

"
3. Aggiungiamo ulteriore autenticazione nell'interfaccia di amministrazione.

Devi trovare un altro nome utente e una password (non utilizzare i dettagli del tuo account amministrativo). Il secondo login e la password devono essere completamente diversi dalla prima. Hai deciso? Grande! Ora crittifichiamo la nostra password in md5 (puoi farlo sul sito md5encryption.com).
Successivamente, apri admin.php (ricorda, l'abbiamo rinominato in precedenza e, quindi, se lo hai chiamato superadmin.php, devi aprire questo) e dopo la riga:

aggiungere:

$login="inserisci il login inventato";
$password="e password generata in md5";
if (!isset($_SERVER["PHP_AUTH_USER"]) || $_SERVER["PHP_AUTH_USER"]!==$login ||
md5($_SERVER["PHP_AUTH_PW"])!==$password) (
header("WWW-Authenticate: Basic realm="Pannello di amministrazione"");
intestazione ("HTTP/1.0 401 non autorizzato");
uscita("Accesso negato");)


4. Disabilita le funzioni php non utilizzate dal sistema.

Per cercare il file php.ini, crea un file phpinfo.php con il testo:

Dopo la ricerca, assicurati di eliminare phpinfo.php!

disable_functions = consent_url_fopen, eval, exec, system, passthru, scandir, popen, shell_exec, proc_open, proc_close, proc_nice, get_current_user, getmyuid, posix_getpwuid, apache_get_modules, virtual, posix_getgrgid, getmyinode, fileowner, filegroup, getmypid, apache_get_version ap, ache_getenv , nota_apache , apache_setenv, disk_free_space, diskfreespace, dl, ini_restore, openlog, syslog, highlight_file, show_source, collegamento simbolico, disk_total_space, ini_get_all, get_current_user, posix_uname,allow_url_fopen


5. Creiamo filtri per le richieste GET e POST, impedendo iniezioni nel database e ottenendo dati da esso.

Crea un file .php con un nome personalizzato e il seguente contenuto:

//imposta su uno se desideri abilitare il debug delle query
$debug = 0;

$bag_req = array("select", "eval", "echo", "UPDATE", "LIMIT", "INSERT", "INTO", "union", "CONCAT", "INFORMATION_SCHEMA", "OUTFILE", " DUMPFILE", "LOAD_FILE", "BENCHMARK", "SUBSTRING", "ASCII", "CHAR", "database", "HEX", "\\.\\/", "%00", "\\.htaccess ", "config\\.php", "document\\.cookie");
$richiesta = serializza($_GET);


se($_GET)
{
foreach ($bag_req come $chiave => $valore) (
{
Query trovata nell'array $valore
$richiesta";
}
}
}
se($_POST)
{
$request = str_replace("selected_lingual", "sl", serialize($_POST));
$urequest = urldecode($request);
$brequest = base64_decode($request);
foreach ($bag_req come $chiave => $valore) (
if(preg_match("/$valore/i", $richiesta) || preg_match("/$valore/i", $urequest) || preg_match("/$valore/i", $brequest))
{
if($debug == "1") $do_debug = "
Query trovata nell'array $valore, che ne impedisce il corretto funzionamento
$richiesta";
die("RICHIESTA ERRATA $do_debug");
}
}
}
?>


Lo salviamo sul server in qualsiasi directory del sistema DLE. Apri il file engine/classes/mysql.php e dopo:

if(!definito("DATALIFEENGINE"))
{
die("Tentativo di hacking!");
}


collega il file creato:

include_once(ENGINE_DIR."/file_path/name.php");


6. Quando utilizzi componenti gratuiti per DLE, assicurati di scoprire l'opinione di uno specialista sulla loro affidabilità.

Se hai domande, contatta i motori di ricerca: tutto il materiale è disponibile gratuitamente!
Qualcosa da aggiungere? Siete invitati a discutere!

In bocca al lupo a te e ai tuoi progetti!

Dall'autore: Saluti, amici. In questo breve articolo di panoramica vedremo come funziona il pannello di amministrazione di DLE, dove si trova l'ingresso al pannello di amministrazione di DLE e come arrivare al pannello di amministrazione. Come hai capito, l'articolo è rivolto principalmente a coloro che hanno appena iniziato a conoscere CMS DLE.

Quindi, hai installato il motore DLE sul tuo hosting o server locale. Come posso accedere adesso all'area amministrativa di DLE? È semplice, per farlo basta andare sulla pagina principale del tuo sito e aggiungere la riga admin.php all'indirizzo, quindi andare al nuovo indirizzo. Ad esempio, l'indirizzo del mio sito web è dle.loc, rispettivamente, il pannello di amministrazione DLE si trova al seguente URL: dle.loc/admin.php

Quando proviamo ad accedere al pannello di amministrazione di DLE, vedremo logicamente un modulo di autorizzazione in cui dobbiamo inserire il login e la password dell'amministratore che abbiamo creato durante la fase di installazione di DLE. Effettuiamo l'accesso. Dopo aver ottenuto con successo l'autorizzazione, ci troviamo nel sancta sanctorum del nostro sito: il pannello di controllo DLE.

Vale la pena notare che il pannello di amministrazione DLE è costruito in modo abbastanza logico e intuitivo. Se provi a confrontare con i pannelli di amministrazione di altri CMS, il pannello di amministrazione DLE sarà un po' più complesso del pannello di amministrazione di WordPress, ma più semplice e comprensibile rispetto al pannello di amministrazione di Joomla. Anche l'aspetto del pannello di amministrazione DLE è degno di lode; lavorare con il pannello di amministrazione è abbastanza piacevole e conveniente.

Nell'angolo in alto a destra possiamo vedere i dati sul nostro profilo, dove puoi modificare la tua e-mail, nome, password e altri dati simili. Inoltre nelle vicinanze è possibile accedere alle due funzioni utilizzate più frequentemente durante la gestione di un sito: aggiungere notizie e modificare notizie. Poiché DLE è un motore di notizie, è logico che le funzioni di gestione delle notizie siano fornite per un facile accesso.

Proviamo ad aggiungere la prima notizia, o articolo se volete, al nostro sito. Per fare ciò, fai clic sul pulsante Aggiungi notizia e compila il modulo fornito per aggiungere notizie. In sostanza basterà indicare il titolo dell'articolo, selezionarne una categoria e compilare una descrizione breve e completa dell'articolo da inserire.

Salviamo la notizia e vediamo se appare nella pagina principale del sito. L'articolo è apparso ed è fantastico, perché puoi aggiungere altri tuoi articoli e notizie con la stessa facilità e semplicità.

Cambiamo anche il nome del sito. Questo può essere fatto nella sezione Impostazioni script - Impostazioni di sistema. Nel campo Nome sito, inserisci il nome desiderato.

Ora nella scheda del browser vedremo ciò di cui abbiamo bisogno come nome del sito. Come puoi vedere, tutto è davvero comodo, logico e comprensibile nel pannello di amministrazione di DLE. Negli articoli seguenti conosceremo altre funzionalità DLE, ma probabilmente finiremo qui con l'articolo attuale. Se vuoi conoscere DLE più a fondo e imparare come creare siti Web su questo motore, assicurati di prestare attenzione al nostro corso. Bene, con questo ti saluto. Buona fortuna!




Superiore