Вопрос № 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 и не очень силен в нем. Подскажите, пожалуйста, как написать для сайта систему автоматического обмена ссылками без базы, то есть посетитель мог бы на моем сайте разместить свою ссылку только после установки моей ссылки на своем сайте. А система автоматически проводит проверку установки ссылки на сайте посететеля. Заранее всем благодарен.
Отвечает: Дмитрий Иванов
Здравствуйте, Иванов Андрей!
при устаноке ссылки делаешь запрос к сайту где ты ожидаешь свою ссылку:
$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). А можно-ли добавлять пользователей для доступа к б.д. вцелом (через сделенную страничку) - если можно - подскажите команды.
Отвечает: 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. желательно указать на ошибку, и подсказать как её исправить!!! Заранее примного благодарен!!!!
Отвечает: 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