RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 511
от 09.11.2006, 14:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 389, Экспертов: 43
В номере:Вопросов: 3, Ответов: 5


Вопрос № 61174: здраствуйте уважаемые эксперты. Как с помощью пхп зайти на свой почтовый ящик, проверить есть ли новый сообщения, и если есть записать их отправителей и темы писем в фаил....
Вопрос № 61194: Здраствуйте уважаемые эксперты! Я к Вам, вот с каким вопросом. На небольшом сайте надо организовать закачку файлов пользователями, подскажите, пожалуйста, как правильно это сделать. Простой скрипт закачки я написал, но пользователь видит путь загрузк...
Вопрос № 61239: Здравствуйте. Не могу разобратся с регулярными выражениями. Есть документ html например: <a href="/index.php" class="class" title="title">Главная</a> <p>тест</p> Необ...

Вопрос № 61.174
здраствуйте уважаемые эксперты. Как с помощью пхп зайти на свой почтовый ящик, проверить есть ли новый сообщения, и если есть записать их отправителей и темы писем в фаил.
Отправлен: 03.11.2006, 18:28
Вопрос задал: Маторник Михаил (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Барков Илья Андреевич
Здравствуйте, Маторник Михаил!
Для этого лучше всего использовать существующие классы, ибо там много кода, который тут вылокладывать - захламлять только.
http://phpclub.net/samples/73.phps вот тут пример такого скрипта.
Взято от сюда http://phpclub.ru/?m=sam&s=43
и вообще google.ru -> "pop3 in php" :)
удачи)
Ответ отправил: Барков Илья Андреевич (статус: 2-ой класс)
Ответ отправлен: 04.11.2006, 19:11


Вопрос № 61.194
Здраствуйте уважаемые эксперты! Я к Вам, вот с каким вопросом. На небольшом сайте надо организовать закачку файлов пользователями, подскажите, пожалуйста, как правильно это сделать. Простой скрипт закачки я написал, но пользователь видит путь загрузки файла, и теоретически может залить shell, и соответственно получить привелигированные права. Дайте совет как этого избежать.
Заранее бошое спасибо.
Отправлен: 03.11.2006, 21:57
Вопрос задал: Antoxa (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Барков Илья Андреевич
Здравствуйте, Antoxa!
Как на счет того, чтобы просто запретить закачку шела? :) тоесть php скрипта.
берем регулярное вырежение, которое проверяет имя файла, и не дай бог там есть совпадения с "php" ( да даже не strpos пойдет, вместо регекспов ) - в этом случае просто не закачиваем файл.
Да и откуда пользователь видит путь загрузки? путь надо хранить в переменной пхп, а это сервер-сайд, там обычные смертные ничего не увидят :)
Да и... если сайт дейтвительно небольшой, то сделайте проверку на размер файла. чтобы жадные юзвери не забили весь хост :)
Ответ отправил: Барков Илья Андреевич (статус: 2-ой класс)
Ответ отправлен: 04.11.2006, 19:15

Отвечает: PVS
Здравствуйте, Antoxa!
Права на закачиваемые файлы установите в 666 (читать и писать всем, выполнять - никому), а владельца - root (чтобы права не поменяли). Тогда если кто чего и закачает, то выполнить все равно не сможет.
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 06.11.2006, 09:51


Вопрос № 61.239
Здравствуйте.
Не могу разобратся с регулярными выражениями.

Есть документ html например:
<a href="/index.php" class="class" title="title">Главная</a>
<p>тест</p>

Необходимо:
если ссылка внутренняя (/index, ../index, /) или на страницы моего сайта (http://site) необходимо к ссылке добавить query_string ?sid=fgtgg5yth5h5jjfdjduu4 или &sid=fgtgg5yth5h5jjfdjduu4

Результат должен быть такой:
<a href="/index.php?sid=fgtgg5yth5h5jjfdjduu4" class="class" title="title">Главная</a>
<p>тест</p>

Это делается для авторизации без cookie

Помогите пожайлуста
Отправлен: 04.11.2006, 11:04
Вопрос задал: Оськин Дмитрий Владимирович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Барков Илья Андреевич
Здравствуйте, Оськин Дмитрий Владимирович!
странный подход. может сделать проверку по айпи? или использовать сессии?
Ответ отправил: Барков Илья Андреевич (статус: 2-ой класс)
Ответ отправлен: 04.11.2006, 19:17
Оценка за ответ: 3
Комментарий оценки:
Использовать IP - а если зашли через прокси

А стандартные сессии пробывал: не на все ссылки добавляет PHPSESSID

Отвечает: Загиров Рустам
Здравствуйте, Оськин Дмитрий Владимирович!
Если делать это вручную, то надо будет сначала искать текст href=.Но есть некоторые проблемы:
Текст может быть в контенте сайта(например, код банера),в разделе head могут быть описания rss или иконки сайта(<link rel="icon" href="/favicon.ico" type="image/x-icon">)

PHP поможет в таких ситуациях без использования регулярных выражениях. Пишем в файл .htaccess:
php_flag session.use_trans_sid on
Теперь PHP сам будет добавлять(если только cookies отключены) к адресам ссылок и к формам атрибут с интедификатором сессии. Правда, имя переменной будет не sid, PHPSESSID, но это можно исправить. Вставляем перед session_start():
session_name('sid');
---------
Этот мир обречён на нас
©Сергей Маврин
Ответ отправил: Загиров Рустам (статус: Специалист)
Ответ отправлен: 04.11.2006, 22:10
Оценка за ответ: 3
Комментарий оценки:
стандартные сессии пробывал: не на все ссылки добавляет PHPSESSID

Вот ответ:
function url_sid( $url = "", $non_html_amp = false ) {
global $access;
if( ( preg_match( "#".BASEURI."#i", $url ) or !preg_match( "#http://#i", $url ) )
and ( !empty( $access->sid ) && !preg_match( "#".$access->urlsid."=#", $url ) ) )

$url .= ( ( strpos( $url, "?" ) !== false ) ? ( ( $non_html_amp ) ? "&" : "&" ) : "?" ) . $access->urlsid . "=" . $access->sid();

return $url;
}

function session_href_sid( $str = "" ) {
return stripslashes( preg_replace( "#(.*?)#ei", "'\6'", $str ) );
}


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное