2

Я запускаю NoScript в Firefox, и каждый раз, когда я пытаюсь использовать Runnable Snippet, NoScript спрашивает меня, хочу ли я разрешить выполнение потенциального межсайтового скрипта. Я могу предоставить регулярное выражение для обхода уведомления, но я хочу убедиться, что оно как можно более точно нацелено, чтобы фактические атаки XSS не проходили (не то, чтобы у Stack Exchange когда-либо было бы одно из них).

Я старался:

^https?://stackexchange\.com/questions/.*$

Но я все еще получаю исключение. Должен ли я нацеливаться на http://stacksnippets.net ?

Я также попробовал:

^https?://stacksnippets\.net.*$

Что работает, но разве это самый направленный RegEx, который я могу сделать?

1 ответ1

2

Может быть немного параноиком, но я бы добавил, что после .net никакие буквы или точки не допускаются для первого символа. Если существует домен верхнего уровня .netmal или .net.au (как, например, .com.au), кто-то может выйти и зарегистрировать stacksnippets.netmal/stacksnippets.net.au и запустить там свою вредоносную программу.

Так что-то вроде:

^https?://stacksnippets\.net([/?].*)?$

Это потребует / или ? сразу после базового URL, гарантируя, что домен действительно является stacksnippets.net и ничего больше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .