PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (16): « 1 [2] 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 227
dmaw Отправлено: 25 Марта, 2017 - 10:06:32 • Тема: Слепок файловой системы / База данных файловой системы VDS • Форум: Администрирование *nix

Ответов: 6
Просмотров: 1648
Строитель, это самый простой вариант, скорее всего буду его реализовывать Улыбка
Хочется найти вариант посложнее Улыбка может уже кто-то написал такой скрипт, тогда нет смысла изобретать велосипед Улыбка
dmaw Отправлено: 24 Марта, 2017 - 19:27:50 • Тема: Слепок файловой системы / База данных файловой системы VDS • Форум: Администрирование *nix

Ответов: 6
Просмотров: 1648
Привет!
Не совсем точно обозначил название темы Улыбка
Хочу отслеживать изменения на VDS, потому как уже пару раз были дыры и на сервере появлялась всякая чужая хрень, в последний раз с моего сервера была почтовая рассылка.

План состоит в том, чтобы отслеживать возможные изменения в файлах для быстрого реагирования на взлом.

Ищу что-то такое что могло бы просканировать весь VDS и сделать базу данных в которой хранилась бы информация о каждом файле на сервере: название файла, общее количество файлов, дата изменения, размер в байтах.
Задача в том, чтобы раз в месяц просканировать файловую систему, через месяц повторить операцию и просмотреть отчет об изменённых файлах.
dmaw Отправлено: 27 Декабря, 2016 - 17:22:53 • Тема: PHP + VPN + FTP • Форум: Программирование на PHP

Ответов: 5
Просмотров: 1126
"Извращенцы, однако, знатные." - точняк, гос.структура :)
dmaw Отправлено: 27 Декабря, 2016 - 16:54:41 • Тема: PHP + VPN + FTP • Форум: Программирование на PHP

Ответов: 5
Просмотров: 1126
Правильно ли я понимаю: нужно на VDS-ке поставить VPN и после с помощью CURLOPT_INTERFACE коннектиться к нему.

Вся эта шляпа для работы с платёжной системой, у них счета (текстовые файлы с данными) нужно по FTP закидывать в папку и потом из соседней папки забирать файлы с информацией об оплате.
-------------

Мелкий, для меня это как китайский :) персистентно терминировать.
dmaw Отправлено: 27 Декабря, 2016 - 16:28:18 • Тема: PHP + VPN + FTP • Форум: Программирование на PHP

Ответов: 5
Просмотров: 1126
Добрый вечер!
Задачка образовалась, может кто поможет :)
Нужно было подключиться с помощью PHP к FTP - это без проблем, но потом оказалось, что это нужно сделать через VPN. Собственно вопрос в том, возможно ли с помощью PHP зайти на VPN и подключиться к FTP. Во как :)
dmaw Отправлено: 26 Ноября, 2016 - 10:59:11 • Тема: Скрипт партнёрской программы (вопрос про уязвимость) • Форум: Вопросы новичков

Ответов: 3
Просмотров: 231
Ребята, спасибо!
dmaw Отправлено: 25 Ноября, 2016 - 14:32:36 • Тема: Скрипт партнёрской программы (вопрос про уязвимость) • Форум: Вопросы новичков

Ответов: 3
Просмотров: 231
Добрый день!
Куда задать вопрос такого характера не знаю, пишу в этот топик, если что удалите или перенесите Улыбка

В сети появилась новая партнерка (не реклама) - maxtarget .ru
Хочу попробовать поставить на свой сайт.
После регистрации они просят загрузить себе на сервер некий php-файл.
Вот у меня вопрос по этому файлу. Сам я в ООП не бум-бум, прошу посмотреть вас.
Нет ли в этом файле чего-то такого, что позволит владельцу этой партнерки получить доступ к файлам моего сайта. Не смогут ли они натворить беды.

Прикрепил файл.
dmaw Отправлено: 18 Сентября, 2016 - 23:57:32 • Тема: Обработка форм, безопасность php • Форум: Программирование на PHP

Ответов: 3
Просмотров: 749
Ch_chov, спасибо! Фильтр purifier сегодня уже попадался на глаза, слишком сложно там всё оказалось, я за простоту Улыбка

Склоняюсь к минимальным возможностям. Больше нравится вариант с регулярными выражениями.

Сейчас сохранение в базу сделал так:


Вывод на сайте планирую как-то так:
PHP:
скопировать код в буфер обмена
  1. $str = strip_tags($str, '<p><a><img><b><strong><i><em><center><h1><h2><h3><h4><h5><h6><ol><ul><li><br><br /><blockquote><spoiler><source><table><tr><td>');
  2. $str = preg_replace("#(</?\w+)(?:\s(?:[^<>/]|/[^<>])*)?(/?>)#ui", '$1$2', $str); // удалить все атрибуты


Конечно каждый раз при выводе пропускать текст через функции я не буду, скорее всего будет второе текстовое поле в таблице.
Нужно решить вопрос с обработкой атрибутов для <a> и <img>
Возможно в этом подходе есть подводные камни.
dmaw Отправлено: 18 Сентября, 2016 - 11:07:13 • Тема: Обработка форм, безопасность php • Форум: Программирование на PHP

Ответов: 3
Просмотров: 749
Добрый день!
Очередной раз сталкиваюсь с проблемой пользовательского ввода и хранения текстов в MySQL.
Задача: На сайте человек регистрируется, у него есть возможность написать текст в форме с визуальным редактором (ckeditor), этот текст будет выводиться на сайте как html. Нужно как-то грамотно обрабатывать и хранить эти тексты, чтобы не образовать дыру в сайте.

Экранирование кавычек и спецсимволов это хорошо, пока дело не доходить до атрибутов типа onmouseover="alert(document.cookie)" и других магических конструкций вроде <script src="http://....../trojan.js"></script>
Интересно кто как решает подобные задачи?

