DLE-installatie. Een eenvoudige module maken voor CMS Datalife Engine (DLE)

Laten we het hebben over het menu op de dle-website. Om precies te zijn, hoe u uw eigen items aan het menu kunt toevoegen of bestaande kunt vervangen door nieuwe. Heel vaak, voor beginners die dit CMS net hebben geïnstalleerd, rijst de vraag: "Hoe vervang je de standaard menu-items in de standaardsjabloon door die van jezelf?" Als dit in wordpress kan zonder de code te bewerken, dan is de situatie in dle anders, je moet nog steeds in de code komen en het een beetje uitzoeken. Het is echter niet moeilijk om nieuwe items toe te voegen, en ik hoop dat je dit vandaag kunt zien.

Dus laten we aan de slag gaan. Om te beginnen moeten we items maken die later in het dle-menu moeten worden geïmplementeerd, of het nu pagina's of categorieën zijn. Ga hiervoor naar het beheerderspaneel en klik op het item "lijst met alle secties".

En dan hangt het allemaal af van de situatie. Als we een link naar de sitecategorie aan het menu moeten toevoegen, ga dan naar het item "Categorieën" en als we een pagina moeten maken waarnaar het menu-item de gebruiker zal leiden, ga dan naar de "Statische pagina's" item. Er is geen fundamenteel verschil tussen beide, dus we zullen een van de twee opties kiezen, bijvoorbeeld "Categorieën".

Er verschijnt een formulier voor het aanmaken van een nieuwe categorie op de site. Alles is daar eenvoudig. Waar elk formulierveld voor wordt gebruikt, zie afbeelding.

Niet alle velden die in de figuur worden beschreven zijn verplicht, maar alleen de eerste en tweede velden. En de punten die ik niet heb aangeroerd op de afbeelding hebben helemaal geen betrekking op categorieën, maar op globale engine-instellingen, zoals de instellingen voor nieuwsuitvoer, en bieden ook de mogelijkheid om voor elke categorie afzonderlijk een uniek sjabloon toe te wijzen.

Na het invullen van de verplichte velden, in ieder geval de eerste twee, klikt u op de knop Toevoegen. Deze actie zal een nieuwe categorie op de site creëren, een link die we zullen toevoegen aan het dle-menu. En let vooral op het tweede veld, waar het nodig was om een ​​alternatieve naam voor de categorie te registreren, het adres waarop de categorie zich zal bevinden. In mijn voorbeeld ziet het er als volgt uit: http://site.ru/primer_category/

Laten we nu verder gaan met het direct toevoegen van een nieuw item aan het dle-menu.

Om dit te doen, moet u in het beheerderspaneel naar de sectie "Websitesjablonen" gaan.

En dan moet je een van de twee bestanden selecteren, als er een standaardsjabloon wordt gebruikt, waarin de menu's op de site zijn geregistreerd. Er zijn twee soorten menu's in de standaardsjabloon: deze, en zowel horizontaal als verticaal. Het bestand topmenu.tpl is verantwoordelijk voor het horizontale menu en het bestand sidebar.tpl is verantwoordelijk voor het verticale menu in de linkerkolom van de site. Beide bestanden zijn te vinden in de linkerkolom van het gedeelte Sitesjablonen. En wanneer u op een ervan klikt, verschijnt de code van dit bestand in de rechterkolom.

Nadat we het bestand hebben geopend, moeten we elk bestaand item op het onze repareren. Dat wil zeggen, verander de naam, in dit geval in de naam van de categorie. En vervang een link naar de categorie zelf (alternatieve naam), in plaats van #. Dat wil zeggen, als ik het item "Over site" vervang, ziet de menucode er als volgt uit:

Naar analogie kunt u de rest van de menu-items wijzigen. Wat betreft het tweede, horizontale menu, is de situatie daar precies hetzelfde. En natuurlijk kan alles wat je niet nodig hebt, worden verwijderd. En natuurlijk, sla het bewerkte bestand op.

Als je ergens niet zeker van bent, bijvoorbeeld dat je iets overbodigs verwijdert, doe het dan gewoon zodat het in geval van onvoorziene situaties kan worden hersteld.

En dat is alles voor mij.

Er zijn een groot aantal sites op internet en ze werken allemaal op verschillende motoren. De verschillen zitten vooral in de functionaliteit van de engines en in het werkgemak voor externe gebruikers van de sites. De meest populaire engines zijn Joomla, WordPress, Drupal, DLE. We zullen in meer detail op de laatste ingaan, omdat het een van de handigste en eenvoudigste motoren is, die steeds vaker wordt gekozen door webmasters en de basis wordt van de meeste webbronnen.

De DLE-engine is de DataLifeEngine, de basis die voorheen bedoeld was om te worden gebruikt voor bronnen met nieuwsfeeds en recensies. Tegenwoordig werken een breed scala aan sites gewijd aan elk onderwerp aan deze engine.

De DLE-engine heeft zijn populariteit verdiend dankzij zijn enorme functionaliteit, die in detail wordt beschreven op de website dle-news.ru. De makers van deze engine bieden twee versies van hun product aan: betaald en gratis. Het is vrij logisch om aan te nemen dat de gratis versie meer beperkte functies zal hebben. Maar desondanks is de gratis versie van het DLE-product een uitstekende engine voor zowel beginnende als meer gevorderde webmasters. Sites met niet alleen nieuws, maar ook gewijd aan koken, medische onderwerpen, etc. werken er prima op.

Op welke hosting kan ik DLE installeren?

Voordat je begint met het installeren van de DLE-engine, is het leuk om kennis te maken met de eisen die het stelt aan de server. Ten eerste zijn er verschillende geïnstalleerde bibliotheken: PHP Zlib, PHP XML, PHP GD2, PHP iconv. Daarnaast moet de software Apache versie 2.0 of hoger, PHP 4.3.2+ of PHP 5.0+ en MySQL versie 4.0 of hoger bevatten. RAM moet minimaal 8 megabyte zijn, maar dit is het minimum. Niemand verbiedt het gebruik van RAM met 16 megabyte, waarop het product nog beter zal werken.

