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

  Все выпуски  

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


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

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

Выпуск № 367
от 11.06.2006, 14:35

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


Вопрос № 45263: Приветствую, уважаемые эксперты! Вопрос немного "скользкий", но все равно решусь его задать. Можно ли написать скрипт к CRON-у на нормальном платном хостинге, что бы он, к примеру, раз в час обращался к указанному сайт...
Вопрос № 45272: Здравствуйте! Есть БД MySQL в ней таблица вида: id int auto_increment Prymary key, text text. Вот кусок кода вывода на экран. $result = mysql_query($sql); While ($row = mysql_fetch_assoc($result)) { echo ($...
Вопрос № 45319: Мое почтение , уважаемые эксперты! Появилась такая потребность: Чтобы при загрузке картинки, автоматически добавлялся на эту картинку определенный : знак/текст/водный знак(называть как угодно). А именно прозрачный но видный текст. То-есть я з...
Вопрос № 45348: Здравствуйте товарищи эксперты, у меня к вам такой вопрос: я тут решил установить PHP, скачал с инета статейку по установке... Apache 2.0.55 php5 MySSQL 5.019 Apache 2.0.55 PHP4 MySQL 5.0.19.. - установил... <b...
Вопрос № 45352: Защита данных аутентификации. Уважаемые эксперты, подскажите совет. Я пишу PHP-скрипт, который отвечает за аутентификацию пользователей на сайте. При заполнении формы входа методом POST отправляются на сервер $login и $password. Если аутентификация п...

Вопрос № 45.263
Приветствую, уважаемые эксперты!

Вопрос немного "скользкий", но все равно решусь его задать.

Можно ли написать скрипт к CRON-у на нормальном платном хостинге,
что бы он, к примеру, раз в час обращался к указанному сайту
и УВЕЛИЧИВАЛ значение счетчиков (SpyLOG, mail.ru и т.д.) на единицу?

Приведенный в приложении фрагмент
вего лишь присылает на мыло исходник HTML.
Понимаю, что можно добавить /dev/null
но это все равно не решает проблемы.

Да и нужно всего-то 20-30 кликов в сутки эмулировать -
не чаще раза в час.

Приложение:

Отправлен: 05.06.2006, 14:42
Вопрос задал: Жабокрицкий Максим Феликсович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zysoftik
Здравствуйте, Жабокрицкий Максим Феликсович!

К CRON-у скрипт написать можно. Даже с собственным расписанием.
Но основная масса счетчиков основана на JavaScript'е. Когда Вы делаете
GET запрос - Вы просто загружаете код страницы. А для накрутки нужно исполнить
JavaScript, что выполняет браузер.

Вы можете разобрать скрипт и понять что,как, откуда берется и куда отправляется.

Возможно после этого достаточно будет просто выполнить данные действия и даже не загружать саму страницу.
Ответ отправил: Zysoftik (статус: 5-ый класс)
Ответ отправлен: 05.06.2006, 14:51
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Идея понятна - разбираться с каждым счетчиком в отдельности... Увы, накрутка - дело тонкое...

Отвечает: XMF
Здравствуйте, Жабокрицкий Максим Феликсович!
--
Даров, кароче тебе нужно не сам сайт вызывать.. а ссылку на счетчик...
типа: counter.ru/c.php?id=123456

И все... Если будешь грузить сайт из под крона, то ничего не будет увеличиваться.. ;)
Ответ отправил: XMF (статус: 6-ой класс)
Ответ отправлен: 05.06.2006, 15:58
Оценка за ответ: 5
Комментарий оценки:
Ок, попробую!


Вопрос № 45.272
Здравствуйте!

Есть БД MySQL в ней таблица вида: id int auto_increment Prymary key, text text.

Вот кусок кода вывода на экран.

$result = mysql_query($sql);
While ($row = mysql_fetch_assoc($result))
{
echo ($row[text]);
}

При добавлении новой записи в БД на экран она выводиться последней.

Вопрос такой: как сдеалать так чтоб последняя запись была в начале?
Отправлен: 05.06.2006, 15:48
Вопрос задал: Alexo (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Селев Валерий
Здравствуйте, Alexo!

SQL-запрос должен выглядеть так:

$sql = "select * from my_table order by id desc";
Ответ отправил: Селев Валерий (статус: 1-ый класс)
Ответ отправлен: 05.06.2006, 15:55
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо проверил работает!

Отвечает: Константин
Здравствуйте, Alexo!
В SQL-запросе надо писать
SELECT .... ORDER BY id desc
---------
Лучше сделать и жалеть, чем жалеть о том что не сделал
Ответ отправил: Константин (статус: 6-ой класс)
Ответ отправлен: 06.06.2006, 18:42

Отвечает: Cybernetic_Creature
Здравствуйте, Alexo!
в SQL есть конструкция ORDER BY
она служит для сортировки
вам нужно написать
SELECT
......
ORDER BY id DESC
DESC используется для обратной сортировки
Ответ отправил: Cybernetic_Creature (статус: Специалист)
Ответ отправлен: 07.06.2006, 16:41


Вопрос № 45.319
Мое почтение , уважаемые эксперты!
Появилась такая потребность:
Чтобы при загрузке картинки, автоматически добавлялся на эту картинку определенный : знак/текст/водный знак(называть как угодно). А именно прозрачный но видный текст. То-есть я загружая нормальную картинку, а вижу уже картинку с этим текстом посередине. Возможно ли сделать так, чтобы этот текст по размеру был пропорционален к картинке?
Заранее благодарен за все ваши ответы.
Отправлен: 05.06.2006, 23:41
Вопрос задал: Гусаров Андрей Андреевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Гусаров Андрей Андреевич!

Вам нужно работать с библиотекой GD.
Почитать (с примерами) можно здесь: http://www.komkon.org/~denis/mydoc/gd.htm
Там есть пример "Вставка строки Copyright в каждую фотографию в фотоальбоме посредствам PHP/GD" - почти то, что Вам нужно.
А тут - http://www.progz.ru/forum/viewtopic.php?t=11825&highlight=&sid=024eed175fe9f96c64613d8e2b2f4c95
топик именно на Вашу тему :)

Удачи!
---------
Ответы на все вопросы - на сайте www.ya.ru :)
Ответ отправил: Устинов Сергей Евгеньевич (статус: Студент)
Ответ отправлен: 05.06.2006, 23:54
Оценка за ответ: 5

