• Как переименовать файл, если такой файл есть при загрузке?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Это совершенно небезопасный и непонятно зачем нужный велосипед. Генерируйте наименования загружаемых файлов сами, строго следите за расширением.

    $valid_formats = [
        'jpg',
        'jpeg',
        'png',
        'gif',
        'bmp'
    ];
    
    $ext = pathinfo($_FILES['filename']['name'], PATHINFO_EXTENSION);
    if (!isset($valid_formats[$ext])) {
       return 'error';
    }
    
    $filename = md5($_FILES['filename']['name'].uniqid()). '.' .$ext;
    
    if (!is_file('upload/'.$filename)) {
       move_uploaded_file($_FILES['filename']['tmp_name'], 'upload/'.$filename);
    }
    Ответ написан
    Комментировать
  • Онлайн-касса и ИП кому отсрочка до 2019?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Пройдите тест на сайте налоговой https://kkt-online.nalog.ru/#
    ИП на УСН оказывающий услуги физ.лицам по безналу (НЕ ТОРГОВЛЯ И НЕ ОБЩЕПИТ) имеет отсрочку до 1 июля 2019го.
    Ответ написан
    Комментировать
  • Hold денег на своем счету и дальнейшая выплата?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Контролирующие органы в РФ всегда работают от "лоха". Если ты не можешь объяснить налоговой на основании каких статей закона вдруг у тебя из оборота в 100 000 доход по декларации 10 000 - сразу набросают штрафов, пеней и доначислят налог 6% со всего оборота.
    Конкретно для вашего проекта это типичная агентская схема взаимодействия.
    ст. 251 НК
    1. При определении налоговой базы не учитываются следующие доходы: 9) в виде имущества (включая денежные средства), поступившего комиссионеру, агенту и (или) иному поверенному в связи с исполнением обязательств по договору комиссии, агентскому договору или другому аналогичному договору, а также в счет возмещения затрат, произведенных комиссионером, агентом и (или) иным поверенным за комитента, принципала и (или) иного доверителя, если такие затраты не подлежат включению в состав расходов комиссионера, агента и (или) иного поверенного в соответствии с условиями заключенных договоров. К указанным доходам не относится комиссионное, агентское или иное аналогичное вознаграждение;
    Т.е вашим доходом признается только сумма вашего вознаграждения.
    Менять режим налогообложения не нужно, если по оборотам в лимиты УСН конечно укладываетесь.
    Грамотно составьте оферту (агентский договор) согласно которой вы выступаете агентом от имени и за счет исполнителя.

    Вы оказываете услуги физ.лицам по безналу. Если верить сайту налоговой, по такой деятельности онлайн кассы нужны будут 1 июля(ня?) 2019 года.
    Ответ написан
    1 комментарий
  • Как получить и обработать JSON в PHP?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    jQuery.ajax({
         url: url,
         type: 'POST',
         data: {	action: "get_genres"	},
         dataType: 'json'
        })
        .done(function(data){ console.log(data); });


    switch ($_POST['action']) {
       case 'get_genres': 
           get_genres();
           break;  
    }
    Ответ написан
    Комментировать
  • А как создать внутренний кошелёк сайта.?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Нужно быть аккуратным в терминах, если вы реально хотите делать электронный кошелек, позволяющий физ.лицу делать переводы третьим лицам или организациям, то ни один банк, ни одна платежная система не даст вам это делать без лицензии ЦБ.
    Если вам нужен просто баланс личного кабинета для оплаты конкретно ваших услуг (хостинг например) то это абсолютно другое. Опишите подробнее что вам именно нужно.
    Ответ написан
    Комментировать
  • По какому принципу работает такая Captcha?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Ну гугловская капча без доп проверки пропустит если
    а) недавно ты уже проходил несколько раз успешно капчу
    б) активно пользуешься сервисами гугла
    + еще 100500 алгоритмов и анализа.

    Аналогично с капчей на Али, вероятно там в основе всего идет анализ движения мыши во время свайпа.
    Ответ написан
    2 комментария
  • Как сделать два input в одну строку?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Самый простой вариант.
    <div style="display:inline-block">
       <input type="text">
       <input type="text">
    </div>
    Ответ написан
    Комментировать
  • При установке пакета libapache2 php5.6 выдает ошибку. Как исправить?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Попробуйте апач переустановить полностью
    $ sudo apt-get purge apache2 
    $ sudo apt-get purge php5 libapache2-mod-php5 
    $ sudo apt-get autoremove 
    $ sudo apt-get install apache2 libapache2-mod-php5 php5
    Ответ написан
  • В Рунете сотни статей, описывающих создание вирусов. Разве это не попадает под 273 статью УК РФ?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Статья 273 не такая резиновая, как та же 282.
    Сам по себе исходный код так называемого Proof of Concept какой-либо уязвимости или даже исходного кода вируса не является распространением вредоносных компьютерных программ.
    Но вот инструкция по компиляции исходного кода, в результате чего на выходе получится та самая вредоносная компьютерная программа вполне может попасть под эту статью.
    Anyway МВД уже давно переключилось на более "сладкую" статью для выполнения статистики (см первое предложение).
    Ответ написан
    Комментировать
  • Как спарсить курс юаня с сайта банка?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Если нужен курс на день, а не с биржи в реальном времени, то берите у ЦБ
    www.cbr.ru/scripts/XML_daily.asp
    Ответ написан
    7 комментариев
  • Что за обфускатор тут поработал?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Ответ написан
    Комментировать
  • Есть ли виджет с карты на карту?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Ну как минимум у Альфа Банка и Payture такие услуги видел недавно.
    Не думаю что оно идет как виджет, скорее всего страница с вашим дизайном на серверах банка, ибо PCI DSS обязателен.
    Ответ написан
    2 комментария
  • Как зашифровать данные пользователей в бд?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Не нужно ничего шифровать, уж тем более на уровне и средствами бд, бесполезная нагрузка на сервер.
    Ответ написан
    Комментировать
  • Как обрезать переменную в коде шаблона Smarty?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    mb_substr ($title, 0 , 70)
    Ответ написан
    Комментировать
  • Что не так с кодом (str_replace)?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Все так, только вывод нужно делать уже преобразованного шаблона
    print_r($template_string_replace);
    Ответ написан
  • Как отдавать видео с помощью PHP?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    HTTP_REFERER проверяйте, белый список ваших ресурсов, которые могут запрашивать видео.
    Ну и черный список HTTP_USER_AGENT как дополнение.
    В народе это hotlinking, погуглите, на эту тему много инфы с примерами реализации.
    Само собой это защита от дурака.

    Отдача статики через PHP дело не благородное, зато есть возможность накрутить дополнительной защиты без особой боли, например доступ к видео по одноразовому ключу из сессии.
    Ответ написан
    1 комментарий
  • Ошибки при выполнении post-запроса, в чем причина?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Через обычный GET запрос получайте.
    $requestUrl = 'https://rmsp.nalog.ru/search-proc.json' . '?' . http_build_query([
                  'query' => empty($_POST['query']) ? 0 : intval($_POST['query'])
                  ], null, '&', PHP_QUERY_RFC3986);
    $response = json_decode(file_get_contents($requestUrl));
    Ответ написан
    Комментировать
  • Как обезопасить сайт от комментария пользователя с XSS, но при этом сохранить нужные теги (htmlspecialchars делает теги обычным текстом)?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    В таком случае лучше смотреть в сторону bb-кодов.
    Ответ написан
    Комментировать
  • Правильный запрос к MySQL?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    Страшный конечно запрос. Не делайте так никогда, используйте PDO и биндинги.
    Покажите структуру таблицы, тип и кодировку поля url, набор данных для примера и содержимое $url
    Ответ написан
  • Как отправить форму игнорирую пустое поле?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    	if (!empty($_POST['formData'])) {
    		$formData = $_POST['formData'];
    	}else{
    		$formData = 'Без темы';
    	}
    	$to = "kna4er76@gmail.com"; /*Адрес, на который должно приходить письмо*/
    	$sendfrom = "tenderklass@yandex.ru"; /*Адрес, с которого будет приходить письмо*/
    	$headers = "From: " . strip_tags($sendfrom) . "\r\n";
    	$headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
    	$headers .= "MIME-Version: 1.0\r\n";
    	$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
    	$subject = "Заявка с сайта Тендерный отдел";
    	$message = "Тема: $formData \n \n ";
    	if (!empty($_POST['name'])) {
    		$message .= "Имя: ". htmlspecialchars($_POST['name'])." \n \n";
    	}
    	if (!empty($_POST['phone'])) {
    		$message .= "Телефон: ". htmlspecialchars($_POST['phone'])." \n \n ";
    	}
    	if (!empty($_POST['day'])) {
    		$message .= "Срок аренды: ". htmlspecialchars($_POST['day'])." \n \n ";
    	}
    	if (!empty($_POST['avto'])) {
    		$message .= "Автомобиль ". htmlspecialchars($_POST['avto'])." \n \n ";
    	}
    	if (!empty($_POST['option_dop1'])) {
    		$message .= "Дополнительные опции: ". htmlspecialchars($_POST['option_dop1'])." \n \n ";
    	}
    	if (!empty($_POST['option_dop2'])) {
    		$message .= "Дополнительные опции: ". htmlspecialchars($_POST['option_dop2'])." \n \n ";
    	}
    	if (!empty($_POST['option_dop3'])) {
    		$message .= "Дополнительные опции: ". htmlspecialchars($_POST['option_dop3'])." \n \n ";
    	}
    
    	if (!empty($_POST['data_do'])) {
    		$message .= "Дата начала аренды: ". htmlspecialchars($_POST['data_do'])." \n \n ";
    	}
    	if (!empty($_POST['data_po'])) {
    		$message .= "Дата окончания аренды: ". htmlspecialchars($_POST['data_po'])." \n \n ";
    	}
    	if (!empty($_POST['mesto'])) {
    		$message .= "Откуда хотите забрать автомобиль?: ". htmlspecialchars($_POST['mesto'])." \n \n ";
    	}
    	if (!empty($_POST['address'])) {
    		$message .= "Откуда хотите забрать автомобиль?(Адрес): ". htmlspecialchars($_POST['address'])." \n \n ";
    	}
    	if (!empty($_POST['mesto_s'])) {
    		$message .= "Где хотите сдать автомобиль?: ". htmlspecialchars($_POST['mesto_s'])." \n \n ";
    	}
    	if (!empty($_POST['address_s'])) {
    		$message .= "Где хотите сдать автомобиль?(Адрес): ". htmlspecialchars($_POST['address_s'])." \n \n ";
    	}
    
    	$message .= 'Заявка пришла со страницы: ' . $_SERVER["HTTP_REFERER"]; 
    
    	if (mail($to, $subject, $message, $headers)) {
    		echo 'Отправлено';
    	} else {
    		echo 'Ошибка. Сообщение не отправлено!';
    	}
    } else {
    	http_response_code(403);
    	echo "Попробуйте еще раз";
    }
    ?>
    Ответ написан
    Комментировать