Add more information to IP ban notification

This commit is contained in:
2023-11-09 10:44:17 +01:00
parent 4240297c57
commit 97185fe237
3 changed files with 31 additions and 4 deletions

View File

@@ -6,6 +6,7 @@ import LoadingIndicator from "../util/LoadingIndicator.svelte";
let loading = true
let rows = []
let total_offences = 0
let expanded = false
let creating = false
@@ -20,6 +21,10 @@ const get_bans = async () => {
throw new Error(resp.text());
}
rows = await resp.json()
total_offences = rows.reduce(
(acc, curr) => acc + curr.offences.length, 0,
)
} catch (err) {
alert(err);
} finally {
@@ -83,6 +88,12 @@ onMount(get_bans);
<section>
<div class="toolbar">
<div class="toolbar_label">
Bans {rows.length}
</div>
<div class="toolbar_label">
Offences {total_offences}
</div>
<div class="toolbar_spacer"></div>
<button class:button_highlight={expanded} on:click={() => {expanded = !expanded}}>
{#if expanded}
@@ -185,6 +196,7 @@ onMount(get_bans);
}
.toolbar > * { flex: 0 0 auto; }
.toolbar_spacer { flex: 1 1 auto; }
.toolbar_label { margin: 5px; }
.header {

View File

@@ -73,6 +73,24 @@ onMount(async () => {
</table>
</div>
<p>
That these files originated from your IP address does not
necessarily mean that they were uploaded by you. It's possible
that people on your home/business network are sharing the same
IP address. If you're using a VPN then there are often many
people using the same IP address. And some ISPs deploy CGNAT, in
which case there could be hundreds of people sharing the same IP
address. In all of these cases IPv6 is the solution, but most
ISPs are decades behind on implementing internet standards. They
just don't care.
</p>
<p>
Now you may be asking: If IP banning is so unreliable, why are
you still using it? Well, I need to protect my service from
abuse somehow. The alternative is authenticating every user.
This adds another barrier to entry and generally complicates
things.
</p>
<p>
If you would like to dispute your IP ban you can mail me at
support@pixeldrain.com. Please do not mail unless you have a good

View File

@@ -86,10 +86,7 @@ export let highlight = false
height: auto;
}
.body {
display: flex;
padding: 0.4em;
flex-direction: column;
text-decoration: none;
padding: 0.5em;
border-top: 1px solid var(--separator);
}
</style>