Отвечает: Cimus
Здравствуйте, Гусаров Андрей Андреевич!
Смотри приложение, укажи путь к картинке и к шрифту в скрипте

Приложение:

---------
Достичь можно любых высот !

Ответ отправил: Cimus (статус: 1-ый класс)
Ответ отправлен: 06.06.2006, 01:45


Вопрос № 45.348

Здравствуйте товарищи эксперты,

у меня к вам такой вопрос:
я тут решил установить PHP,
скачал с инета статейку по установке...
Apache 2.0.55 php5 MySSQL 5.019

Apache 2.0.55 PHP4 MySQL 5.0.19.. - установил...

Php работает...

А вот когда пишу такой код для проверки MySQL =>
-------------------------------------------------------------
<?php
$dblocation = "localhost";
$dbuser = "root";
$dbpasswd = "mypassword";

$dbr = mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbr)
{
echo "<p>не доступен сервер mySQL</p>";
exit();
}
.......продолжение кода.......
?>
--------------------------------------------------------------
Пароль правильный...
На странице я вижу следующее:
--------------------------------------------------------------
Warning: mysql_connect(): Client does not support authentication

protocol requested by server; consider upgrading MySQL client in

...Path...sqltest.php on line 7
не доступен сервер mySQL
---------------------------------------------------------------
В принципе написано что делать... но ведь MySQL 5.0.19...
Может быть причина в чём то другом...

В статье по настройке MySQL написано, что нужно
в PHP.ini указать...

extensions_dir Путь к соответствующей папке PHP -указал..

Далее нужно раскомментировать...

extension=php_mysql.dll - а вот с этим проблема...
т.к... в php.ini такого нет... и в папке extensions конечно

тожe...
правда в php.ini написано что то вроде того что
теперь php4 может обойтись без данных библиотек...
но ведь в статье описывается способ установки php5, врЯдли в
пятой версии может не быть чего то из четвёртой... ???



Отправлен: 06.06.2006, 09:52
Вопрос задал: Wlp (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Wlp!
extension=php_mysql.dll - это поддержка MySQL для PHP5, в PHP4 она не может быть модулем, а клиент MySQL - это библиотека libmysql.dll, которая "приходит" с PHP. Очевидно она у Вас и какая-то старая попалась. Найдите все файлы libmysql.dll и удалите все кроме того, что в папке MYSQL'я а потом тот единственный оставшийся скопируйте куда-нибудь, где его увидит PHP (положите в ту же папку, что и php4ts.dll)
Ответ отправил: PVS (статус: 2-ой класс)
Ответ отправлен: 06.06.2006, 10:05
Оценка за ответ: 5
Комментарий оценки:
Копировал... Куда только не копировал... и удалял.... А он мне всё равно... Иди говорит.... качай что нибудь другое....

Отвечает: Madproger
Здравствуйте, Wlp!
В 5-ой версии РНР убрана встроенная поддержка MySQL как было в 4.
Если вы работаете в *nix тов вам надо собрать РНР с поддержкой Mysql
./configure --with-mysql=/usr/local/mysql (Или где у вас установлен MySQL)

Если в Виндозе - то скопируйте файл libmysql.dll из папки MySQL в папку ext в устанвоке РНР.

В php.ini убедитесь что путь к папке с расширениями именно тот где лежит эта библиотека. Так же проверьте с помощью phpinfo() - видит ли апач ваш php.ini ( в правильном ли месте он расположен) и там же будет версия MySQL которую видит РНР
---------
И будет вам счАстиЕ!
Ответ отправил: Madproger (статус: 7-ой класс)
Ответ отправлен: 06.06.2006, 10:24
Оценка за ответ: 5
Комментарий оценки:
Хотел написать что у меня Windows, а потом извините забыл...

Копировал... Путь в php.ini провельный...
B апач видит... Толку то....
Пойду качать или php5 или mysql4 - а потом если уж совсем не получится с горя - Денвер.. :)

