protected agains bad room names

This commit is contained in:
hugogogo
2023-01-09 22:49:08 +01:00
parent ff16101383
commit 316d4c6fa9
6 changed files with 162 additions and 153 deletions

View File

@@ -1,12 +1,23 @@
<script lang="ts">
import { msgs, layout } from './Store_chat';
import { msgs, layout, allowed_chars } from './Store_chat';
import { change_room, create_room } from './Request_rooms';
import { onMount } from 'svelte';
import Button from './Element_button.svelte';
import Warning from './Element_warning.svelte';
export let back = "";
let allowed_chars = 'loading...';
let regex;
onMount(async() => {
let response = await fetch('/api/v2/chat/allowedchars');
let data = await response.json();
console.log("data:", data);
allowed_chars = data.chars;
regex = new RegExp(`^[a-zA-Z0-9\\s${allowed_chars}]+$`);
});
let room_name: string;
let room_type: string;
let room_password: string;
@@ -57,7 +68,7 @@
{/if}
<!-- name: -->
<label for="chat_name"><p>new room name :</p></label>
<input id="chat_name" bind:value={room_name} name="room_name" required>
<input id="chat_name" bind:value={room_name} name="room_name" placeholder="allowed special characters: {allowed_chars}" pattern={regex} required>
<!-- [ ] pubic -->
<label for="chat_public" class="_radio">
<p>public</p>

View File

@@ -14,3 +14,4 @@ export function add_msg(name: string, message: string)
{
msgs.update(msgs => [...msgs, { name: "me", message: message }]);
}