Kurum içi personel iletişim rehberi. Ad soyad, dahili numara veya e-posta ile anlık arama; yönetim panelinden personel, kampüs, birim ve footer ayarlarının yönetimi.
- Herkese açık arama — Ad, dahili veya e-posta ile canlı arama (debounce)
- Birim filtresi — Footer altındaki birim linkleriyle hızlı listeleme
- Yönetim paneli — Personel, kampüs, birim, kullanıcı ve ayar yönetimi
- CSV içe / dışa aktarma — Toplu personel yükleme ve yedekleme
- Güvenlik — CSRF, rate limit, güvenli oturum, HSTS/CSP header'ları, PDO prepared statements
- PHP 8.0+
- MySQL 5.7+ veya MariaDB 10.3+
- Apache veya Nginx (mod_rewrite gerekmez)
- PHP eklentileri:
pdo_mysql,mbstring
git clone https://github.com/ardacetin/rehberbeykoz.git
cd rehberbeykozcp config.example.php config.phpconfig.php dosyasını düzenleyin veya ortam değişkenlerini tanımlayın:
| Değişken | Açıklama | Varsayılan |
|---|---|---|
APP_HTTPS |
HTTPS kullanılıyor mu (true/false) |
true |
DB_HOST |
Veritabanı sunucusu | 127.0.0.1 |
DB_NAME |
Veritabanı adı | rehberbeykoz |
DB_USER |
Veritabanı kullanıcısı | — |
DB_PASS |
Veritabanı şifresi | — |
config.php.gitignoreiçindedir; asla repoya eklemeyin.
mysql -u root -p < schema.sqlVarsayılan admin hesabı yoktur. CLI ile oluşturun:
php scripts/create_admin.php admin GucluSifre123!Şifre en az 12 karakter olmalıdır.
Geliştirme (PHP built-in server):
php -S localhost:8080 -t .Tarayıcıda: http://localhost:8080
Üretim: Document root'u proje klasörüne yönlendirin. HTTPS kullanın (APP_HTTPS=true).
| Sayfa | URL | Erişim |
|---|---|---|
| Ana rehber | /index.php |
Herkese açık |
| Arama API | /search.php?q=... |
Herkese açık (rate limit) |
| Giriş | /login.php |
Yönetici |
| Yönetim | /admin.php |
Oturum gerekli |
- Yönetim paneli → Personeller → İçe Aktar
template.csvşablonunu indirin, doldurun (ayraç:;, UTF-8)- Dosyayı yükleyin (max 2 MB)
Sütunlar: Ad Soyad, İç Dahili, Dış Dahili, E-Posta, Kampüs ID, Birim ID
rehberbeykoz/
├── index.php # Ana sayfa (public)
├── search.php # JSON arama API
├── login.php # Admin girişi
├── admin.php # Yönetim paneli
├── import.php # CSV içe aktarma
├── export.php # CSV dışa aktarma
├── logout.php
├── db.php # Veritabanı bağlantısı
├── schema.sql # Veritabanı şeması
├── config.example.php # Yapılandırma şablonu
├── includes/
│ ├── bootstrap.php # Oturum + header + DB
│ └── security.php # CSRF, rate limit, auth
├── scripts/
│ └── create_admin.php
├── assets/
│ ├── css/style.css
│ └── js/app.js
└── template.csv # CSV şablonu
- Üretimde mutlaka HTTPS kullanın.
config.phpve gerçek DB şifrelerini repoya commit etmeyin.- İlk kurulumdan sonra güçlü bir admin şifresi belirleyin.
- Düzenli yedek için Dışa Aktar (CSV) kullanın.
Beykoz Üniversitesi — Bilgi İşlem Direktörlüğü. Kurum içi kullanım için geliştirilmiştir.