Отвечает: Alexey Vilchinsky
Здравствуйте, Wlp!
в php5 предусмотрена другая библиотека php_mysqli.dll
раскомментируйте ее
используйте функции mysqli
и еще возможно у вас не запущен сервис сервера mysql. Проверьте в службах.
---------
Делая людям добро, мы возвращаем его многократно...
Ответ отправил: Alexey Vilchinsky (статус: 9-ый класс)
Ответ отправлен: 06.06.2006, 10:29
Оценка за ответ: 3
Комментарий оценки:
Может не понятно написал, но тем не менее,
у меня PHP4... Вы ведь пишите про PHP5...


Вопрос № 45.352
Защита данных аутентификации. Уважаемые эксперты, подскажите совет. Я пишу PHP-скрипт, который отвечает за аутентификацию пользователей на сайте. При заполнении формы входа методом POST отправляются на сервер $login и $password. Если аутентификация прошла успешно, в Coоckies клиента помещается сгенерированный Session ID, с которым уже работает скрипт. Длина SID - 128 байт, но всё равно его можно подобрать простым перебором байт. Вопрос вот в чём: как сделать так, чтобы его сложно было подобрать? Может, хранить в Coockies ещё логин и пароль, и каждый раз отправлять их на сервер вместе с SID. Проблема ещё вот в чём: нужно, чтобы скрипт "узнавал" пользователя, пока не закрыто окно браузера. Т.е., окно браузера закрывается, и потом снова необходима авторизация. Может, установить время жизни SID в Coockies - до закрытия окна? В общем, если кто занимался разработками в этой области, пожалуйста, поделитесь опытом, как реализовывали эту систему. За любой ответ заранее вам б лагодарен
Отправлен: 06.06.2006, 10:42
Вопрос задал: Java_beast (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Straight
Здравствуйте, Java_beast!
128 байт подобрать перебором??? Вы не пробовали посчитать сколько это времени займет? Посчитайте - просто ради интереса. Да и кто станет это делать? Подбрать перебором логин и пароль гораздо проще - их длина явно меньше 128 байт. Но даже 8-байтовый пароль подобрать перебором - дохлое дело, ведь каждая проверка занимает время - надо соединяться с сервером и запрашивать.

Если все равно боитесь, то могу дать такой совет: проверяйте IP, и если с одного адреса идет много проверок, то запрещайте с него доступ.
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 06.06.2006, 10:54

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Java_beast!

Можно использовать сессии и хранить логин и пароль в сессиях, после закрытия окна сессия стает неактивной.
Почитать о сессиях можно здесь http://www.wmasn.com/articles/php/169/read.html
или в любом нормальном учебнике по php :)
Например Мазуркевич, Еловой PHP - настольная книга программиста
Скачать можно тут - http://c-books.info/books/load.php?ty=php (5,3 Мб)

Будет нужна помощь - обращайся!
---------
Ответы на все вопросы - на сайте www.ya.ru :)
Ответ отправил: Устинов Сергей Евгеньевич (статус: Студент)
Ответ отправлен: 06.06.2006, 11:20

Отвечает: Stamm
Здравствуйте, Java_beast!
Существует массив $_SESSION. В него можно записывать любые данные, и они будут сохраняться пока не будет закрыт браузер. До использования $_SESSION надо запустить сессию функцией session_start(). Подробней тут(на английском)
---------
В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Ответ отправлен: 06.06.2006, 11:49

Отвечает: Cimus
Здравствуйте, Java_beast!
Вам уже ответели другие эксперты но я немного добавлю - НЕ храните пароль и логин в куках, куки можно увести и тогда учётная запись станет достоянием общественности, я использую следующую схему аутентификации:

При вводе правильной пары логинпароль помещаю в сессию md5-хеш от пароля и при обращении пользователя к сайту сравниваю пароли и соответствующие права.
---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: 1-ый класс)
Ответ отправлен: 06.06.2006, 12:21


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное