Les 8

CSS voor Bricks

De CSS die op de Bricks werd gezet in les 7 was niet responsive. Jurgen heeft voor ons een code uitgeschreven die ervoor zorgt dat dat wel zo is. Je kan de code HIER downloaden, we overlopen ze klassikaal.

Modules updaten met Composer en Drush

  1. Open Terminal via het cPanel
  2. Navigeer naar de juiste map, een subdomein:
cd reserve2.drupalfun.nl
  1. Of naar public_html
cd public_html
  1. Dit commando toon een lijst van beschikbare updates
composer outdated 'drupal/*'
  1. Dit commando gaat de update doen van de respectievelijke module
composer update drupal/token --with-dependencies
  1. Tot slot ga je de database updates uitvoeren en de cash opnieuw opbouwen
drush updatedb
  1. Ter info. Onderstaande toont het commando om een module te verwijderen. Handig als dit niet lukt via de Drupal-interface (bijvoorbeeld: Paranoia)
drush pm-uninstall paranoia
  1. Om de module uiteindelijk ook te verwijderen gebruik je volgend composer-commando
composer remove drupal/paranoia
  1. Met dit commando kan je tot slot de cache vernieuwen
drush cr

Webform extra

Bij de statusrapportage merken we een opmerking op over het webform, er is nog geen map gedefinieerd waar we bestanden plaatsen die door gebruikers mogelijks in een webform worden geüploaded.

  1. Ga naar de site via het cpanel
  2. Maak een nieuwe map private, op de juiste plaats:

../sites/default/files/private

  1. Navigeer nu naar settings.php, verander de toegangsrechten van de map default en het bestand settings.php naar 0755
  2. Bewerk settings.php (Edit)
  3. Zoek in de code op het trefwoord 'private' en pas aan:

  1. Sla de aanpassingen op

Veiligheid

Captcha

De vorige les hebben we het reeds over deze module gehad. De oplossing om de captcha op het webform te krijgen is eenvoudig. Je voegt het toe als element aan het webform.

cap

cap

Andere modules

Als jouw Drupal-site is gehacked, dan zal je het waarschijnlijk niet eens weten. Hackers gebruiken de server voor het hosten van obscene content of het verspreiden van spam. Logisch dat een hacker dan zo lang mogelijk onder de radar wil blijven. Ik heb enkele vondsten gedaan.

Op deze site heb ik heel wat bijgeleerd, ik overloop enkele modules en tips die mij interessant lijken. Ik bespreek hier enkel modules die 'groen zijn'. Zij worden dus gecoverd door Drupal. Neem je gele versies of dev-versies, dan is dat per definitie een veiligheidsrisico

SSL

Deze moet ik waarschijnlijk niet meer uitleggen, een beetje webdesigner past  dit automatisch toe.

Gebruik steeds en altijd SSL, jouw site wordt voorafgegaan door https://. De meeste browsers voorzien dan ook een hangslot in de menubalk. Weet ook dat Google jouw site zal 'straffen' als je geen secure site hebt. Dat afstraffen is dan onder de vorm van moeilijk gevonden te worden. Je kan https afdwingen door een klein stukje code te plakken in het htacces-bestand

  1. Navigeer naar het cpanel en ga door naar de filebrowser
  2. Open public_html
  3. Zet de verborgen bestanden zichtbaar

verborgen

  1. Bewerk het .htacces-bestand

htacces

  1. Plak deze code bovenaan en sla op

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\Comodo\DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.+$
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

  1. Nadeel is dat deze methode steeds opnieuw moet worden uitgevoerd nadat je een kernupdate doet. Je kan dit (eventueel) oplossen door een patch te maken.
  2. Neostrada biedt een standaard gratis certificaat aan (Lets Encrypt). Je kan altijd een verhoogde veiligheid inbouwen door een betalend certificaat aan te vragen. Kost ongeveer 12€ per jaar bij Neostrada

Security Kit

Link naar module: Security Kit

Deze is volgens mij nuttig om te voorkomen dat jouw site als iframe kan worden ingesloten op een andere site. Hackers kunnen op die manier veel sneller bepaalde datatranfers onderscheppen en zo inloggegevens achterhalen.

  1. Zet deze op Deny, jouw website zal niet kunnen worden "geïframed"

deny

Automated Logout

LINK

Heb je een site waar je meerdere mensen op laat inloggen, dan kan je gebruik maken van automatische logout na bijvoorbeeld een half uur. Dat voorkomt dan weer dat iemand met slechte bedoelingen de onbewaakte computer, met ingelogde drupal, kan gebruiken voor verkeerde doeleinden. Handig is dat je uitzonderingen kan toevoegen.

  1. Na hoelang een timeout?

hoeveel

  1. Wie is uitgezonderd?

ip

Username Enumeration

LINK

"Username enumeration is a technique used by malicious actors to identify valid usernames on a web application, which can then be used in other attacks such as credential stuffing*."

*"Credential stuffing is a type of cyberattack where stolen account credentials typically consisting of lists of usernames and/or email addresses and the corresponding passwords (often from a data breach) are used to gain unauthorized access to user accounts through large-scale automated login requests directed against a web application. Unlike credential cracking, credential stuffing attacks do not attempt to brute force or guess any passwords - the attacker simply automates the logins for thousands to millions of previously discovered credential pairs using standard web automation tools like Selenium, cURL, PhantomJS or tools designed specifically for these types of attacks such as: Sentry MBA, SNIPR, STORM, Blackbullet and Openbullet."

--> Wanneer bepaalde hackers proberen inbreken in jouw site en een melding krijgen dat het wachtwoord foutief is, maar de gebruikersnaam ok, dan kan hij/zij op basis van die info verder gaan met zijn/haar activiteiten. Deze module zorgt ervoor dat dit geen mogelijkheid meer is. Installeren en aanzetten is voldoende.

Honeypot

LINK

Honeypot zou een alternatief zijn voor de captcha module. Deze 'straft' de gebruiker eigenlijk. Honeypot werkt achter de schermen. Een onzichtbaar veld wordt aan ieder formulier toegevoegd. Een mens vult dit niet in, daar het niet zichtbaar is. Een robot vult dit veld wel in. Wordt dit geregistreerd, dan zal de inzending niet doorkomen. Installeren en inschakelen.

honing

Swiftmailer, htmlMail, Mailsystem

Met de modules kunnen we ervoor zorgen dat ook de afbeeldingen, geselecteerd in het webform, worden meegestuurd met het mailsysteem.

Instellingen Swiftmailer

  • Transport Type: PHP
  • Berichtformaat: HTML (+ vink bij respect provided e-mail format)

Instellingen htmlMail

  • Stap 2: Bootstrap als thema (ons actieve thema)

Instellingen Mailsystem (komt mee met swiftmailer, indien met composer geïnstalleerd)

  • Module: Webform
  • Formatter plugin: Swiftmailer
  • Sender plugin: Swiftmailer
  • Toevoegen
  • Opslaan

Google Analytics

Deze heeft niet zozeer iets te maken met het beveiligen van jouw site, het is eerder bedoeld om jouw site te monitoren. Zo kan je zien hoeveel bezoekers je ontvangt en ook van waar en op welk apparaat zij jouw site bekijken. Je heb hiervoor de module nodig en een google-account.

  1. Ga naar de Google Analytics webpagina
  2. Voeg een account toe

account

  1. Kopieer de verkregen Tracking ID

id

  1. Plak de tracking id bij de instellingen van de module

id

  1. Vanaf nu kan je op de portaalsite van Google Analytics de gebruikersgegevens raadplegen

statistiek

Views Data Export

Alle nodes die je nodig hebt in een bestandje verzamel je in een view, voeg vervolgens een data export toe en je kan gaan downloaden.

  1. Installeer de module Views Data Export
  2. Maak een view aan van de werkmaterialen waarin je het nummer, de titel, het merk en de categorie toevoegt

sdf

  1. We passen ons overzicht aan naar een tabel. Tabellen zijn standaard niet responsive maar met de module Responsive Tabels Filter is dat een makkie. Even installeren en aanzetten.

resp

  1. Pas het overzicht nu zodanig aan dat de materialen worden gegroepeerd op de categorie, er een 'bekijk details' verschijnt bij de titel en de labels mooi verzorgd zijn.

dfg

sdf

 

  1. Voeg nu een data export toe

sdf

  1. Stel het pad correct in en link de export aan de Page

sfg

  1. Bij de instellingen van de data export kies je voor csv

sfg

  1. Sla alles op en bekijk het resultaat, je merkt onderaan een nieuw knopje op 'csv'

fg

  1. Een klik op die knop zorgt voor een download die na openen met excel of number er zo kan uitzien:

sfg

EU Cookie Compliance

Deze module zorgt voor de wettelijk verplichte cookie-banner op jouw site

--> We overlopen de instellingen klassikaal

1

2

3