Aplikasi Web Aman
Perkenalan
SecureWebApp - Templat Aplikasi Web Aman untuk ASP.NET Core 5.0
Sebuah proyek pemrograman untuk kursus Pemrograman Aman COMP.SEC.300, Musim Semi 2021
Repositori berisi semua kode sumber, diagram arsitektur, dan dokumentasi untuk proyek tersebut.
Dokumentasi
Dokumentasi Proyek tersedia di Documentation.pdf di root proyek.
Tautan langsung ke dokumentasi proyek DI SINI.
Arsitektur
Diagram kasar arsitektur aplikasi di bawah ini:
Tautan ke gambar lengkap di sini.
Pengaturan lingkungan pengembangan lokal
- Kloning repositori
- Instal Visual Studio 2019 (disarankan Profesional/Perusahaan)
- Instal alat yang diperlukan (ASP.NET Core Web development tools, MSSQL
- Secara opsional, instal Microsoft SQL Server 2019 secara terpisah
- Buka proyek (file solusi) SecureWebApp.sln di VS
- Buat database dan jalankan migrasi database dengan menjalankan dotnet tool install --global dotnet-ef dotnet add package Microsoft.EntityFrameworkCore.Design dotnet efmigrations add InitialCreate dotnet ef database update
- Bangun/Debug/Luncurkan proyek secara lokal
- Buka di browser: http://localhost:5000 (TIDAK AMAN, TIDAK DIANJURKAN) atau https://localhost:5001
Alat dan perpustakaan yang direkomendasikan untuk pengembangan Windows
- Visual Studio 2019 Pro (semua beban kerja .NET 5.0)
- ASP.NET Inti 5.0 (MVC)
- Microsoft SQL Server 2019 (LocalDB untuk pengujian tersedia, terintegrasi dalam Visual Studio)
- Manajer Paket Nuget
- Paket nuget yang diperlukan disertakan dalam konfigurasi proyek
- Git Bash untuk Windows
- Google Chrome/Mozilla Firefox
Integrasi dan Penerapan Berkelanjutan
Saat mendorong atau Menarik Permintaan ke cabang utama, tugas pengujian build dipicu untuk membangun proyek di cloud runner dan menjalankan semua pengujian unit dan memastikan pengujian tersebut lulus. Setelah uji coba berhasil, tugas penerapan dijalankan untuk mempublikasikannya di server pribadi.
Aplikasi ini tersedia untuk pengujian langsung di https://securewebapp.peltonet.com/
Analisis Statis
Kode sumber proyek dianalisis menggunakan layanan SonarQube Cloud (SonarCloud).
SonarCloud terintegrasi melalui GitHub Actions.
URL untuk analisis proyek: https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp