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

  Все выпуски  

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 239
от 28.01.2006, 07:27

Администратор:Калашников О.А.
В рассылке:Подписчиков: 221, Экспертов: 38
В номере:Вопросов: 4, Ответов: 8


Вопрос № 33800: Уважаемые эксперты! Я пока только начинаю изучать язык PHP и не очень силен в нем. Подскажите, пожалуйста, как написать для сайта систему автоматического обмена ссылками без базы, то есть посетитель мог бы на моем сайте разместить свою ссылку только ...
Вопрос № 33814: Здравствуйте. Надо сделать новости в RSS. Почитал о формате xml - вроде все очень просто. Сделал, просматриваю программой для просмотра новостей - все ок. Но если окрыть этот созданный php-скриптом xml файл, то ошибка "An invalid character w...
Вопрос № 33818: Доброго времени суток. Необходимо как-то разобраться с пользователями. db // user=db_Guest pass=**** users //name, login, password, type_users prices //....... Вопрос: Если я создам одного пользователя db_Guset на пол...
Вопрос № 33855: Здраствуйте уважаемые эксперты!!! дело вот в чем: есть один скрипт, но в нем есть один недостаток, когда пользователь создаёт новую тему всё проходит гладко,но затем, следущий пользователь не может вписать ответ к этой теме, причина кроется в сле...

Вопрос № 33.800
Уважаемые эксперты! Я пока только начинаю изучать язык PHP и не очень силен в нем. Подскажите, пожалуйста, как написать для сайта систему автоматического обмена ссылками без базы, то есть посетитель мог бы на моем сайте разместить свою ссылку только после установки моей ссылки на своем сайте. А система автоматически проводит проверку установки ссылки на сайте посететеля. Заранее всем благодарен.
Отправлен: 22.01.2006, 12:32
Вопрос задал: Иванов Андрей (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Дмитрий Иванов
Здравствуйте, Иванов Андрей!
при устаноке ссылки делаешь запрос к сайту где ты ожидаешь свою ссылку:
$a=join("",file("http://www.kudassylka.ru/yes.php"));

ищем нашу ссылку в полученной странице:
$m='http://www.mojsite.ru'
if(preg_match("/$m/i")){print "ссылка или информация о сайте найдена"}

---------
ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 22.01.2006, 17:40
Оценка за ответ: 5


Вопрос № 33.814
Здравствуйте. Надо сделать новости в RSS. Почитал о формате xml - вроде все очень просто. Сделал, просматриваю программой для просмотра новостей - все ок. Но если окрыть этот созданный php-скриптом xml файл, то ошибка
"An invalid character was found in text content. Error processing resour.... Line 5, P..."
Беру открываю файл Front Page и сохраняю его с расширением xml с другим названием, получается другая ошибка
"A semi colon character was expected. "
и в этом файле все русский слова заменены точками, вроде это из-за кодировки. Никто не может поделиться своим опытом, или ссылкой на эту тему? В приложении написал код создания xml файла. Принцип такой: беру новости из файла и сохраняю их в xml формате.

Приложение:

Отправлен: 22.01.2006, 17:23
Вопрос задал: Сергей Т. (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: n/a
Здравствуйте, Сергей Т.!
Вы уверены, что ваш .PHP скрипт сохранен в кодировке UTF-8?
Скорее всего, проблема именно в этом. Да, XML-парсеры ругаются на преведенный RSS-фрагмент, если его сохранить в отличной, от указанной кодировке.
Вместо encoding="UTF-8" укажите настоящую кодировку. Скорее всего - windows-1251 или koi8-r.
Ответ отправил: n/a (статус: 2-ой класс)
Отправлен: 22.01.2006, 18:06
Оценка за ответ: 5
Комментарий оценки:
Ну я ****. Дейсвительно с кодировкой ступил. Спасибо. Теперь проблема в ссылке
Отказывается понимать
http://www.site.ru/page.php?cat=moscow_a&page=12
Если убираю параметры, то все ок.
http://www.site.ru/page.php


Вопрос № 33.818
Доброго времени суток.

Необходимо как-то разобраться с пользователями.

db // user=db_Guest pass=****
users //name, login, password, type_users
prices //.......
Вопрос: Если я создам одного пользователя db_Guset на полн. доступ сделаю localhost, и пропишу ему пароль внаглую прямо в func.php

Далее при вводе клиентом login и password естественно открывается полный доступ к базе, и func.php сравнивает введённые данные с таблицей users.

При совпадении выводится содержимое таблицы price.

1). Надёжно-ли хранить пароль в func.php ???
2). Поддаётся-ли такая система взлому (узнаванию пароля)?
3). Поддаётся-ли такая система взлому (насильонму вытаскиванию данных из таблиц)?
4). Пожалуйста предложите свой вариант организации этой системы (постоянное вмешательство в "Базы и пользователи mySQL" не предлагать)
5). А можно-ли добавлять пользователей для доступа к б.д. вцелом (через сделенную страничку) - если можно - подскажите команды.

Приложение:

Отправлен: 22.01.2006, 17:59
Вопрос задал: Колбин Юрий Владимирович (статус: Студент)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Doctor013
Здравствуйте, Колбин Юрий Владимирович!
Задача описана не полностью, вероятно, ты пишешь про какую-то систему, вот только описать ее забыл, так что ответы отражают лишь общий подход, без привязки к твоему конкретному случаю.

1. А зачем? Ты же хранишь пароль в базе, получил с клиента, сравнил с базой.
2. Любая система поддается взлому. Ты можешь только усложнить задачу - поставить сложный пароль.
3. Мало данных. В любом случае, если ты не проверяешь данные, полученные от клиента - 100% налетишь на SQL-инъекцию и все данные будут считаны.
4. Добавлять пользователей базы конечно же не нужно, достаточно таблицы пользователей, если уже совсем быть параноиком, то можно добавить таблицу аудита - кто когда подключился, что запрашивал. Тут слабые места в передаче данных, нужно делать качественную очистку введенных пользователем данных.
5. Можно либо через команду GRANT, либо прямой вставкой в таблицу user.
Подробнее можно прочитать здесь http://www.mysql.ru/docs/man/Adding_users.html

---------
the non-fulfilment one's promise is a cause for someone's mistrust
Ответ отправил: Doctor013 (статус: 6-ой класс)
Отправлен: 22.01.2006, 21:06

Отвечает: Whisper
Здравствуйте, Колбин Юрий Владимирович!
Насколько вас можно понять, вы храните в неком файле пароль и логин для доступа к базе данных, если файл является исполняемым скриптом, а не просто перечислением через запятую параметров, то это вполне нормальный вариант, стандартный так скажем

---------
все тленно
Ответ отправила: Whisper (статус: 4-ый класс)
Отправлен: 22.01.2006, 22:58
Оценка за ответ: 5
Комментарий оценки:
Такой некий файл - является таблицей. Все всё поняли, а вам как-то непонятно. По ответам др-х экспертов я и поступлю, ничего более умного я не придумал.

P.S.
Оценка 5-за юморной акцент:
Насколько вас можно понять, странный у вас некий язык общения, так скажем.

Отвечает: RedDevil
Здравствуйте, Колбин Юрий Владимирович!
Вроде обычно так и делается. Только для удобства создается отдельный файл в котором хранятся переменные для подключения. Это удобно тем, что если у тебя много программ, и ты подключаешь к каждой этот файл, то если логин/пароль изменится его нужно будет изменить в одном файле, который ты подключаешь, а не во всех где он использорвался.

1) По поводу надежности. По идее должно быть надежно. Файл с переменными, должен быть доступен только на выполнения, на чтение должен быть запрет.
2) Идеальной защиты не существует.
3) Нужно создать пользователей в mysql с приминением хорошего администрирования, или как говорил К.Касперски, нечеловеческим усечением прав пользователей, и отключением всего, что можно отключить.

5) Офф. сайт mysql, там можешь найти руководство полностью на русском. Команда grant.
Ответ отправил: RedDevil (статус: 3-ий класс)
Отправлен: 23.01.2006, 07:56

Отвечает: Дмитрий Иванов
Здравствуйте, Колбин Юрий Владимирович!

>>1). Надёжно-ли хранить пароль в func.php ???
вобщем то да, но лучше чтобы данные коннекта были не доступны по прямому URL из apache.

>>2). Поддаётся-ли такая система взлому (узнаванию пароля)?
взлому поддается вобщем то все, но если и будет взломан - то скорее какой нибудь пароль из таблицы твоих личных юзеров, так как для использования localhost надо сохранить скрипт у тебя на сервере.

>>3). Поддаётся-ли такая система взлому (насильонму вытаскиванию данных из таблиц)?
зависит от качества проверки входящих данных и фильтрования опасных символов в них

>>4). Пожалуйста предложите свой вариант организации этой системы
а где еще можно сохранить пароль к базе как не в файле?

>>5). А можно-ли добавлять пользователей для доступа к б.д. вцелом (через сделенную страничку) - если можно - подскажите команды.
но о таком варианте лучше забыть:
a. INSERT INTO mysql.user VALUES('localhost','db_Guest',PASSWORD('pass'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
FLUSH PRIVILEGES;

---------
ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 23.01.2006, 12:14


Вопрос № 33.855
Здраствуйте уважаемые эксперты!!!
дело вот в чем: есть один скрипт, но в нем есть один недостаток, когда пользователь создаёт новую тему всё проходит гладко,но затем, следущий пользователь не может вписать ответ к этой теме, причина кроется в следующем:
после создания новой темы, файл (допустим 1.txt) сохраняется с атрибутом "read only" поэтому следущий пользователь не может
вписать свой ответ т.к нельзя писать в фаил!!! (форум работает на файлах), помогите текст скрипта в приложении.
P.S. желательно указать на ошибку, и подсказать как её исправить!!! Заранее примного благодарен!!!!

Приложение:

Отправлен: 23.01.2006, 00:30
Вопрос задал: Хованов Дмитрий Михайлович (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Whisper
Здравствуйте, Хованов Дмитрий Михайлович!
Есть такая функция chmod (описание ее тут http://php.rinet.ru/manual/en/function.chmod.php), которая меняет атрибуты доступа к файлу, после создания файла, попробуй изменить ему атрибуты на 777

---------
все тленно
Ответ отправила: Whisper (статус: 4-ый класс)
Отправлен: 23.01.2006, 00:38

Отвечает: Дмитрий Иванов
Здравствуйте, Хованов Дмитрий Михайлович!

после создания нового файла сделай:
chmod ("tvoj_file_path.txt", 0664); //писать создатель,группа
или
chmod ("tvoj_file_path.txt", 0666); //писать всем


---------
ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 23.01.2006, 12:22


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

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

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

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

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


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


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

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное