Задать вопрос
  • Как устранить ошибку Only variables can be passed by reference?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Денис Московский, Не что не работает, а что выдают дампы переменных?
    Написано
  • Как устранить ошибку Only variables can be passed by reference?

    ThunderCat
    @ThunderCat Куратор тега PHP
    ...
    else
    	{
    		var_dump($el);
    		var_dump($arAllStr);
    		var_dump($arResult[$i]);
    		PHPParser::GetParamsRec($el, $arAllStr, $arResult[$i]);
    	}
    ...
    Написано
  • Как запустить несколько очередей в Laravel?

    ThunderCat
    @ThunderCat
    knotik, ниже комментариев "ВАШ ОТВЕТ НА ВОПРОС". Добавьте и отметьте решением.
    Написано
  • Как запустить несколько очередей в Laravel?

    ThunderCat
    @ThunderCat
    knotik, вынесите ваш ответ в ответы и пометьте решением, это может кому-то пригодиться.
    Написано
  • Bitrix. Mysql жрет процессор как не в себя. Куда копать?

    ThunderCat
    @ThunderCat
    1)
    95% запросов выполняется за 0.0001 - 0.001 секунды. (на каждый запрос)
    Это вполне может быть результатом работы 6 ядер, а не правильно построенных индексов. Хотя и маловероятно. Опять же, выбрать ВСЮ таблицу занимает НИЧЕГО по времени, но ДОФИГА по памяти, возможно где-то все таки нет лимитов.

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

    Вообще с таким я встречался только в нескольких случаях, но там всегда нагрузку вызывали именно масса запросов, порядка 100 в секунду... тут же все странно... Возможно особенность кода, но так как мускуль причина тормозов - смотреть все равно надо запросы, и потом уже думать как фиксить код.
    Написано
  • Bitrix. Mysql жрет процессор как не в себя. Куда копать?

    ThunderCat
    @ThunderCat
    Вы бы добавили тег mysql, а то большинство спецов по самой проблеме ваш вопрос в ленте не видят. Я сам случайно попал в тему из блока "интересное", так как на специфические хрени вроде битрикса и вордпресса не подписан.
    Написано
  • Как мне выводить из базы данных информацию по группам?

    ThunderCat
    @ThunderCat Куратор тега PHP
    happysmile_hm, значит цикл неверно написан. Подумайте как должен логически происходить каждый шаг цикла и найдете ошибку.
    Написано
  • На каких технологиях писать многостраничный сайт-визитку?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    шо там такого реактивного в сайте визитке?

    какие технологии использовать
    Выглядит как вордпресс...
    Написано
  • Как мне выводить из базы данных информацию по группам?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Вот как я хочу получать запрос
    Запрос вы так не получите, так как форматирование в нем не предусмотрено, это всегда построчный список одинакового формата. Только обработкой в приложении, например как написал Adamos.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    rPman,
    никто не мешает создавать симлинк на файл, правда когда именно это делать вопрос, например ссылка на скачивание это модуль проверки наличия этого симлинка и создания его по необходимости.
    то есть от "самого простого решения в 2 строчки" мы приходим к куче работы и настройки независящего от кода окружения. Ок, допустим.

    Про security through obscurity - нет, идентификатор сессии выступает токеном авторизации, любой другой способ авторизации так или иначе будет содержать токены, которые будут храниться в сессии браузера пользователя.
    Во первых - я уже показал как легко и непринужденно эти данные утекают. Значит это дыра. То что вы этого не понимаете говорит больше о неопытности, чем о злом умысле, но проблемы это не решает. Вы теряете контроль за доступом к файлу по 1 клику. И более того - ко всей папке.
    Во вторых
    При использовании modrewrite ссылка никак не будет содержать этот идентификатор..
    тоже как-то выходит за рамки 2 строчек кода и самого простого решения, мы опять должны решать что-то с окружением и писать свои костылики уже в хтаксесах. Плюс - возвращаемся к тому что папка выступающая как симлинк вся становится доступной и (тадаааа!) один файл мы снова не можем зашарить.

    Смена прав доступа - это удаление симлинка.
    То есть там где была только проверка, мы добавляем манипуляции с ФС, которые как бы не требуются при других подходах... Мы все еще говорим о самом простом решении в 2 строчки? И тут же улетело в трубу прямое обращение к файлу на время сессии, так как этот доступ должен быть по программной проверке и мы снова возвращаемся к работе через скрипт. Ну или если предположить что симлинк должен быть уничтожен во время смены доступа, то как блэт? Мы должны прочесать все симлинки, просмотреть в какой папке имеется нужный файл, выписать все ключи сессии в массив, а затем как-то вычислить какому пользователю принадлежит сессия с указанным ключом (допустим мы пишем этот ключ в бд, тогда танец с бубном становится на одно па короче...). Иии... оказывается что симлинк содержит еще 10 файлов в этой папке, к которым у пользователя есть доступ, и симлинк удалять нельзя (или можно?)...

    Еще раз, ты все то же самое будешь делать в любой другой базе данных, то что реляционные все уже умеют тригеры и позволяют это все красиво описать - всего лишь синтаксический сахар.
    Ну да, именно благодаря синтаксическому сахару мы уже не пишем интерфейсы на асме, если что. И нет, я не буду делать то же самое, как минимум не понадобится работа с ФС по удалению симлинка, что добавляет еще 1 уровень контроля за состоянием, и в итоге мы имеем лапшу кода по поддержке весьма странной фичи...
    Написано
  • Как называется подпрограмма внутри массива?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    Aetae,
    Но на самом деле всё это фигня, конкретно для js нет никаких фиксированных наименований, все они взяты из иных языков, где имели чёткие рамки, по схожести чисто на глаз.
    Какой-то поток сознания. В куче разных языков реализовано куча фишек и различных приемов, позволяющих сделать некоторые "трюки", тем не менее не выпадающие из ООП терминологии. Как оно там устроено под капотом можно поспорить, но то что вызывается как метод, в ООП называют методом.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    tajfun_rt, да, осталось вывести папку выше документ рута, иначе весь смысл доступа к ней через скрипт теряется.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    rPman, Проще и красивее? Ща со стула упаду ))
    Давай по порядку:
    1) Так нельзя дать доступ до конкретного файла, только до папки целиком. Что как бы не айс.
    2) Нормальная практика на серверах когда папка сессионных файлов содержит кучу "мертвяков", не убитых системой по множеству причин, чаще всего зависящих от настроек, которые не везде можно подкрутить. Тут как раз и "совместимость со всеми серверами" и "2 строчки кода" требующие дополнительных кронов и демонов в одном флаконе. Молчу про сервера под IIS.
    3) Не все сервера позволяют "симлинкать" что угодно куда угодно, часто простенькие шареды тупо закрывают эту возможность.
    4) По сути, не смотря на то что папка имеет "хитрое" имя и "теоретически" не доступна для других пользователей, это не доступ по правам, а security through obscurity, то есть папка физически доступна всем, кто знает. Например, Василий делится ссылкой на файл с Петей, и теперь Петя имеет доступ не только к файлам из папки Васи, но и видит его сессион кей. Найс.

    любая реализация на php будет грузить сервер на порядок выше нативного веб сервера.
    Вам в любом случае надо получить права доступа до файла для текущего пользователя, который (внезапно!) может быть сменен вот прям перед моментом обращения. Так что нужен код который это проверит. Еще один readfile() к этому коду нифига особо не добавит по нагрузке, так как тупо проксирует чтение.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    tajfun_rt, то есть ошибки не читаем, реальный путь до файла указать не догадались, но не получилось...
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    tajfun_rt,
    не получается.
    Что значит не получается? Оно или работает, или выдает ошибку.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    rPman,
    а по завершению сеанса, симлинк удаляется (если сеанс должен завершаться автоматически, придется использовать какой то работающий демон или периодический по крону для проверки всех сессий на завершение)... никто в здравом уме не делает их вечными.
    Конечно, конечно, конечно )... maxresdefault.jpg
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    чет какой-то странный способ наплодить миллиард симлинков... Банальный readfile() гораздо проще и безопаснее.
    Написано
  • Как называется подпрограмма внутри массива?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    tyxeo,
    а если я не использую классы в js
    Внутреннее представление все равно будет классом, и при вызове создается анонимный объект, со ссылкой на метод класса.

    то это метод или свойство?
    Что значит метод или свойство? Если это функция - то метод, если это переменная содержащая значение, то свойство. Как ты будешь вызывать данный метод? все равно как функцию же: o.x();
    Написано
  • Нужна ли адаптивная вёрстка для компьютерного браузера, если кто-то будет уменьшать окно браузера до мобильной версии?

    ThunderCat
    @ThunderCat
    yamer5,
    а если например меню и оно в другом месте на мобильном устройстве, не в центре экрана, как на компьютере. Вместо того, чтобы это меню отдельно выводить,...
    Чет все превращается в лекцию по адаптивной верстке ). Для меню есть специальные приемы по приведению его из строки в гамбургер. Готовую реализацию можно посмотреть например в бутстрапе или почитать по запросу мобильное меню статьи в гугле.
    Написано