Skip to main content
Security

Web Security for UAE Business Applications: The Checklist I Run on Every Project

4 min read

A senior developer in Abu Dhabi shares security checks for UAE business apps, including real examples like CSRF failures and Firebase rules

securityLaravelNext.jsFirebaseUAE tech

Last week, a client’s e-commerce site got hit with a SQL injection attack because they’d never updated their 8-year-old Laravel codebase. It took 24 hours to patch, and they lost $38,000 in bookings. That’s when I realized: even in 2026, security corners still get cut for cost or convenience.

Starting at the Infrastructure Level

Every project in the UAE demands HTTPS—not just for Google SEO, but because GCC internet traffic routes through regional ISPs that sometimes inject their own tracking scripts. I use Let’s Encrypt for most clients, but if they’re handling UAE national ID data, I’ll push for a commercial wildcard cert.

One thing I never skip: verifying the Strict-Transport-Security header is set. A construction company client in Dubai once argued this was “overkill for an internal tool,” until I showed them packet capture logs revealing session cookies leaked at a public café Wi-Fi.

Framework versions? I keep Composer config locked to Laravel 10 LTS and Next.js 15 unless there’s a smoking-gun reason to upgrade. Newer doesn’t mean safer—my biggest headache last year came from an RC version of React Native breaking Firebase auth flows unpredictably.

Input Handling Is Not Negotiable

Every form, API endpoint, and third-party webhook gets input sanitization. Period.

I use Laravel’s built-in validation with tight rules:

  • Phone numbers must match UAE format (05[0-9]{8})
  • Arabic names get special character allowances
  • File uploads go through ClamAV scanning before hitting S3

A few months ago, a real estate client wanted to skip virus scanning for speed. I agreed—until their property listing tool got infected via a .svg upload. Cost them $12k in forensic cleanup.

Authentication Patterns That Work for GCC Audiences

Two-factor auth is non-negotiable for financial apps. For most clients, I combine Laravel Fortify with SMS OTP via Twilio’s UAE-approved gateway. Biometrics only get used in apps requiring high security, like the Tawasul Limo driver app where we tied Face ID to vehicle access.

But here’s the catch: older business users in Abu Dhabi hate authenticator apps. I ended up pre-generating recovery codes and printing them on physical cards for one corporate client. In the UAE, user experience can’t ignore real-world friction points.

Third-Party Services: The Hidden Risks

Last year, I almost pulled my hair out dealing with a compromised npm package. Since then, I lock dependencies using package-lock.json and run daily vulnerability scans via npm audit GitHub actions.

For Firebase projects like the Greeny Corner plant care app, I use security rules with strict path-level access:

javascript
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}

But don’t assume Firebase handles everything. One client’s limo tracking app leaked trip history because we used public document IDs. Now I always hash sensitive reference keys.

Monitoring and Incident Response

If you’re not actively monitoring, you’re gambling with data. For UAE-based apps, I install Laravel Telescope and set up Slack alerts for suspicious patterns—like 3+ failed logins from Saudi IP ranges.

A weird moment last Ramadan: I got a spike in 403 errors across three clients. Turned out their shared hosting provider in Bahrain had misconfigured rate-limiting rules. It took 8 hours and 17 emails to sort, but we added AWS WAF as backup filtering.

When Sh*t Hits the Fan

Here’s what really happened with the CSRF token issue: A client rushed a payment gateway integration during Dubai’s shopping festival. I forgot to regenerate Laravel’s session token after login in their SPA—attackers hijacked two transactions before the fraud team caught it.

Fixing this broke multiple API tests. The whole team stayed up till 4am to fix it. Wasn’t pretty, but it taught me to treat payment flows like live explosives: test every pathway twice.

UAE Specific Gotchas

Clients in the GCC expect security measures aligned with UAE Cybercrime Law (Federal Decree-Law No. 34 of 2021). For apps handling Emirati IDs, I store data in AWS eu-central-1 to comply with data localization rules—this bit me during a project last year when AWS Dubai wasn’t ready for production workloads yet.

Also? Arabic content has to be security-friendly. I’ve seen XSS vulnerabilities in unescaped Arabic product descriptions. Use HTML purifiers that handle right-to-left text properly.

Wrapping Up

This isn’t theoretical work. I’ve burned sleep cycles fixing stupid oversights—like that CSRF incident—and seen small security lapses cost local businesses over six figures.

If you’re building a business app in the UAE and want to sleep soundly, hit me up on my contact page. We’ll walk through your risks before hackers do.

S

Sarah

Senior Full-Stack Developer & PMP-Certified Project Lead — Abu Dhabi, UAE

7+ years building web applications for UAE & GCC businesses. Specialising in Laravel, Next.js, and Arabic RTL development.

Work with Sarah