Как можно запретить пользователю проявлять активность на сайте (регистрироваться, писать...), если у него отключен JS?
Варинт 1. Используйте стили для BODY или HTML (`nojs`, например), который при загрузке JS в событии onloadскриптом уберете. А для всех элементов управления требующих JS установите видимиость в none..nojs button[onclick],
.nojs form[onsubmit],
.nojs .ajaxform {display: none}Вариант 2. Подгружайте интерактивные элементы через AJAX или рендерите с помощью JS. Так даже лучше - поисковики ругаться меньше будут.Вариант 3. Используйте SSR - Server Side RenderingОбязательно в <noscript> сделайте уведомление для пользователя.
Самый лучший вариант - использовать подход ненавязчивого JS (unobtrusive JavaScript). 
Гугл в помошь, а вкратце - сайт должен работать и без JS. Или, хотя-бы, отдавать вразумительную инфу. 
Супер-дупер подход - вообще предусматривать альтернативные варианты подачи информации для всего - медиа, графики, и тп, учитывать, что сайт должен читаться авточиталками для слабовидящих, управляться интуитивно, грузиться на слабых линиях. 
И таки-да: это и есть работа настоящего фронт-ендера, которая стоит охрененно дорого, потому-что подразумевает до хера знаний и требует до едрени-фени терпения и времени. Именно поэтому настоящий фронтер даже в России имеет зарплату разом больше 200k₽!
Есть к чему стремиться. Но это уже другая история, которая называется - UI/UX - User Interface/User eXperiance - учет опыта пользователя в интерфейсах.
1. Тег <noscript>
2. Это не актуально