Wanneer u de DLE-engine op de server gebruikt, is het beter om de veilige modus uit te schakelen, die wordt aangeduid als SafeMode.

Controle op naleving van hosting

De beschrijving van het installatieproces, die u hieronder zult lezen, is gebaseerd op de conclusies die zijn gemaakt na het installeren van de engine op een testwebbron. Voor een meer visueel voorbeeld zijn er screenshots van elke fase van het installatieproces.

We starten de installatie door de volledige lijst met instellingen te controleren. Om dit te doen, voegt u een tekstdocument toe aan de hoofdmap van de site, geeft u het de naam phpinfo.php en schrijft u de code erin:

Vervolgens lanceren we het script dat we hebben kunnen maken. In de browser typen we het volgende: https://my_site.ru/phpinfo.php. Daarna kunnen we de volgende afbeelding op de pagina zien:

De rood omcirkelde plaatsen zijn de belangrijkste parameters die het verdere werk van de gemaakte webresource bepalen. Om bijvoorbeeld met grafische objecten te kunnen werken, is de normale werking van de PHP GD2 Library vereist. Als het verkeerd is geïnstalleerd, wordt de captcha niet weergegeven op de site.

Om ervoor te zorgen dat de gemaakte webresource normaal werkt, moet u de MySQL-database installeren. Het systeem vraagt ​​om een ​​gebruikersnaam en wachtwoord. Om deze gegevens niet te vergeten, kunt u ze beter ergens opschrijven. Voor het configureren van de database gebruiken we het controlepaneel dat op de hosting staat.

Gedetailleerde instructies voor het installeren van DLE

Nadat het pakket met de engine naar de computer is gedownload, moet het worden uitgepakt en geïnstalleerd. Maar we gaan niet alles achter elkaar installeren, maar alleen de uploadmap en de Documentatiemap. In het geval dat de hosting een functie heeft voor het herkennen van zip-archieven, zal het installatieproces sneller gaan. Als deze functie niet wordt ondersteund, moeten bestanden uit het archief apart worden gedownload.

Het is erg handig om met TotalCommander te werken bij het installeren van de DLE-engine. Wanneer u bestanden of mappen naar de server kopieert, moet het selectievakje "Vertaal bestandsnamen naar kleine letters" zijn uitgeschakeld.

Als de server het mogelijk maakt om het archief te herkennen en uit te pakken, plaatsen we alle bestanden die in de uploadmap staan ​​in één keer erin.

Nu sluiten we de TotalCommander en gaan we verder met de installatie met behulp van de ftp-client. Voor de juiste werking van de site dient u zeer zorgvuldig de gegevens van de bestanden en mappen van de server in te voeren.

Om de attributen te corrigeren, moet u de gewenste map selecteren. Nadat u de machtigingen van een map hebt gewijzigd, worden deze niet vervangen door de inhoud van de mappen. Het is het handigst om bestanden en mappen te selecteren die we zullen wijzigen met TotalCommander of de sneltoets Alt + A.

Voer in het geopende venster in wat we nodig hebben en klik op OK.

- Stel de machtigingen in voor de map sjablonen en al zijn submappen om te schrijven (CHMOD 777)

- Stel schrijfrechten in voor alle bestanden in de map sjablonen (CHMOD 666)

- Stel schrijfrechten in (CHMOD 777) voor de back-up, uploadmappen en voor alle mappen erin.

- Stel schrijfrechten in (CHMOD 777) voor /engine/data/, /engine/cache/, /engine/cache/system/ mappen.

Wanneer alle aanpassingen zijn gemaakt, voert u het volgende item in de browser in: https://proba.regciti.ru/install.php. Het betekent dat we een bestand gaan uitvoeren met de naam install.php. Nadat het bestand is gestart, verschijnen er hints in elk venster dat wordt geopend. Door ons te concentreren op deze handtekeningen, gaan we verder met het installatieproces. In principe start het automatisch, en het systeem controleert zelf al die bestanden die geïnstalleerd moeten worden en laat je weten wanneer de installatie voltooid is.

Nu kun je het voorlopige resultaat zien van waar je al die tijd zo ijverig aan hebt gewerkt. Voer https://uw sitenaam/index.php in de browserregel in. Er wordt een demopagina voor u geopend. Om het beheerderspaneel te openen en te beginnen met werken, moet u het volgende item in de adresbalk invoeren: https://uw sitenaam/admin.php. Indien correct geïnstalleerd, zou de volgende afbeelding op het scherm moeten verschijnen:

We gaan akkoord met het aanbod dat in de linker benedenhoek wordt weergegeven en starten de installatie. Nadat u op deze knop hebt geklikt, verschijnt er een venster waarin u wordt gevraagd de voorwaarden van de licentieovereenkomst te lezen. De overgang naar de volgende pagina vindt alleen plaats als u deze overeenkomst accepteert en het betreffende vakje aanvinkt. Klik op "doorgaan":

Daarna begint automatisch het proces van het controleren van al die componenten en bestanden die zijn geïnstalleerd. Het script wijst automatisch op de fouten die zijn gemaakt en die gecorrigeerd moeten worden om verder te kunnen werken. Deze foto heeft een lijst met verschillende items. Ze zouden zonder rode streep moeten zijn - dit betekent dat het script geen fouten heeft gevonden en dat u verder kunt werken. Als een item in een rode streep staat, repareren we de fout. In principe kan het script van u eisen dat u fouten herstelt, en u kunt weigeren, maar dan verwachten dat het systeem op sommige punten faalt. En het zal alleen jouw schuld zijn, niet de providers en niet de gebruikers. Als de fouten niet verholpen kunnen worden, kun je advies of hulp vragen aan de aanbieder die jou een plek op de server geeft.

