Ááááá Teszt Elek:-)
A.) Te Apache kiszolgálón vagy! Van egy htaccess fájl a public_html gyökérben. Ez egy univerzális beállító fájl. Azzal kellene indítanod mint "webmester", hogy konfigurálod. Teljesen mindegy, hogy milyen szoftvert akarsz telepíteni/üzemeltetni. Ez az első!
// Az itt leírtak csupán a jéghegy csúcsa - és csak kiragadott példák. Valamint figyelembe kell venni minden olvasónak, hogy a tárhelyszolgáltatók saját belátásuk, ismeretük, lehetőségük szerint hangolják rendszerüket!
Többek között itt állítod be:
- miket küldjön tömörítve és miket ne
- minek milyen hosszú kliens oldali tárolási ideje legyen
- mely metodusokat engedélyezed - VÉDELEM
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} !^(GET|POST)
RewriteRule ^(.*) - [R=405,L]
</IfModule>
- milyen fájl és könyvtárak hozzáférését engedélyezed, vagy nem - VÉDELEM
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} ^.*(/components/|/includes/|/xmlrpc/|/logs/|/tmp/).* [NC]
RewriteRule .* - [F,L]
</IfModule>
- milyen botok jöhetnek és melyik nem.
- milyen további védelmi sáncokat húzol, valahogy így: - VÉDELEM
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} (eval\() [NC,OR]
RewriteCond %{QUERY_STRING} (127\.0\.0\.1) [NC,OR]
RewriteCond %{QUERY_STRING} ([a-z0-9]{2000,}) [NC,OR]
RewriteCond %{QUERY_STRING} (javascript:)(.*)(
[NC,OR]
RewriteCond %{QUERY_STRING} (base64_encode)(.*)(\() [NC,OR]
RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(
\[|%) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)(.*)script(.*)(>|%3) [NC,OR]
RewriteCond %{QUERY_STRING} (\\|\.\.\.|\.\./|~|`|<|>|\|) [NC,OR]
RewriteCond %{QUERY_STRING} (boot\.ini|.php|etc/passwd|self/environ) [NC,OR]
RewriteCond %{QUERY_STRING} (\'|\")(.*)(drop|insert|md5|select|union) [NC]
RewriteRule .* - [F]
</IfModule>
- Hogyan kezelje a különböző hiba eseményeket (Én ennek keretén belül pl. naplózom és építem többek között a 400, 401, 402, 403, 404, 405, 408... http válaszkód listát). Egyes kódok esetén e-mailt küldök magamnak
( Itt lehetne automatikusan emberi beavatkozás nélkül, azonnal letiltani a rosszindulatú kéréseket indító IP-t. De ez szerintem felesleges és hibás gyakorlat! (legfeljebb átmenetileg jó)
- milyen fejléceket és hogyan használsz - pl.
Header always append X-Frame-Options "deny"
Header always set X-XSS-Protection "1; mode=block"
Header always edit Set-Cookie ^(.*)$ "$1;Secure;SameSite=Strict;HttpOnly"
RequestHeader unset X-Powered-By
Header set Referrer-Policy: strict-origin-when-cross-origin
Header set Content-Security-Policy "default-src 'none';plugin-types 'none';form-action 'self';base-uri 'self';frame-ancestors 'none'; style-src 'self' 'unsafe-inline'; img-src 'self'; script-src 'self' 'unsafe-inline'; upgrade-insecure-requests;reflected-xss block"
B.) https kapcsolat biztosítása - Neveket, e-mailt, telefonszámot, érdeklődési kört... gyűjtesz!
Amennyiben támogatott, Irányítsd át! És ha működik, ezzel megtudod nézni, mi a lehetőség:
Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}"
Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"
############################################
# Ez idáig a htaccessről szólt
############################################
C.)
Attól, hogy beírod az input mezőkbe hogy "kötelezö kitölteni" nem kerül rá a szükséges kötelező elem!
Az űrlap kitöltője egyébként humanoid?
Továbbá, valahol ellenőrizned és kezelned kellene, mégis miket küldözgetnek ezekben a mezőkben.