A

Absolute134

+9
Репутация
17
Рейтинг
#1 [ЗАКРЫТО] Анимация горения свечи 4 ноября 2021 в 15:39

Наверное, можно просто создать поле «дата» у материала и сравнивать с текущей датой — для начала больше текущего времени или меньше. По этому условию скрывать или показывать элемент. Попробуйте начать с такого простого шага реализацию Вашей затеи) А остальное — прикрутить Аякс и т.д. будет проще, если это получится. Еще легче будет, если немного вникните в т.н. UNIX-время. Поле тогда можно создать просто число.

#2 [ЕСТЬ РЕШЕНИЕ] Шаблон Modern адаптивность iframe 29 октября 2021 в 17:15

Если шаблон не модерн, нужно будет добавить ещё стилей немного:

Олег Васильевич я

С этими стилями отличная адаптивность получается на… шаблоне не модерн.
К счастью немного роликов в бд нужно обернуть, обойдусь без костыля на js. Там кстати в iframe_no_resp по коду у вас итак объект jQuery со всеми методами — нет никакого смысла передавать это в функцию $. 

  1. $(function () {
  2. var iframe_resp_classes = ".video_frame.embed-responsive-item";
  3. var iframe_no_resp = $("iframe").not(iframe_resp_classes);
  4. iframe_no_resp.wrap("<div class='video_wrap embed-responsive embed-responsive-16by9'></div>");
  5. iframe_no_resp.addClass(iframe_resp_classes);
  6. });

В любом случае, благодарствую за наводку на стили.

#3 Некорректный Транислит изображений 23 октября 2021 в 15:59

Попробуйте в /templates/modern/js/images-upload.js 
найти на 130 и 188 строке

  1. file_name: $('#title').val()+' '+field_name

Заменить на:

  1. file_name: $('#title').val().replace(/\./g,'-')+' '+field_name
#4 Безопасность CMS 16 октября 2021 в 00:40

 

Тут непонятно чуток другое. Много чего есть, много чего можно сделать, или не сделать, как угодно. Зачем только. Есть какие-то конкретные предложения, уверен, все будут рады. А разговоры, ради разговоров, можно. Запрета то нет, но зачем, время терять.

Evg

Уважаемый IamB мне задал вопрос — было бы неприлично просто проигнорировать человека. Другое, что мы не поняли друг друга и понеслось обсуждение/споры, как это часто бывает. А костыли на PHP — это я видел раньше. В js банально setTimeout, который во времена ES5 был — у вас уже асинхронная функция, не блокирующая поток. А более поздние спецификации в этом плане ещё много полезных фич добавили, что асинхронность стала естественной частью разработки. 

А вообще, согласен — знатно нафлудили. С другой стороны администрация — разрешает (вроде бы :) По крайней мере конструктивные штуки обсуждаем — не за жизнь… или переход на личности… Разве что, пожалуй, за исключением одного гражданина. Да и контент генерируется — для SEO+. Когда форум живет, споры-дебаты, обсуждения это мне кажется наоборот хорошо. ИМХО конечно.

#5 Безопасность CMS 15 октября 2021 в 23:40

 

Ага, ответа по существу я не увидел. А это разве не вы писали?

При низких бюджетах и ограниченном времени — равных разработке на PHP нет, ну разве что на Node.js еще… Но кроме «модно-молодежно», пока особых преимуществ не видно… Разве что асинхронность, недоступная для PHP??

IamB

Здесь я рассуждаю о возможных преимуществах Node.js. Вроде из текста понятно. Вы и Fuze сказали, что я не понимаю что такое асинхронность. То есть не знаю о чем говорю.

Давайте к конкретике. Короткий и простой вопрос с примером на аяксе:

  1. $.ajax({
  2. url : 'https://enable-cors.org/',
  3. dataType : 'html',
  4. async : false,
  5. cache : false
  6. }).done((res)=>{
  7. alert( $(res).find('h2:first').text() )
  8. });
  9. alert(1);

Почему поток выполнения будет заблокирован ajax запросом?? Почему мы сначала увидем результат из ajax, а потом 1. Почему?))

Может быть я действительно не понимаю каких-то вещей.

Объясните тогда)) Я за истину. И признаю ошибку, если будут аргументы.

#6 Безопасность CMS 15 октября 2021 в 23:03

 Absolute134, итак, я вас спросил зачем вам асинхронность в PHP. Вы меня отправили сначала к jQuery потом к асинхронности выполнения кода в javascript. Вы еще хотите ответить мне на вопрос: Зачем вам асинхронность в PHP в вашем проекте на InstantCMS?

IamB

Вы спросили дословно следующее: «Расскажите зачем вам асинхронность?». На что получили ответ. Про PHP Вы не спрашивали. 

А Fuze далее почему-то подумал, что я воспринимаю ICMS, типа как react-приложение, которое рендерится на клиенте. 

#7 Безопасность CMS 15 октября 2021 в 22:42

Никаких проблем)) Закрывайте тему за ненадобностью сообществу. Тем более, если это всё просто шоу, как сказал уважаемый Ris.

синхронный ajax запрос — не блокирует поток?

Absolute134

блокирует поток таких же запросов из js.

Вы (для примера) возьмите тот же jQuery, использующийся в icms и поотключайте эту самую асинхронность в ajax вызовах. А потом начните пользоваться сайтом.

Absolute134

Ничего не изменится. Потому что у нас страница грузится вся сразу (серверный рендеринг) и по ajax после загрузки страницы мы не получаем ничего.

Вы путаете асинхронность выполнения кода в javascript с асинхронностью в ajax вызовах.

Fuze

Fuze, я не совсем про это. Ajax на проекте используются. В том же мессенджере. Я в целом, про блокировку потока, выше привел пример с кодом. И alert'ами. Блокируется поток при async: false?)

Добавлено спустя 23 минуты

Fuze, за одно рассуди быть этой теме или не быть. А то вот выше люди (вероятно с тонкой душевной организацией) претензии имеют) Не знаю насколько обоснованные.

#8 Безопасность CMS 15 октября 2021 в 21:28

 Absolute134, давайте я напишу вам в личку адрес своего сайта, а Вы мне в ответ вышлете пароль базы данных из конфига моего сайта?

Ломайте хоть всё, если сможете. У меня есть все необходимые бэкапы.

Ris

Один вопрос страннее другого сегодня. 
Во-первых, мне Ваш сайт совсем не сдался.
Во-вторых, я не пытаюсь потешить свое ЧСВ или кому-то что-то доказать.
В-третьих, Вы имеете полное право считать, что уязвимостей не существует в принципе, равно как и людей способных эксплуатировать эти уязвимости.

#9 Безопасность CMS 15 октября 2021 в 21:00

синхронный ajax запрос — не блокирует поток? Так?

Absolute134

Давайте рассмотрим ситуацию. Запрос браузером произвольной страницы-> Работает сервер(PHP)  -> Страница загрузилась ->  Клик по баттону -> JS формирует новый запрос к серверу -> Работает сервер(PHP) отдает какой-то json -> JS встраивает ответ сервера в тело страницы. Где блокировка потока?

IamB

Вам было предложено отключить асинхронные запросы. Давайте на мухах и котлетах.

Получим текст самого первого заголовка вот этого прекрасного сайта:

  1. https://enable-cors.org/

Опять же на любимом всеми jQuery. Хотя можно и без него. Не суть.

Получаем заголовок асинхронно (как и положено).

  1. $.ajax({
  2. url : 'https://enable-cors.org/',
  3. dataType : 'html',
  4. async : true,
  5. cache : false
  6. }).done((res)=>{
  7. alert( $(res).find('h2:first').text() )
  8. });
  9. alert(1);

