Sanitize _aliasname by removing protocols

This commit is contained in:
Cody 2024-01-15 09:56:11 -08:00 committed by GitHub
parent 7744099ee5
commit 3a5dc62908
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -812,46 +812,43 @@
} }
} }
private async Task SaveAlias() private async Task SaveAlias()
{ {
if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host)) if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))
{ {
if (!string.IsNullOrEmpty(_aliasname)) if (!string.IsNullOrEmpty(_aliasname))
{ {
// Remove 'http://' and 'https://' from the alias name _aliasname = _aliasname.Replace("http://", "").Replace("https://", "");
string cleanedAliasName = _aliasname.Replace("http://", "").Replace("https://", ""); var aliases = await AliasService.GetAliasesAsync();
var alias = aliases.Where(item => item.Name == _aliasname).FirstOrDefault();
var aliases = await AliasService.GetAliasesAsync(); bool unique = (alias == null || alias.AliasId == _aliasid);
// Check if the cleaned alias name exists in the database if (unique)
var alias = aliases.Where(item => item.Name == cleanedAliasName).FirstOrDefault(); {
bool unique = (alias == null || alias.AliasId == _aliasid); if (_aliasid == 0)
if (unique) {
{ alias = new Alias { SiteId = PageState.Site.SiteId, TenantId = PageState.Site.TenantId, Name = _aliasname, IsDefault = bool.Parse(_defaultalias) };
if (_aliasid == 0) await AliasService.AddAliasAsync(alias);
{ }
alias = new Alias { SiteId = PageState.Site.SiteId, TenantId = PageState.Site.TenantId, Name = cleanedAliasName, IsDefault = bool.Parse(_defaultalias) }; else
await AliasService.AddAliasAsync(alias); {
} alias = _aliases.Single(item => item.AliasId == _aliasid);
else alias.Name = _aliasname;
{ alias.IsDefault = bool.Parse(_defaultalias);
alias = _aliases.Single(item => item.AliasId == _aliasid); await AliasService.UpdateAliasAsync(alias);
alias.Name = cleanedAliasName; }
alias.IsDefault = bool.Parse(_defaultalias); }
await AliasService.UpdateAliasAsync(alias); else // duplicate alias
} {
} AddModuleMessage(Localizer["Message.Aliases.Taken"], MessageType.Warning);
else // duplicate alias await ScrollToPageTop();
{
AddModuleMessage(Localizer["Message.Aliases.Taken"], MessageType.Warning);
await ScrollToPageTop();
}
} }
await GetAliases(); }
_aliasid = -1; await GetAliases();
_aliasname = ""; _aliasid = -1;
StateHasChanged(); _aliasname = "";
} StateHasChanged();
} }
}
private async Task CancelAlias() private async Task CancelAlias()
{ {