Bu proje, Makine Öğrenmesi (AI) destekli bir URL güvenlik analiz platformudur. ASP.NET Core MVC, MsSQL, SSIS ve SSAS teknolojilerini birleştirerek hem canlı bir güvenlik taraması hem de kapsamlı bir iş zekası (BI) analizi sunar.
| Ana Sayfa (URL Tarama) | Giriş Paneli | Admin İstatistik Paneli |
|---|---|---|
![]() |
![]() |
![]() |
Projeyi başka bir bilgisayarda tek seferde çalıştırmak için aşağıdaki adımları sırayla takip edin:
- SQL Server Management Studio (SSMS) açın.
- Proje klasöründeki
DataBase_Scriptleri.docxiçindeki SQL kodlarını kopyalayın ve çalıştırın. - Veritabanı adının WebGuardDB olduğundan emin olun.
DotnetASPklasöründekiappsettings.jsondosyasını açın."DefaultConnection"kısmındakiServer=.;bölümünü kendi SQL Server adınızla (Server Name) güncelleyin.
- Bilgisayarınızda Python yüklü olmalıdır.
- Gerekli kütüphaneleri terminalden kurun:
pip install scikit-learn pandas best_phishing_model.pkldosyasının projenin kök dizininde veya belirlenenMLModelklasöründe olduğunu teyit edin.
- SSIS ve SSAS projelerini görüntülemek için Visual Studio üzerinde SQL Server Integration Services Projects ve Microsoft Analysis Services Projects eklentilerinin kurulu olması gerekir.
- Varlık Tasarımı: En az 6 varlık (
Users,Roles,Urls,ScanResults,RiskCategories,UserFeedback) ile normalize edilmiş bir yapı kuruldu. - Sorgu Performansı: URL aramalarını hızlandırmak için
UrlTextüzerinde, raporlama içinScanDateüzerinde Non-Clustered Index kullanıldı. - ETL & Veri Ambarı: SSIS paketleri ile canlı veriler (OLTP) temizlenerek veri ambarına (OLAP) aktarılmaktadır.
- OLAP Küpü: SSAS üzerinde oluşturulan küp ile "Toplam Tarama", "Ortalama Güvenlik Skoru" gibi 5 farklı Measure analizi yapılabilmektedir.
- Web Entegrasyonu: Admin panelindeki raporlar veritabanından değil, ADOMD.NET üzerinden direkt OLAP kübünden çekilmektedir.
- Controller Yapısı:
Home,Account,Scan,AdminveFeedbackolmak üzere 5 farklı Controller yönetilmektedir. - Esnek View & Layout: Bootstrap ile responsive tasarım yapıldı. Özel bir Master Layout kullanılarak tutarlılık sağlandı.
- Dinamik Bileşenler:
_LoginStatusPartial(PartialView) veLastScans(ViewComponent) ile veriler anlık olarak kullanıcıya sunulmaktadır. - Rol Bazlı Yetkilendirme:
AdminveStandardUserrolleri tanımlandı. İçerikler ([Authorize(Roles="Admin")]) bu rollere göre kısıtlanmaktadır. - Veri Aktarımı: Tarama sonuçları kullanıcıya sunulurken Controller'dan View'a TempData kullanılarak veri aktarımı sağlandı.
- CRUD Operasyonları: URL tarama (Create), Geçmiş listeleme (Read), Feedback güncelleme (Update) ve Kayıt silme (Delete) fonksiyonları aktif çalışmaktadır.
- Backend: ASP.NET Core 8.0 MVC
- Database: Microsoft SQL Server 2022
- AI: Python (Scikit-Learn & Pickle)
- BI Tools: SSIS (Integration Services), SSAS (Analysis Services)
- Frontend: Bootstrap 5, Razor Pages
-
Terminali proje klasöründe aç.
-
docker-compose up -d komutunu çalıştır.
-
Web sitesi için: http://localhost:8080
-
BI (SSIS/SSAS) projeleri için: Visual Studio'da projeyi açıp sunucu olarak localhost,1433 adresine bağlan.