Что раньше выведется вам? 1 или Why is CORS important? 
Можете открыть консоль браузера прямо на этом форуме, вставить туда этот код и нажать enter;
А теперь то же самое, но синхронно:

  1. $.ajax({
  2. url : 'https://enable-cors.org/',
  3. dataType : 'html',
  4. async : false,
  5. cache : false
  6. }).done((res)=>{
  7. alert( $(res).find('h2:first').text() )
  8. });
  9. alert(1);

Вопросы, замечания?))

#10 Безопасность CMS 15 октября 2021 в 20:24

Не понимаю, что такое асинхронное выполнение кода? 

Absolute134

Да. В контексте вашего примера выше.

IamB

То есть по-Вашему, синхронный ajax запрос — не блокирует поток? Так?

#11 Безопасность CMS 15 октября 2021 в 20:07

Вы (для примера) возьмите тот же jQuery, использующийся в icms и поотключайте эту самую асинхронность в ajax вызовах.

Absolute134

Думаю, вы путаете тёплое с мягким. Посмотрите хотя бы определение асинхронности здесь.

IamB

Можете сформулировать Вашу мысль) Что с чем я путаю… Не понимаю, что такое асинхронное выполнение кода? 

#12 Безопасность CMS 15 октября 2021 в 19:22

Разве что асинхронность, недоступная для PHP??

Absolute134

Расскажите зачем вам асинхронность?

IamB

Даже не знаю что ответить)) Вы (для примера) возьмите тот же jQuery, использующийся в icms и поотключайте эту самую асинхронность в ajax вызовах. А потом начните пользоваться сайтом. Посмотрите, что получится и вряд ли впредь такие вопросы будете задавать.    

#13 Безопасность CMS 15 октября 2021 в 15:12

Не, по уму, я за то, чтобы было все правильно, чтобы докопаться нельзя было, до всего. Но, так не бывает и не будет. В любой ОС и в любом языке, в любом ПО.

Evg

Где-то риски выше, а где-то ниже. 
Например, безопасность Django (тот, который на питоне): docs.djangoproject.com/en/3.2/topics/security/
Сам фреймворк строится таким образом, чтобы минимизировать риски + имеет встроенные защиты. Другое дело, что бюджеты и время. 
При низких бюджетах и ограниченном времени — равных разработке на PHP нет, ну разве что на Node.js еще… Но кроме «модно-молодежно», пока особых преимуществ не видно… Разве что асинхронность, недоступная для PHP??
Понятно, что при низких бюджетах и ограниченном времени мы как бы добровольно жертвуем безопасностью. ОК. Поэтому есть смысл немного заморочиться и минимизировать риски — провести хотя бы базовый пентистинг на систему, поставить WAF или, допустим, простые фильтры запросов на nginx и т.д.    

#14 Помогите с кодом " скопировать ссылку" 14 октября 2021 в 17:59

Как вариант, просто повесить ивент на dropdown «меню действий». Правда оно будет на всех страницах при нажатии на это меню добавлять ссылку.

  1. $('.breadcrumb + .dropdown').on('show.bs.dropdown', function () {
  2.  
  3. let li = document.createElement('li'),
  4. a = document.createElement('a');
  5.  
  6. li.className = 'nav-item';
  7. a.href = '#';
  8. a.className = 'nav-link text-nowrap';
  9. a.textContent = 'Скопировать ссылку';
  10. li.appendChild(a);
  11.  
  12. $(this).children('.dropdown-menu').append(li);
  13.  
  14. let handler = ()=>{
  15. let inp = document.createElement('input');
  16. inp.value = location.href;
  17. document.body.appendChild(inp);
  18. inp.select();
  19. if(document.execCommand('copy')){
  20. alert('Успешно скопировано')
  21. }
  22. inp.remove();
  23. return false;
  24. };
  25.  
  26. li.onclick = handler;
  27.  
  28.  
  29. });
#15 Безопасность CMS 13 октября 2021 в 15:22

Вот вам и Apache((
Наглядно экспойтим реверс-шелл на v2.4.49. Сработает и на v2.4.50 (CVE-2021-42013). Жесть ведь?? Полная жесть))

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.