Наверное глупо давать разрешение юзеру менять цвета, шрифты, создавать таблицы и другие плюшли из визуального редактора. Но всё же интересно, насколько это возможно позволить.
(Добавление)
По моему мнению самым оптимальным вариантом будет сделать белый список разрешенных тегов с удалением всех атрибутов. Вопрос только как всё это подружить с тегами <a> <img>
dmaw Отправлено: 31 Июля, 2016 - 14:29:26 • Тема: Импорт и обработка большого файла CSV • Форум: Вопросы новичков

Ответов: 10
Просмотров: 961
Что-то не догоняю как эту конструкцию правильно составить, нашел такой вариант:
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE mytable SET
  2.     fruit = CASE WHEN id=1 THEN 'orange' ELSE 'strawberry' END,
  3.     drink = CASE WHEN id=1 THEN 'water'  ELSE 'wine'       END,
  4.     food  = CASE WHEN id=1 THEN 'pizza'  ELSE 'fish'       END
  5. WHERE id IN (1,2);

т.е. как я понимаю на каждую ячейку будет куча условий в зависимости от строки. ELSE наверное мне не нужен.
dmaw Отправлено: 30 Июля, 2016 - 23:10:06 • Тема: Импорт и обработка большого файла CSV • Форум: Вопросы новичков

Ответов: 10
Просмотров: 961
Как упаковать 20 000 подобных запросов в один?

CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE products SET price='8.04', WHERE artikul='456457' LIMIT 1 ;
  2. UPDATE products SET price='20.59', WHERE artikul='2346456465' LIMIT 1 ;
  3. UPDATE products SET price='2.16', WHERE artikul='345637457' LIMIT 1 ;
  4. UPDATE products SET price='6.67', WHERE artikul='34577457' LIMIT 1 ;
  5. UPDATE products SET price='165.31', WHERE artikul='75457' LIMIT 1 ;
  6. UPDATE products SET price='9.91', WHERE artikul='3463457457' LIMIT 1 ;
dmaw Отправлено: 27 Июля, 2016 - 22:58:25 • Тема: Импорт и обработка большого файла CSV • Форум: Вопросы новичков

Ответов: 10
Просмотров: 961
Fart, спасибо, за помощь, попробую свои мысли реализовать.
По поводу php7 вопрос сложный, магазин официальный и находится в Беларуси, а у нас тут с одной стороны выбирать нет из чего, а с другой чудо законы, которые не позволяют размещать сайты за пределами страны.
dmaw Отправлено: 27 Июля, 2016 - 19:11:39 • Тема: Импорт и обработка большого файла CSV • Форум: Вопросы новичков

Ответов: 10
Просмотров: 961
Fart пишет:
1. проверить память
2. отказаться от работы с fgetcsv и ИМХО ручками обрабатывать файл. с fgets работает в х10-х20 раз быстрее
3. проверить сам файл, возможны ошибки и цсв сам по себе очень баговый формат.

PS да и вообще, приятнее работать с json

fgets проверил на скорость, раза в два быстрее данные получает, этого всё равно будет мало.
ЦСВ без ошибок, просто очень большой Улыбка
json я бы и сам рад, но поставщикам не прикажешь, есть такие кто екселем отдаёт Улыбка
Fart, спасибо!
(Добавление)
Суть даже не в скорости чтения через fgetcsv, там 2-3 секунды, а в том, что я в цикле потом запросы делаю, т.е. фактически получается сколько строк столько и запросов, поэтому получается фигня. Самый правильный ответ дал Мелкий, только надо догнать как всё это построить.
dmaw Отправлено: 25 Июля, 2016 - 12:55:57 • Тема: Импорт и обработка большого файла CSV • Форум: Вопросы новичков

Ответов: 10
Просмотров: 961
Fart пишет:
ты даже поленился зайти по ссылке csv на сайте. проверяешь конец файла зачем? тебе первоначально нужно прогнать по-бырому счетчик, а ты феофиш как старушка с клюшкой на лестничной площадке!!!

Проверил оба варианта на скорость выполнения:
PHP:
скопировать код в буфер обмена
  1. while(!feof($file)) // 2.3 сек
  2. while(($data = fgetcsv($file, 0, ";")) !== FALSE) // 2.5 ... 3 сек

Старушка оказалась ни при чём Улыбка
dmaw Отправлено: 24 Июля, 2016 - 18:53:39 • Тема: Импорт и обработка большого файла CSV • Форум: Вопросы новичков

Ответов: 10
Просмотров: 961
Добрый день!

Есть Интернет-магазин и поставщик с CSV-прайсом на 20 000 строк/товаров.
Мне нужно чтобы скрипт с помощью крона ежедневно обновлял цены из CSV.
Делаю я это так: скачиваю новый CSV, читаю файл построчно, ищу совпадения по артикулу, если товар есть обновляю его цену и наличие, если товар не найден, то создаю его.
Проблема в том, что скрипт перестаёт работать после 10 000 строк.

Вопрос: можно ли как-то давать скрипту "передышку" или как-то разбивать процесс на мелкие, чтобы скрипт успевал обработать все 20 000 строк?

Часть кода:
PHP:
скопировать код в буфер обмена
  1. //читаю весь файл в массив
  2. $arr = array();
  3. $file = fopen('price.csv', 'r');
  4. while(!feof($file))
  5. {
  6.      $arr[] = fgetcsv($file, 0, ";");
  7. }
  8. fclose($file);
  9.  
  10. foreach($arr as $row) // Цикл по строкам
  11. {
  12. // тут начинаются проверки на существование товаров и обновление цен.
  13.  

Страниц (16): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB