Лучшая практика: предотвращение взлома кликов: что делать, если JavaScript отключен?

В настоящее время я смотрю на защиту веб-сайта от перехвата кликов. Немецкая Википедия дает следующий лучший пример для этого:

<style> html{display : none ; } </style>
<script>
    if( self == top ) {
       document.documentElement.style.display = 'block' ; 
    } else {
       top.location = self.location ; 
    }
</script>

Мне, однако, было интересно, что, если у клиента отключен JavaScript? Тогда он НЕ будет отображать страницу. У нас есть требование отправить полностью функциональную версию приложения без поддержки javascript.

Любая рекомендация для достижения этого?

1 ответ

Решение

Ты можешь использовать

<script>
    if (self !== top) {
       document.documentElement.style.display = 'none';
       top.location = self.location;
    }
</script>

по-прежнему скрывать страницу в случае успешной атаки на навигацию. Вы также можете показать сообщение по линии self.location.href + " cannot be displayed in a frame." вместо.

Конечно, это не помешает отображению вашей страницы во фрейме, когда JavaScript отключен (может быть, даже не глобально, а только в вашем фрейме), поэтому вы всегда должны отправлять соответствующий заголовок X-Frame-Options рядом.

Другие вопросы по тегам