Onderaan de doos staat ook een lijst met items die zonder rode streep zouden moeten zijn. Maar deze fouten zijn niet zo kritiek en hebben mogelijk geen invloed op het werk van de toekomstige site. Het punt is dat het script bepaalde standaardinstellingen heeft en dat deze niet altijd overeenkomen met de gebruikersinstellingen. Het is in dit stadium beter om de hostingprovider te raadplegen en te verduidelijken of sommige van de rood gemarkeerde instellingen niet overeenkomen met de instellingen die door het systeem worden voorgesteld.

We gaan verder en krijgen een nieuw venster dat wordt geopend. Hier kunt u zien welke fouten zijn gemaakt op het moment dat u wijzigingen aanbracht in Attributen voor mappen en bestanden. Het script zelf laat je zien waar je fouten hebt gemaakt of iets hebt gemist.

Als er nog steeds fouten zijn, is het beter om deze te herstellen via een FTP-client. na de aanpassing verversen we de pagina en kijken of er nog plekken zijn waar aanpassingen gedaan moeten worden. Als je alles goed hebt gedaan en het systeem geen plaatsen met fouten voor je heeft toegewezen, gefeliciteerd! Je hebt met succes een van de moeilijkste en meest cruciale fasen van de installatie doorlopen en nu kun je veilig doorgaan!

MySQL-server:

MySQL-codering:

De volgende afbeelding toont plaatsen die zeer zorgvuldig en correct moeten worden ingevoerd.

De databasenaam is dezelfde als die we aan het begin hebben toegewezen. In ons geval is dit proba_regciti.

Voer in het item "Gebruikersnaam" de login in van de gebruiker namens wie de database is gemaakt. In dat stadium hebben we de login en het wachtwoord opgeschreven voor het geval dat.

Geef het e-mailadres op in de regel E-mail. Klik op "Doorgaan". Als er geen invoerfouten zijn op de vorige pagina, ziet u het opschrift: "Gefeliciteerd! Installatie succesvol voltooid."

Let in het volgende venster dat opent op een aantal punten.

Toen je het script installeerde, werd er automatisch een database mee aangemaakt, een admin-kast en systeeminstellingen. Om niet alle instellingen omver te werpen en geen herinstallatie te starten, is het aan te raden install.php te verwijderen.

Ik hoop dat je nu begrijpt hoe je DLE op hosting moet installeren. Als je nog vragen hebt, stel ze dan in de reacties op dit artikel.

Gepubliceerd door auteur

Groeten aan allen die hun kostbare tijd aan deze regels wijden.

In dit artikel wil ik het hebben over manieren om de DataLife Engine-server en het contentmanagementsysteem optimaal te configureren. Meer dan 4 jaar werken met internetsites en servers, heb ik geleerd dat veiligheid boven gemak gaat en dat er aandacht aan moet worden besteed. Reservering: Ik claim geen eigendom van iemands intellectuele eigendom! Al het materiaal wordt verzameld op internet.

De volgende stappen worden beschreven om de serverbelasting te verdelen, deze te beschermen tegen DOS-aanvallen, de toegang tot het FTP-protocol te beperken en het DataLife Engine-systeem correct te configureren.

Uw server beschermen en configureren.

1. De serverconfiguratie instellen met behulp van de front-end Nginx naar Apache-bundel.

De voordelen van een dergelijk schema kunnen worden begrepen met een klein voorbeeld. Stelt u zich eens voor dat uw Apache-webserver ongeveer 1000 verzoeken tegelijkertijd moet verwerken, en dat veel daarvan zijn verbonden met trage communicatiekanalen. In het geval van het gebruik van Apache, zullen we 1000 httpd-processen krijgen, die elk RAM toegewezen krijgen, en dit geheugen zal niet worden vrijgemaakt totdat de client de gevraagde inhoud ontvangt.

In het geval van een schema dat gebruik maakt van een front-end server, zullen we aanzienlijke besparingen op de middelen realiseren doordat nginx, nadat een verzoek is ontvangen, het verzoek doorgeeft aan Apache en snel een reactie ontvangt. Als gevolg hiervan geeft Apache, na het antwoord op nginx te hebben gegeven, geheugen vrij. Vervolgens werkt de nginx-webserver samen met de client, die zojuist is geschreven om statische inhoud te distribueren naar een groot aantal clients met een laag verbruik van systeembronnen.

Voor de juiste werking van onze bundel hebben we een module voor Apache nodig. Er is een dergelijke behoefte om de volgende reden: verzoeken aan Apache komen respectievelijk van het IP-adres waarop nginx draait, alleen het IP-adres van de nginx-server verschijnt in de Apache-logbestanden. Ook zullen, zonder deze module te gebruiken, problemen beginnen met scripts die het IP-adres van de bezoeker gebruiken en het mechanisme voor het beperken van toegang door IP-adressen met behulp van .htaccess zal niet meer correct werken.

NGINX installeren op populaire besturingssystemen.

Red Hat Enterprise Linux 4 / CentOS 4
Om nginx op deze besturingssystemen te installeren, moet u een extra pakketrepository inschakelen.

Red Hat Enterprise Linux 5 / CentOS 5
Om nginx op deze besturingssystemen te installeren, moet u een extra EPEL-pakketrepository inschakelen.

ASPLinux Server 5 / Fedora
nginx is inbegrepen in het standaard distributiepakket.

Als de repositories zijn aangesloten of gewoon niet nodig zijn, voeren we uit: yum installeer nginx

Apache installeren.

Om de Apache-webserver te installeren, voert u het volgende uit: yum installeer httpd

Installeer mod_rpaf.

1. Installeer het httpd-devel pakket:

yum -y installeer httpd-devel


2. Download en installeer mod_rpaf:
We gaan naar de directory /usr/local/src

cd /usr/local/src


Laad het bestand mod_rpaf-0.6.tar.gz in /usr/local/src

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


Mod_rpaf-0.6.tar.gz uitpakken

tar xzf mod_rpaf-0.6.tar.gz


Ga naar de map waarin je hebt uitgepakt

We zetten de module in het systeem

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


3. Vervolgens moet je een mod_rpaf configuratiebestand maken - /etc/httpd/conf.d/rpaf.conf en de volgende regels eraan toevoegen:


RPAFinschakelen Aan
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy


waarbij xx.xx.xx.xx en yy.yy.yy.yy de IP-adressen van uw server zijn. Als er meer dan twee IP's op de server staan, voeg ze dan op dezelfde manier toe.

service httpd herstart


4. In nginx moeten de volgende regels worden opgegeven in het http () -blok:

proxy_set_header Host $host;


Als deze regels zijn opgegeven, hoeft u niet toe te voegen.

Als nginx.conf is gewijzigd, herstart nginx:

/etc/init.d/nginx stop
/etc/init.d/nginx start


5. Hoe te controleren of de geïnstalleerde module werkt?
Plaats op elk van de domeinen die zich op uw server bevinden het test.php-bestand met de inhoud:

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


Volg vervolgens de link waar domain.tcom uw domeinnaam is. Als er een IP wordt weergegeven die afwijkt van het IP van uw server, werkt de module correct.

nginx-configuratie.

Het volgende is het nginx-configuratiebestand om als front-endserver te werken. Er wordt aangenomen dat nginx zal draaien op alle interfaces op poort 80, en Apache zal draaien op interface 127.0.0.1 en poort 8080. Sla dit configuratiebestand op in de /etc/nginx/ directory als nginx.conf.

gebruiker nginx;
werknemer_processen 10;
error_log /var/log/nginx/error.log debuggen;
pid /var/run/nginx.pid;

evenementen(
worker_connections 20000;
}

http(
inclusief /etc/nginx/mime.types;
default_type applicatie/octet-stream;
log_format main "$remote_addr - $remote_user [$time_local] $status "
""$request" $body_bytes_sent "$http_referer" "
""$http_user_agent" "http_x_forwarded_for"";
access_log /var/log/nginx/access.log hoofd;
verzendbestand aan;
tcp_nopush aan;
tcp_nodelay aan;
keepalive_timeout 30;
send_timeout 900;
server_tokens uit;
server(
luister 80;
server naam_;
server_name_in_redirect uit;
access_log /var/log/nginx/host.access.log hoofd;
plaats / (
proxy_pass http://127.0.0.1:8080/;
proxy_redirect uit;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_grootte 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
}
}


Apache-configuratie.

Zoek in het Apache-configuratiebestand /etc/httpd/conf/httpd.conf de regel:

en vervang het door de regel:

Luister 127.0.0.1:8080


mod_rpaf instelling.

Voeg de mod_rpaf-module toe aan uw Apache-configuratiebestand. Voeg hiervoor de volgende regel toe aan het bestand /etc/httpd/conf/httpd.conf:

LoadModule rpaf_module modules/mod_rpaf-2.0.so


Voeg vervolgens de volgende regels toe aan hetzelfde bestand:

RPAFinschakelen Aan
RPAFsethostnaam Uit
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP


In plaats van 192.168.0.1 moet u het IP-adres van de server invoeren.

2. Serverconfiguratie ter bescherming tegen dos-aanvallen.

We schakelen caching van de hoofdpagina in nginx in voor degenen die geen cookies hebben.

Voeg beperkingen toe aan nginx.conf:

limit_req_zone $binary_remote_addr zone=twee:20m snelheid=2r/s;
server(
plaats / (
limit_req zone=twee bursts=5;
}
}
}


We gebruiken staart en awk:

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


We koppelen het logboek:

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


We krijgen het IP-adres van machines:

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


We voeren het IP-adres in de Firewall in:

staart -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


Laten we nu connlimit instellen voor iptables om botverbindingen te beperken. In de regels stellen we toestemming voor 5 verbindingen van één IP en 25 van het klasse C-subnet.

DDOS-aanval van 16000 bots - Gemiddelde belasting: 1,4 1,9 2,0

Beperking FTP-toegang

Hiervoor hebben we een .ftpaccess-bestand nodig. Het helpt om FTP-toegang vanaf de opgegeven IP-adressen te weigeren of toe te staan. Iemand kan de vraag stellen: "Ik heb een dynamisch IP-adres, hoe gebruik ik .ftpaccess op de juiste manier?" Het antwoord dat ik bedoel is alleen dit: "Als je deze beveiligingsadd-on nodig hebt, vraag dan een statisch IP-adres aan bij je provider. Ze zullen je niet veel geld vragen."

Om het .ftpacces-bestand te maken, hebben we SSH-toegang nodig. Je kunt winscp gebruiken. Er kunnen veel instellingen zijn in .ftpaccess, maar we zijn maar in één parameter geïnteresseerd. Door deze regels in het bestand te schrijven, blokkeer je de toegang voor iedereen volledig:

Alles weigeren


Na het bovenstaande heeft niemand toegang tot de FTP. Om toegangsrechten toe te voegen aan een specifiek IP-adres, moet u de volgende parameters specificeren:

Toestaan ​​vanaf 127.0.0.1
Alles weigeren


Uiteraard wordt het adres 127.0.0.1 als voorbeeld aangegeven en moet het door uw eigen adres worden vervangen.

Belangrijk! Het is het beste om FTP-toegang voor absoluut iedereen uit te schakelen en alleen verbinding te maken via SSH.

Bescherming van het contentmanagementsysteem DataLife Engine.

1. Installeer en configureer .

2. Hernoem het admin-paneelbestand en maak een nep op het oude adres (www.sait.com/admin.php) waar de gebruiker naartoe wordt geblokkeerd door zijn ip in .htaccess te verbieden.

hernoemd? Nu maken we een ip.txt-bestand in de hoofdmap om ip-adressen op te slaan. We geven hem en .httoegangsrechten CHMOD - 777.

Maak een admin.php-bestand met de volgende inhoud:


$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 from " . $ip);
fclose($f);

Beheerderspaneel DataLife Engine

Tekst, bijvoorbeeld: Je ip staat in de logs, ik zal je vinden!

Vrees, kleintje, ha ha!

"
3. Laten we extra authenticatie toevoegen in het beheercentrum.

Je moet een andere login en wachtwoord bedenken (gebruik niet je administratieve accountgegevens). De tweede login en het wachtwoord moeten fundamenteel verschillen van de eerste. Beslist? Uitstekend! Laten we nu ons wachtwoord versleutelen in md5 (u kunt dit doen op de md5encryption.com website).
Open vervolgens admin.php (onthoud dat we het eerder hebben hernoemd en daarom, als je het superadmin.php hebt genoemd, moet je deze openen) en na de regel:

toevoegen:

$login="voer de login in die je hebt verzonnen";
$password="en gegenereerd wachtwoord in md5";
if (!isset($_SERVER["PHP_AUTH_USER"]) || $_SERVER["PHP_AUTH_USER"]!==$login ||
md5($_SERVER["PHP_AUTH_PW"])!==$wachtwoord) (
header("WWW-Authenticeren: Basic realm="Admin Panel"");
header("HTTP/1.0 401 Ongeautoriseerd");
exit("Toegang geweigerd");)


4. Schakel ongebruikte php-functies door het systeem uit.

Om naar het php.ini-bestand te zoeken, maakt u een phpinfo.php-bestand met de tekst:

Zorg ervoor dat u na het zoeken phpinfo.php verwijdert!

disable_functions = allow_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_get_getgrgid, file, getmyache_getgrgid disk_free_space, diskfreespace, dl, ini_restore, openlog, syslog, highlight_file, show_source, symlink, disk_total_space, ini_get_all, get_current_user, posix_uname, allow_url_fopen


5. Creëer filtering van GET- en POST-verzoeken, voorkom injecties in de database en haal er gegevens uit.

Maak een .php-bestand met een willekeurige naam en de volgende inhoud:

// ingesteld op één als u foutopsporing voor zoekopdrachten wilt inschakelen
$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");
$request = serialiseren($_GET);


als($_GET)
{
foreach ($bag_req als $key => $value) (
{
Zoekopdracht gevonden in array $waarde
$verzoek";
}
}
}
als($_POST)
{
$request = str_replace("selected_language", "sl", serialize($_POST));
$urequest = urldecode($request);
$brequest = base64_decode($request);
foreach ($bag_req als $key => $value) (
if(preg_match("/$value/i", $request) || preg_match("/$value/i", $urequest) || preg_match("/$value/i", $brequest))
{
if($debug == "1") $do_debug = "
Zoekopdracht gevonden in array $waarde, die de juiste werking blokkeert
$verzoek";
die("SLECHTE VERZOEK $do_debug");
}
}
}
?>


We slaan het op de server op in een willekeurige map van het DLE-systeem. Open het bestand engine/classes/mysql.php en daarna:

if(!defined("DATALIFEENGINE"))
{
die("Hackpoging!");
}


verbind het gemaakte bestand:

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


6. Vraag bij het gebruik van gratis componenten voor DLE de mening van een specialist over hun betrouwbaarheid.

Als je vragen hebt, neem dan contact op met de zoekmachines - al het materiaal is vrij beschikbaar!
Heeft u iets toe te voegen? Welkom bij de discussie!

Veel succes voor jou en je projecten!

Gebaseerd op de DLE-engine (DataLife Engine). Ik zal de setup in detail beschrijven, in een poging niets te missen, ik denk dat de dle setup zal veranderen in een lange reeks berichten. In deze reeks berichten zullen we niet alleen de instelling gedetailleerd bekijken, maar ook begrijpen waar elke instellingsfunctie voor is.

Voor berichten die gewijd zijn aan het opzetten van de DLE-engine, zal ik de DataLife Engine v.9.4. gebruiken, meer precies, een demoversie van deze engine. Dit is voor mij voldoende om u te vertellen over de instellingen en mogelijkheden van de DataLife Engine.

Het eerste artikel zal worden gewijd aan de admin-sectie: “ Algemene scriptinstellingen». U kunt deze sectie als volgt vinden: nadat u naar het DLE (DataLife Engine) admin-paneel gaat, dat zich bevindt op: site.ru/admin.php, u ziet snel toegang tot de hoofdsecties van het beheerderspaneel. Vandaag hebben we een artikel nodig " Systeemconfiguratie" , en daarin de rubriek " algemene scriptinstellingen". Er zijn natuurlijk andere manieren om in deze sectie te komen, maar naar mijn mening is dit de gemakkelijkste manier.

Dus laten we beginnen met het opzetten van de dle engine, het eerste punt is: titel (titel dle). Schrijf in de titel de naam van uw project, bijvoorbeeld: Alles voor beginnende webmasters. Uw titel kan alles klinken, standaard op de DLE-engine, de site heet DataLife Engine, als we een andere naam invoeren, wordt deze gewijzigd. En het zal de titel dle vormen, die zowel in het browsertabblad als op de pagina met zoekresultaten wordt weergegeven. Neem de titel daarom serieus. Hier, ik denk dat het duidelijk is.

