From e15ef936212a444234ca3badced78d2fdb0784b4 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Tue, 21 Aug 2018 06:38:16 -0500 Subject: [PATCH] add url validation to SnapshotService --- src/FilterLists.Services/Snapshot/Snapshot.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/FilterLists.Services/Snapshot/Snapshot.cs b/src/FilterLists.Services/Snapshot/Snapshot.cs index e710a756b..f4123a524 100644 --- a/src/FilterLists.Services/Snapshot/Snapshot.cs +++ b/src/FilterLists.Services/Snapshot/Snapshot.cs @@ -42,6 +42,8 @@ public Snapshot(FilterListsDbContext dbContext, EmailService emailService, Filte public async Task TrySaveAsync() { await AddSnapEntity(); + if (!IsViewUrlValid()) + return; try { await SaveAsync(); @@ -57,6 +59,10 @@ private async Task AddSnapEntity() dbContext.Snapshots.Add(snapEntity); await dbContext.SaveChangesAsync(); } + + private bool IsViewUrlValid() => + Uri.TryCreate(list.ViewUrl, UriKind.Absolute, out var uriResult) && + (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps); private async Task SaveAsync() {