Если в папке нету pdf файла, то выводи форму, которая позволяет загрузить pdf. После загрузки выводин pdf для просмотра. Но не могу понять почему $dir после заливки не меняется. Файл загружается, но все равно $dir==NULL
Если обновить страницу, то срабатывает else и пдф выводится. Должно же сразу все работать как только я нажал сабмит, страница же обновляется, почему $dir обновлятся только со второго обновления страницы?
echo"Datasheeе для $name отсутствует. <br>Загрузите Datasheet и получите скидку 5% на всю корзину<br><input type='file' name='userfile'> <input type='submit' name='submit6'>";
//иначе если в папке пдф есть, то выводим пдф для чтения на страницу
}else{
?>
<a href="<?=$pdf?>"><img src="/image/pdf.png">Datasheet для <?=$row['nom_name']?></a>
<?
}
?>
</div>
На самом деле, все логично , при первом нажатие на submit, вы помещаете файл во временное хранилище. А при повторной отправке формы уже перемещаете файл в папку. Вам необходимо создать страницу обработчик например script.php, в который отправлять данные о файле и перемещать его, а в конце по средствам header перенаправлять пользователей на исходную страницу. Если не понятно о чем я говорю , могу привести пример кода.
Здравствуйте, вывожу данные в Excel при помощи PHP Excel. После 100 строки возникает следующая ошибка:
getColumnDimension('A100') Column string index can not be longer than 3 characters.
Как я понимаю нужна другая функция аналог setCellValueByColumnAndRow , чтобы можно было обращаться по индексу 100 , а не по строке. Может кто то сталкивался с данной проблемой?
Доброго всем здоровья! После загрузки сайта на сервер перестал работать файловый менеджер. При клике по Выбрать на сервере вместо картинок в окошке менеджера PHP-код:
<?php
/** This file is part of KCFinder project
*
* @desc Browser calling script
* @package KCFinder
* @version 3.12
* @author Pavel Tzonkov <sunhater@sunhater.com>
* @copyright 2010-2014 KCFinder Project
* @license http://opensource[dot]org/licenses/GPL-3[dot]0 GPLv3
* @license http://opensource[dot]or[dot][dot][dot]censes/LGPL-3[dot]0 LGPLv3
* @link http://kcfinder[dot]sunhater[dot]com
*/
require "core/bootstrap.php";
$browser = "kcfinder\\browser"; // To execute core/bootstrap.php on older
$browser = new $browser(); // PHP versions (even PHP 4)
$browser->action();
?>
Заметила такое различие: на локалке в окошке файлового менеджера в поле URL строится такой путь к картинке: /app/webroot/js/kcfinder/upload/ images/13.jpg
А на сервере путь строится короткий: /images/13.jpg.
Может, здесь кроется отгадка? Сайт на CakePHP. Помогите, пожалуйста.
Скорее всего на хостинге не включен модуль php. Посмотрите в настройках.
Третий вопрос можно ли защитить HTTP аутентификацию от брута?
да. Как минимум капча + лимитировать кол-во попыток + бан на время. (Добавление)
Russer пишет:
Это тестовый проект для своих нужд , и соответственно не хотелось бы вкладывать большие деньги.
если уж речь зашла.
Можно и бесплатно на 2 года на 5 доменов https://buy[dot]wosign[dot]com/free/ это если не заморачиваться с гемороем let's encrypt.
Russer пишет:
Ну и плюс SSL защитить только от брута
нет. SSL дает гарантию от перехвата данных ибо шифровано, но нужно не забывать про mitm(man-in-the-middle).
Спасибо большое!
Можно по первому вопросу немножко подробнее , что кроме отсутствия ssl не безопасно в таком методе?
И по третьему авторизируюсь стандартным apache , всплывающие окно логин пароль , разве можно туда добавить капчу? Лимитировать лучше стандартным php, например записывать количество попыток в сессию?
Здравствуйте!
В моем проекте (Вывод данных с контроллера по http) требуется достаточно хороший уровень безопасности. По скольку количество пользователей не такое уж и большое, решил сделать авторизацию по средствам стандартного http. Пока что пробую Basic метод , потом будет Digest . Смысл очень прост : для отдельного пользователя создается пара логин:пароль , в директории находящейся выше web-сервера лежат ini файлы(настройки подключения к контроллеру), названия файла = логину в http. Связь скрипта ,подгружающего настройки, и HTTP авторизации ведется через переменную $_SERVER[PHP_AUTH_USER].
Первый вопрос надежен ли такой метод?
Второй вопрос каким способом можно выполнить logout из HTTP?(на данный момент пытался через header, но пока не выходить)
Третий вопрос можно ли защитить HTTP аутентификацию от брута?
Заранее спасибо!
Подскажите , можно ли получить json данные по средства curl ?
На данный момент у меня получается только string , конечно можно разобрать строку в массив , но хотелось бы получить сразу json данные!
распознавал устройство как определенное за учетной записью
На сколько помню обсуждения этого кейса коллегами, уникально идентифицировать устройство невозможно даже непосредственно из android приложения.
ЕМНИП, imei - это GSM сети, т.е. привет планшетам вообще без GSM модуля.
Штатный DeviceId - не уникален (данные с одного реального приложения, разные клиенты, идентичные id).
Уникален рекламный id гугла, но он далеко не у всех есть.
Из PHP - нет, ничего узнать не выйдет. Что-то должно присылать само приложение.
У меня не клиента ориентированный проект , поэтому планшеты и не нужны. Спасибо, самое главное для себя узнал!
Смысл в том , что я плохо знаю android язык. По этому хотел реализовать достаточно простой подход:
Приложения заходило бы на PHP сервер , где скрипт распознавал устройство как определенное за учетной записью , и генерировал бы ключ,который заносился в базу, и отдавал бы его приложению. Меня интересует именно возможность через PHP идентифицировать мобильное устройство. Понятно что можно через android приложение считать imei , после чего отправить его например через POST на сервер. Но тогда, если я узнаю Imei владельца телефона , что делается в течение минуты, то я и из браузера смогу узнать код подтверждения.