We zullen, Startpagina, Ik denk dat het begrijpelijk is. We voeren de naam van uw domein in, bijvoorbeeld: site.ru en dat is alles.

Gebruikte codering, is standaard windows-1251, wat betekent dat uw bron de Russische taal ondersteunt. Als u een demoversie van de DataLife Engine heeft, hoeft u hier niets te wijzigen. Als het CMS is aangeschaft, dan kan de codering worden gewijzigd, bijvoorbeeld naar UTF-8 en dan wordt uw project meertalig, in dit stadium zullen we de codering niet in detail bekijken, ik denk dat het duidelijk is als u niet verandert de demo, zelfs als deze is gekocht, maar het domein bevindt zich in de ru-zone, om eerlijk te zijn, zie ik geen reden om de codering te wijzigen.

Volgende item: Beschrijving, waarin we kort de inhoud van ons project beschrijven, bijvoorbeeld: Alles over het maken, opzetten en promoten van blogs of sites etc., maar niet meer dan 200 tekens. In theorie zou deze beschrijving in zoekmachines moeten worden weergegeven, dus neem dit serieus en vergeet niet in de beschrijving de trefwoorden te vermelden die uw bron in de toekomst zal promoten. In een Google-zoekmachine ziet het er ongeveer zo uit:

Verder, trefwoorden(we voeren woorden in gescheiden door komma's), ook volgens deze woorden zullen zoekmachines aandacht besteden aan uw pagina, trefwoorden moeten zoveel mogelijk overeenkomen met de richting van uw site of blog, eerst moet u een lijst met trefwoorden maken en controleer het aantal verzoeken voor deze woorden. Om het aantal verzoeken te controleren, gebruiken we deze pagina op internet http://wordstat.yandex.ru. We zullen er in dit stadium niet nader op ingaan, omdat dit niet langer van toepassing is op dit onderwerp van de post, maar op optimalisatie in zoekmachines. Kijk hier zelf wat u in dit veld moet schrijven, want elk zoekwoord zal anders zijn.

Korte naam, hier denk ik dat alles duidelijk is. Deze naam wordt weergegeven in de speedbar-module. U kunt nogmaals de naam van het project herhalen. Dus we hebben de namen bedacht, we gaan verder. De speedbar-module (ook wel breadcrumbs genoemd) ziet er als volgt uit:

Tijdzone correctie, dient om de tijd op de site te corrigeren. Uw server is bijvoorbeeld ingesteld op Moskou-tijd, en u woont in een andere tijdzone en wilt dat de tijd op de site overeenkomt met uw tijdzone, dan wordt dit in deze kolom gecorrigeerd. Hoe alles op te lossen is daar duidelijk, we schrijven de uren in minuten, de huidige tijd van de server staat ook in deze kolom, je kunt tegen die tijd navigeren.

In de kolom (mens-begrijpelijke url) is het raadzaam om "Ja" te selecteren. Het is nodig om uw adres visueel te laten zien door gebruikers, wat een goed effect heeft op de bruikbaarheid van uw bron. Om het duidelijker te maken, zal ik voorbeelden geven van nieuws met en zonder CNC, nieuws met CNC dle: http://site. ru/addnews.html, zonder CNC: http://site.ru/index.php?do=addnews, d.w.z. met CNC is de visuele waarneming van de link veel beter dan zonder.

Kies dan CNC-type:, hier heb je alles in handen, maar ik raad niet aan om het derde type te kiezen, omdat dit de belasting van je server verhoogt.

Ongeldige CNC-URL's verwerken: Ik stel voor om hier "Ja" in te voeren omdat deze optie handig is voor SEO, maar je kunt deze optie uit laten als je wilt. Meer details voor wat nodig is, in de instellingen is het geschreven, het is vrij duidelijk.

Kies dan gebruikte taal, aangezien ik een demoversie heb, is mijn keuze niet groot, slechts één taal is Russisch, maar voor de ru-domeinzone is dit voldoende.

Verder, standaard sitesjabloon is standaard, maar u kunt een andere kiezen. Dit onderwerp wordt behandeld in een apart artikel over het installeren van een sjabloon op de DataLife Engine (DLE). Natuurlijk willen we allemaal een speciale, niet-standaard sjabloon, vooruitkijkend, zal ik zeggen dat het installeren van een sjabloon op dle heel eenvoudig is. Download de sjabloon die u leuk vindt van internet of maak er zelf een, kopieer de sjabloonmap naar de enginemap, naar de sjabloonmap, en als uw bron zich op een lokale server bevindt, start u deze opnieuw. En nu verschijnt de sjabloon in de standaardkolom voor het selecteren van sitesjablonen.

Ga na het kiezen van een sjabloon naar de twee instellingen " WYSIWYG-editor inschakelen...", in beide gevallen raad ik aan om "Ja" te kiezen, omdat het veel gemakkelijker is om nieuws (artikelen) en opmerkingen te bewerken met een visuele editor dan met BB-codes. Het is echter aan jou om te kiezen, te experimenteren en een keuze te maken ten gunste van gemak. DLE WYSIWYG-editor is een visuele editor.

Zo ziet het bewerkingspaneel eruit, met behulp van BB-codes.

Zo ziet het bewerkingspaneel eruit met DLE WYSIWYG.

Vervolgens komt een nogal handige optie: site uitschakelen«, deze optie haalt de bron offline, als u denkt dat uw project nog niet klaar is om door gebruikers te worden gezien, schakel deze optie dan in. Als alles klaar is, schakelt u de optie uit en geeft u het project vrij op het netwerk. U kunt deze functie ook gebruiken bij het bijwerken van de structuur of sjabloon van uw resource. Ik merk op dat deze optie handig is als uw "experimentele" wordt gehost en niet op een lokale server, zoals de mijne.

Laatste optie ( reden voor afsluiten) nuttig zal zijn voor degenen die profiteren van de sluiting van de site. De reden voor het afsluiten staat al in het tekstveld, dat u zelf kunt bewerken of uw eigen reden kunt schrijven.

Dat is alles. U heeft de eerste stap gezet naar het opzetten van DLE (DataLife Engine). Nu blijft het om de algemene dle-instellingen op te slaan en te wachten op het volgende bericht over het instellen van de DLE-engine.

Opmerking: berichten over het instellen van DLE (DataLife Engine) worden in dit formulier ingediend, voor een betere perceptie van de ontvangen informatie, om geen rommel in het hoofd te maken. Natuurlijk was het mogelijk om de hele opzet in één artikel te beschrijven, zoiets als dit: hier selecteren, hier plaatsen, daar zo schrijven. Maar ik wil dat je begrijpt waar elke functie voor is. Er zijn te veel instellingen en functies in DLE voor één bericht. Ik hoop dat je begrip hebt.

De volgende wijzigingen zijn voorbereid en doorgevoerd:


1. Volledig gloednieuw DLE-scriptconfiguratiescherm. Beste vrienden, in deze versie van het script willen we u een volledig bijgewerkt scriptcontrolepaneel bieden. Dit paneel is ontwikkeld met behulp van de nieuwste technologieën waarmee u het proces van het beheren van nieuws en andere secties van het script handiger en informatiever kunt maken. Naast het nieuwe, moderne ontwerp is dit bedieningspaneel adaptief en in staat om zich onafhankelijk aan te passen aan de gebruikte apparaten, waardoor het een comfortabelere bediening biedt, zowel met een desktopcomputer als met tablets en smartphones. Gezien het belang van momenten als spier- en visueel geheugen, evenals gewoonte, hebben we geprobeerd een nieuw bedieningspaneel te maken, zodat alles op de gebruikelijke plaatsen voor u blijft en u niet veel tijd hoeft te besteden aan het beheersen en leren een nieuw bedieningspaneel. We hopen echt dat u het nieuwe paneel leuk zult vinden en waarderen. Vanwege het feit dat HTML5- en CSS3-standaarden actief worden gebruikt in het nieuwe configuratiescherm, waren we genoodzaakt om de ondersteuning voor verouderde IE-browsers te verlaten, om in het nieuwe configuratiescherm te kunnen werken, hebt u IE10 en hoger nodig, evenals de nieuwste versies van Chrome-, Firefox- en Opera-browsers.

2. Alle javascript-bestanden van het DLE-beheerpaneel zijn nu gescheiden van het gebruikersgedeelte van de site en werken onafhankelijk. Als u bijvoorbeeld zelf de sitebibliotheken wilt bijwerken, zoals bijvoorbeeld JQuery en JQuery UI, kunt u dit doen zonder angst voor compatibiliteit met het administratiepaneel.

3. Nieuw trefwoordbeheersysteem toegevoegd voor tag cloud en trefwoorden voor metatags bij het bewerken van nieuws in het beheerderspaneel. Nu kunt u eenvoudig zoekwoorden die u niet nodig heeft met één klik verwijderen en nieuwe toevoegen. Het is niet meer nodig om ze gescheiden door komma's op te sommen, alles wordt intuïtief ingevuld.

4. In het beheerderspaneel in het gedeelte groepsbeheer de mogelijkheid toegevoegd om aan te geven op basis van welke groep een nieuwe groep moet worden gemaakt. Op deze manier kunt u nieuwe groepen maken, gebaseerd op eventueel geconfigureerde groepen, als sjabloon voor een nieuwe groep.

5. Er zijn wijzigingen aangebracht in de logica van het weergeven van advertentiemateriaal in het beheerderspaneel, nu in plaats van de toegevoegde advertentiecode weer te geven, wordt de gemarkeerde broncode weergegeven, dus bij het toevoegen van fragmenten van HTML-tags wordt de lay-out van het beheerderspaneel niet geschonden en kunt u de code altijd rechtstreeks vanuit de Controlepaneel.

6. Aanzienlijk verbeterde en opnieuw ontworpen module voor het bewerken van opmerkingen in het beheerderspaneel van het script. De mogelijkheid om opmerkingen afzonderlijk te verwijderen met behulp van AJAX-technologie is toegevoegd, evenals de mogelijkheid om een ​​opmerking als "Spam" te markeren en als gevolg daarvan de spammer automatisch te verbannen en al zijn opmerkingen te verwijderen, en de cloudservice op de hoogte te stellen van de spammer , als dit is ingeschakeld in de scriptinstellingen.

7. De functie van dynamisch laden van opmerkingen toegevoegd als de bezoeker de volledige nieuwspagina bekijkt en de commentaren leest. Deze functionaliteit is gebaseerd op het principe: en toegepast met behulp van AJAX-technologie. U stelt bijvoorbeeld in om 30 opmerkingen per pagina weer te geven en het nieuws heeft 100 opmerkingen, en wanneer u de pagina met het nieuws opent, krijgt de gebruiker de eerste 30 opmerkingen te zien, terwijl ze naar beneden scrollen en de opmerkingen lezen, na het einde van de lijst met opmerkingen, in plaats van door opmerkingen te navigeren, worden de volgende 30 opmerkingen automatisch op de pagina geladen, enz. terwijl u door de pagina bladert totdat alle opmerkingen over het nieuws worden weergegeven. Deze functionaliteit wordt in- en uitgeschakeld in de scriptinstellingen.

8. Mogelijkheid toegevoegd om de titel van de pagina met siteregels op te geven direct in het beheerderspaneel, bij het bewerken van de regels voor de site.

9. Nieuws weergeven met een aangepaste tag (aangepast ...) De mogelijkheid toegevoegd om paginanavigatie weer te geven. Hiervoor is een nieuwe tagparameter toegevoegd navigatie = "ja". Bij het toevoegen van deze parameter aan een aangepaste tag, wordt paginering van de nieuwsoutput door deze tag weergegeven. Zo kunt u nieuws precies volgens uw parameters weergeven en tegelijkertijd paginanavigatie opslaan als er veel nieuws is volgens deze parameters. Navigatie wordt alleen weergegeven voor sitepagina's die navigatie voor de tag ondersteunen (inhoud), bijvoorbeeld de hoofdpagina, categoriepagina's, enz. Als de pagina geen navigatie ondersteunt, bijvoorbeeld het weergeven van het volledige nieuws of een statische pagina, wordt de navigatie voor deze tag ook automatisch uitgeschakeld.

10. Voor aangepaste nieuwsoutputtag (aangepast ...) nieuwe parameter toegevoegd vast = "zonder", waarin alleen nieuws wordt weergegeven dat niet is vastgelegd toen het werd gepubliceerd.

11. HTML5-speler bijgewerkt naar de nieuwste versie, ondersteuning toegevoegd voor de modus Volledig scherm in de IE11-browser.

12. In de kruisverwijzingen module is de mogelijkheid toegevoegd met behulp van links die URL-gecodeerde tekens bevatten.

13. E-mailcontrole voor gebruikers toegevoegd wanneer het in het profiel wordt gewijzigd, of het opgegeven adres of een pool van adressen in de lijst met adressen staat die door de beheerder verboden zijn om zich op de site te registreren. Voorheen werd deze controle alleen uitgevoerd tijdens de eerste registratie van een bezoeker op de site.

14. Aanduiding van de login van de gebruiker toegevoegd in de e-mailbrief, die naar de gebruiker wordt gestuurd als hij zijn e-mailadres in het profiel wijzigt. Deze innovatie zal ook nuttig zijn voor sitebeheerders, als het e-mailadres de bot probeert te wijzigen in een niet-bestaande bot, waardoor beheerders niet-bezorgende brieven ontvangen en ze kunnen zien wie de gegevens wijzigt, en dienovereenkomstig actie te ondernemen tegen deze gebruiker.

15. Een handig systeem toegevoegd voor het toevoegen en bewerken van extra nieuwsvelden in het admin-paneel die de eigenschap "Gebruiken als hyperlinks" hebben. Nu kunt u ongewenste waarden met één klik verwijderen.

16. De mogelijkheid toegevoegd om het beheer van advertentiemateriaal op de site toe te staan, advertentietags rechtstreeks in de nieuwstekst invoegen. Deze functie wordt voor elke banner apart ingesteld. U kunt het invoegen van een advertentietag in de nieuwstekst in- of uitschakelen. Als de tag in de tekst van het nieuws mag worden ingevoegd, wordt bij het schrijven van deze tag in de tekst van het nieuws het advertentieblok op de site gepubliceerd op de plaats van deze tag. Zo kunt u advertenties direct in de tekst van het nieuws plaatsen op een voor u geschikte plaats.

17. Mogelijkheid toegevoegd om promotiemateriaal te bekijken, toegevoegd aan het admin-paneel met behulp van een apart pop-upvenster.

18. Voor de beheermodule voor kruisverwijzingen is de mogelijkheid toegevoegd het specificeren van het bereik waar het trefwoord zal worden vervangen door een link. Voor elk trefwoord kunt u ofwel een vervanging voor de hele pagina opgeven, of een vervanging in het nieuws en opmerkingen, of een vervanging alleen in het nieuws, of alleen een vervanging in de opmerkingen.

19. In de beheermodule voor kruisverwijzingen in het beheerderspaneel, een controle toegevoegd op trefwoorden die al in de database voorkomen. Dit voorkomt dubbele zoekwoorden.

20. Voor de beheermodule voor kruisverwijzingen is de mogelijkheid toegevoegd het gebruik van meerdere verbuigingen van woorden binnen de sleutelzin, waarbij de verbuiging voor meerdere woorden tegelijk wordt aangegeven. U kunt bijvoorbeeld de vervangende frase opgeven Ivan (ov | ova | ovu) Iva (n | on | well) Ivanovi (h | cha | chu). En voegde ook de mogelijkheid toe om een ​​zin van meerdere woorden te combineren, beide met verbuiging en niet met bijvoorbeeld de zin: Remon(t|ta|tu) van meubels.

21. Het algoritme voor het weergeven van informatie gewijzigd de tag gebruiken (titel) in de gerelateerde nieuwsoutputsjabloon ( gerelateerdnieuws.tpl). Wanneer u deze tag gebruikt, wordt de volledige titel van het nieuws weergegeven zonder deze zoals voorheen tot 75 tekens te knippen.

22. Voor de gerelateerde nieuwsoutputsjabloon (relatednews.tpl) nieuwe tag-ondersteuning toegevoegd (titellimiet = "x"), die de titel van het nieuws weergeeft, afgekort tot het opgegeven nummer in de tag met X-tekens. In dit geval wordt de koptekst ingekort tot het einde van het logische woord en wordt niet in het midden afgebroken.

23. Ondersteuning toegevoegd voor korte nieuwsoutputsjabloon (shortstory.tpl) nieuwe tags tekst tekst, en de tekst tussen deze tags weergeven bij het weergeven van nieuws, behalve de gespecificeerde X nieuws. Deze tag is handig als u enkele ontwerpelementen in al het nieuws wilt weergeven bij het weergeven van kort nieuws, behalve het bovenstaande. Laat bijvoorbeeld iets niet zien in het eerste nieuws in de lijst.

24. Voor de reactie-outputsjabloon (comments.tpl) toegevoegd ondersteuning voor nieuwe tags tekst, wat het tegenovergestelde is van bestaande tags tekst, en de tekst tussen deze tags weergeven bij het weergeven van een willekeurig aantal opmerkingen, behalve de opgegeven