Профиль пользователя заблокирован сроком с 24 марта 2024 г. и навсегда по причине: систематические нарушения пункта 5.2 правил сервиса
  • Как узнать URL страницы с iframe?

    @My1Name Автор вопроса
    Михаил Р.,
    вот только эти методы не будут работать на других доменах из за ограничения политики Same-Origin.

    А скрипты на встроенной странице, будут работать? Ajax запросы к серверу и т.п. ?
    Написано
  • Как узнать URL страницы с iframe?

    @My1Name Автор вопроса
    Подразумевается "моя страница" в iframe, и я не знаю id фрейма в котором оказалась страница... Нужен скрипт, который при встраивании в iframe на других ресурсах, будет сообщать состояние страницы или адрес.

    Как вариант, выглядит правдоподобно по вашей ссылке следующее решение: var currentUrl = document.referrer;
    Написано
  • Как защитить Spring приложение, отключив CSRF-токен?

    @My1Name Автор вопроса
    По второй ссылке хорошо описана ситуация и, в данном случае, мне необходимо позаботиться о "кликджекинге".

    Когда сайт загружается в IFrame, все его кнопки становятся доступными и на сайте потенциального злоумышленника; любой щелчок считается действительным и для моего приложения. Это может быть фишинг и всё что угодно...

    Возникает другой вопрос: Если добавить проверку референс getRequestURL(); в методы контролёра, такой запрос через iframe будет считаться внешним или локальным? Как узнать URL запроса если страница во фрейме?
    Написано
  • Как сделать INSERT в две таблицы в одном запросе?

    @My1Name Автор вопроса
    Akina, пример, который дан в ответе по ссылке https://stackoverflow.com/questions/24589138/inser...
    String sql = "insert into role(name, code) values(?,?);" +
        "insert into person(first_name, last_name, description, role_id) values(?,?,?,(SELECT LAST_INSERT_ID()));";

    у меня почему-то не работает. Он ничего не делает и никаких ошибок не выдаёт.
  • Как сделать INSERT в две таблицы в одном запросе?

    @My1Name Автор вопроса
    Akina, спасибо, я понял. Там используется всё тот-же PreparedStatement... Разница лишь в том, что batchUpdate формирует пакетный запрос (список) prepared и, по разным данным выигрывает по времени в работе с большими списками/данными. Однако, это всё тот же statement и для двух INSERT (в разные таблицы) его применение неоправданно.
  • Как сделать INSERT в две таблицы в одном запросе?

    @My1Name Автор вопроса
    Алексей Уколов, чтоб отдать задачу MySQL и освободить приложение.
  • Как сделать INSERT в две таблицы в одном запросе?

    @My1Name Автор вопроса
    Akina, тут пишут, что есть какой-то multilane statements (MySql function), но я что-то не понимаю, можно ли такой подход применить в данном случае? И если можно, то как правильно это написать?
  • Как сделать INSERT в две таблицы в одном запросе?

    @My1Name Автор вопроса
    Adamos, напиши правильно весь запрос.
  • Как сделать INSERT в две таблицы в одном запросе?

    @My1Name Автор вопроса
    Adamos, с кавычками всё нормально. То такая подсветка синтаксиса.
  • Как сделать INSERT в две таблицы в одном запросе?

    @My1Name Автор вопроса
    Второй INSERT не проходит... MySQL ругается. Говорит "syntax error" и показывает правильные данные в строке.
  • Как установить role для UserRoleAuthorizationInterceptor и HttpServletRequest?

    @My1Name
    Дмитрий Кинаш, Всё это "х" на постном масле...
    Я когда-то делал по этой инструкции

    Я тоже когда-то делал, но не по инструкции, а по технологии Servlet-а, который лежит в основе Spring-а. "Под капотом" там ConcurrentHashMap и класс Singleton, который проверяет hashCode в hashMap. На уровне "ядра" Spring, всё это выглядит приблизительно так:
    import java.util.HashMap;
    import java.util.concurrent.ConcurrentHashMap;
    
    public class SerialMAP {
    	private static final long serialVersionUID = 1L;
    	private static volatile SerialMAP instance;
    	public ConcurrentHashMap <String, String> USER_SESSION_KEY; //Key SESSION_USER_KEY; Value: email; 
    	
    	private SerialMAP() {
     	super();
            USER_SESSION_KEY = new  ConcurrentHashMap <String, String>();
     	// Факт наличия юзера в USER_SESSION_KEY == true; Юзер залогинился
     	   cleaner();
    	}
    	
    	public static SerialMAP getInstance() {
    		SerialMAP localInstance = instance;
    		if (localInstance == null) {
    			synchronized (SerialMAP.class) {
    				localInstance = instance;
    				if (localInstance == null) {
    					instance = localInstance = new SerialMAP();
    				}
    			}
    		}
    		return localInstance;
    	}
    	
    	private void cleaner() {
    // Thread demon. Remove yourself object by Key...
    	}
    
    	public static long getSerialversionUID() {
    		return serialVersionUID;
    	}
    }

    В пример я взял свой старый код... Класс UserRoleAuthorizationInterceptor - детище Multithreading. Всё самое необходимое реализовано Spring Security. И не нужно ничего выдумывать.
  • Можно ли перенаправлять не предусмотренные системой запросы на другие ресурсы?

    @My1Name Автор вопроса
    Если пропускать такие запросы и перенаправлять, это наверно получится DDoS прокси. Поэтому, наверно всё-таки нельзя делать переадресацию... Нужно просто блокировать или игнорировать такие запросы, отправляя код ошибки 412.

    С другой стороны, это ведь клиент перейдёт по ссылке переадресации... Так что наверно всё-таки можно :)
  • Как установить role для UserRoleAuthorizationInterceptor и HttpServletRequest?

    @My1Name
    artemfisher, вы вообще понимаете, что пишите?
    там же Spring Security, я про голый Spring Framework

    после прочтения этого, у меня закрались сомнения
    Под капотом UserRoleAuthorizationInterceptor
    вы точно под капотом смотрели?

    Если вы пишите на голом Servlet, то пишите и свой hashCode / hashMap - AuthenticationProvider. Зачем вам ещё что-то?)
  • Как вернуть страницу с id в Spring?

    @My1Name
    th:if="${sequenceGapError?.equals(true)}">
    Что это за формат записи? Правильно так:
    th:if="${sequenceGapError}">
    Или так: th:if="${sequenceGapError != null}">
    Или ещё можно вот так:
    th:insert="${sequenceGapError} ? '/example/header.html' : '/example/body.html'">
  • Как написать свой матричный фильтр (например размытие по Гауссу)?

    @My1Name
    Zashamee,
    у меня не техническое образование. И я только учусь. Базовые вещи фронтенда я изучил React и т.п.

    Тогда нули и единицы вам пока не нужны... Ниже мой псевдокод (JAVA) для работы с изображением. Если сумеете понять, то думаю сможете написать и свой матричный фильтр.

    Метод "термит" ( ̶т̶а̶к̶ ̶я̶ ̶е̶г̶о̶ ̶н̶а̶з̶в̶а̶л̶) по большому счёту - это "Хромакей". Сначала выбирается некоторая область изображения (в пикселях), а потом применяются разные фильтры.65532de39d2d8053882721.jpeg
  • Как написать свой матричный фильтр (например размытие по Гауссу)?

    @My1Name
    p.s. Это основы программирования. Как вы собрались писать свой "матричный фильтр Гаусса" без базисных знаний, я не представляю... Обычно это изучают в ВУЗах на первом - втором курсе паралельно с математикой.

    Восьмью битами представляют информация для разных кодировок (например: ASCII, ISO 8859-5, UTF-8 и др.). См. 01010111 == "W" в ASCII
  • Как написать свой матричный фильтр (например размытие по Гауссу)?

    @My1Name
    Zashamee,
    каким образом оно переводиться в цвет?

    В современных вычислительных системах байт состоит из 8 бит и, соответственно, может принимать одно из 256 (от 0 до 255) различных значений.

    Каждый канал RGB занимает 8 бит (1 байт) и обеспечивает 256 возможных значений для одного цвета.

    Вы можете открыть картинку обычным блокнотом и посмотреть. Там будет ряд символов (к̶р̶а̶к̶о̶з̶я̶б̶р̶ы̶): набор цифр и мета-данные изображения в кодировке ANSI, отвечающие за цвет каждого пикселя. Один пиксель для RGB изображения занимает три байта (256×3).

    **не открывайте большие изображения текстовым файлом. Это может привести к зависанию ПК.

    это новое значение центрального пикселя?

    Это значение одного пикселя. А метод Гаусса делает "размывку" по нескольким пикселям. То есть, берётся грубо говоря квадратик включающий в себя 9 пикселей (матрица 3×3), и вычисляется оптимальное значение для каждого пикселя на основании смежных значений.

    В конечном счёте, вы пишите набор байтов в файл и указываете его расширение (например .jpg). Таким образом остальные системы понимают, как его интерпретировать ("декодировать").
  • Как вернуть ссылку с параметрами?

    @My1Name Автор вопроса
    p.s. в этом участке кода, переадресация не обязательна:
    if (principal==null && id.isBlank()) {
    			return "redirect:/";
    		}

    На одной странице может быть 2 каталога. Например: 1 - список пользователей (ссылка без параметров); 2 - страница пользователя/ей (ссылка с параметрами). В таком случае на ст. publisher.html можно сделать вставку части html документа через условие:
    <div th:insert="${list} ? '/example/list.html' : '/example/user.html'"></div>
  • Как вернуть ссылку с параметрами?

    @My1Name Автор вопроса
    Dmitry Roo, Спасибо, я целый день искал решение... Оно оказалось до безобразия простое.
  • Как вернуть ссылку с параметрами?

    @My1Name Автор вопроса
    Мне нужно сделать так, чтоб юзеры могли просматривать не только свою страницу, но и страницы других пользователей... То есть, по id я определяю владельца страницы, и ссылка на страницу должна быть постоянной (с учётом особенностей спринга..). Как это сделать? 0_о