Website Security Hardening โ Completed Assessment
Dispensaries are higher-value targets than typical small businesses. Operating in a regulated industry with payments, customer data, age verification, and compliance obligations makes the site an active target for automated scanners and opportunistic attackers.
Most of what was done is simply closing open doors โ XML-RPC off, REST API links hidden, directory browsing disabled. None of this removes functionality the site actually uses. The SSL fix was non-negotiable: Google was actively flagging the site, suppressing traffic and damaging search ranking.
The one genuinely optional item is geofencing / US-only traffic blocking, which carries real tradeoffs (VPN users, maintenance overhead) and should be considered carefully before implementing.
For a dispensary on WordPress, this is responsible and proportionate โ not extreme. "Extreme" would be a Web Application Firewall, two-factor on every login, intrusion detection logging, and monthly penetration testing. This work simply locked the front door properly.
This report summarizes all security improvements completed for the Quality Control Dispensary website. Actions taken address the Google "Dangerous Site" flag, SSL certificate expiry, WordPress core exposure, and server-level vulnerabilities. Additional fixes will be appended as work continues.
wp-config.php are inaccessible to outside users.X-Frame-Options header now prevents your site from being embedded in invisible iframes used for UI redress attacks..htaccess, XML-RPC is now also disabled at the PHP/WordPress layer via add_filter('xmlrpc_enabled', '__return_false') โ providing dual-layer protection.X-Robots-Tag: noindex, nofollow header is now sent via functions.php, preventing search engines and crawlers from indexing or following links in sensitive file responses.| Layer / Block | Purpose | Status | Notes |
|---|---|---|---|
| LiteSpeed Cache | Query string exclusions, async AJAX, log protection | โ Excellent | Plugin-managed, no modification needed |
| NON_LSCACHE | Placeholder for non-LS cache rules | โช Neutral | Empty โ safe to leave as-is |
| WordPress Rewrite | Permalink routing through index.php | โ Correct | Do not move or modify |
| LiteSpeed Environment | Prevents abort on long-running requests | โ Correct | Required for LS compatibility |
| Security Headers | XSS, clickjacking, HSTS, Permissions Policy | โ Very Strong | HSTS with preload active |
| XML-RPC Block | Brute-force / DDoS / pingback protection | โ Strong | Backed by PHP-level filter too |
| WordPress Hardening | Sensitive files, directory browsing, exploit queries | โ Very Strong | Covers most automated attacks |
The following code was applied to functions.php in the child theme. It handles REST API link removal, XML-RPC disabling, and crawler protection โ layered on top of the .htaccess server rules.
All DNS records have been fully audited and verified. Domain management is handled via Cloudflare with nameservers cash.ns.cloudflare.com and heidi.ns.cloudflare.com.
| Record | Value / Target | Status | Mode |
|---|---|---|---|
A @ | 82.25.87.6 (Hostinger) | โ Active | Proxied |
CNAME www | Root domain | โ Active | Proxied |
CNAME autodiscover | Microsoft 365 | โ Active | DNS Only |
CNAME em8295 | SendGrid | โ Active | DNS Only |
CNAME lyncdiscover / msoid / sip | Microsoft Teams | โ Active | DNS Only |
CNAME s1._domainkey / s2._domainkey | DKIM signing keys | โ Active | DNS Only |
| MX | Outlook / Microsoft 365 mail protection | โ Active | DNS Only |
SRV _sip._tls / _sipfederationtls._tcp | Teams SIP federation | โ Active | DNS Only |
| TXT SPF | M365 + SendGrid combined | โ Updated | DNS Only |
| TXT M365 Verification | Microsoft tenant verification | โ Active | DNS Only |
| TXT Google Verification | Google Search Console | โ Active | DNS Only |
TXT _dmarc | Email spoofing protection + reporting | โ Auto-added by Cloudflare | DNS Only |
| NS | cash + heidi.ns.cloudflare.com | โ Active | โ |
| Service | Provider | Status |
|---|---|---|
| Domain Registration | GoDaddy | โ Active |
| DNS Management | Cloudflare | โ Active |
| Website Hosting | Hostinger | โ Active |
| SSL โ Let's Encrypt | Hostinger | โ Active since 2026-03-14 ยท Lifetime |
| SSL โ Cloudflare Layer | Cloudflare Full (Strict) | โ Active โ End-to-End Encrypted |
| Microsoft 365 Email | Outlook / M365 | โ Intact |
| Microsoft Teams | M365 | โ Intact |
| SendGrid | Transactional Email | โ Intact |
| Google Search Console | โ Intact | |
| DMARC Email Protection | Cloudflare (auto) | โ Active |