Created README.md
This commit is contained in:
106
README.md
Normal file
106
README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
|
||||
# Web Development Essentials
|
||||
|
||||
Quick reference for modern web development: client-server architecture, setup, and security.
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Client-Server
|
||||
|
||||
### HTTP Cycle
|
||||
1. **Request**: Browser → server (GET, POST, PUT, DELETE, PATCH; headers; body)
|
||||
2. **Processing**: Routing, logic, DB operations
|
||||
3. **Response**: Status codes (2xx, 4xx, 5xx), headers, body (HTML/JSON/assets)
|
||||
|
||||
### Network Layers
|
||||
|
||||
```
|
||||
|
||||
App: HTTP/HTTPS, REST, GraphQL
|
||||
Transport: TCP/UDP, WebSockets
|
||||
Internet: IP routing, DNS
|
||||
Link: Ethernet, WiFi, 5G
|
||||
|
||||
```
|
||||
|
||||
### Web Servers
|
||||
* **Nginx** – high performance, reverse proxy, load balancing
|
||||
* **Apache** – flexible, mature
|
||||
* **Caddy** – auto HTTPS
|
||||
* **Cloudflare Workers** – edge/serverless
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Dev Environment
|
||||
|
||||
### Stack
|
||||
* **Runtime**: Node.js 18+, PHP 8.1+, Python 3.11+, Docker/Podman
|
||||
* **Web Server**: Nginx, Apache, Caddy
|
||||
* **DB**: PostgreSQL 15+, MySQL 8+/MariaDB 10.8+, Redis, MongoDB
|
||||
* **Tools**: IDEs (VS Code, Zed), extensions (languages, Docker, Git, DB)
|
||||
|
||||
### Setup
|
||||
**Docker:**
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
services:
|
||||
|
||||
app: { build: ., ports: ['8080:80'] }
|
||||
db: { image: postgres:15, environment: { POSTGRES_DB: myapp } }
|
||||
|
||||
redis: { image: redis:7-alpine }
|
||||
```
|
||||
|
||||
**Managed Services:** Vercel, Netlify, Heroku, Render, AWS, Azure, GCP
|
||||
**Local:** `brew/apt install nginx postgresql redis`
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Security Risks
|
||||
1. **Phishing** – fake sites; prevent with HTTPS & verification
|
||||
2. **Data Theft** – unauthorized access; prevent with encryption & access control
|
||||
3. **SQL Injection** – malicious input; prevent with prepared statements
|
||||
4. **XSS** – script injection; prevent with output encoding
|
||||
5. **Session Hijacking** – stolen sessions; prevent with secure cookies & HTTPS
|
||||
6. **DoS/DDoS** – overload server
|
||||
7. **CSRF** – trick users; prevent with CSRF tokens
|
||||
8. **File Inclusion** – LFI/RFI attacks
|
||||
|
||||
---
|
||||
|
||||
## 🛡️ Protection
|
||||
**Encryption:** HTTPS/TLS, data-at-rest encryption
|
||||
**Auth:** MFA, strong passwords, RBAC
|
||||
**Validation:** Input validation, prepared statements, output encoding
|
||||
**Sessions:** HTTP-only, Secure cookies, session regeneration
|
||||
**Headers:** CSP, X-Frame-Options, X-XSS-Protection, HSTS
|
||||
**Monitoring:** Logging, audits, intrusion detection
|
||||
**Updates:** Software patching, dependency management
|
||||
**Prepared Statement Example:**
|
||||
```php
|
||||
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
|
||||
$stmt->execute([$email]);
|
||||
$user = $stmt->fetch();
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Best Practices
|
||||
* Validate & sanitize input
|
||||
* Use prepared statements
|
||||
* Enforce HTTPS
|
||||
* Strong auth (MFA, secure passwords)
|
||||
* Security headers
|
||||
* Keep software updated
|
||||
* Monitor & log activity
|
||||
* Least privilege
|
||||
* Regular audits & pentests
|
||||
* Backup & recovery
|
||||
---
|
||||
|
||||
## 📚 Resources
|
||||
* [OWASP Top 10](https://owasp.org/www-project-top-ten/)
|
||||
* [PHP Security](https://www.php.net/manual/en/security.php)
|
||||
* [Mozilla Web Security](https://infosec.mozilla.org/guidelines/web_security)
|
||||
* [CWE](https://cwe.mitre.org/)
|
||||
Reference in New Issue
Block a user