Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Помогите написать, простенький скриптик... 
:(
    Опции темы
DriveSoftware
Дата 6.5.2004, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 17.3.2003

Репутация: нет
Всего: 4



Помогите сделать простенький скрипт на PHP или Perl...

Скрипту нада передать два параметра (из строки браузера), первый это имя файла, который нада создать на серваке, а второй параметр то что нада записать в этот файл...
PM MAIL WWW ICQ   Вверх
Sardar
Дата 6.5.2004, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Классную брешь делаешь biggrin.gif
Код
<?php
if(isset($_GET['filename'])&&isset($_GET['data'])) {
//проверь что в имени файла ты не перезаписываешь скрипты и не лезешь куда не надо...;)
$fp=@fopen($_GET['filename'],"w") or die("Однако у нас проблемы, попробуйте попозже"); //еще хорошо бы записать в лог
fwrite($fp,$_GET['data']);
fclose($fp);
//теперь взгляни на этот запрос, где index.php это главная страница сайта
//bug.php?filename=index.php&data=poluchi%20problemu
?>
<h3>Все прошло успешно</h3>
<?php
} else{
echo "Однако... что то я не понял запроса...";
}
?>



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
DriveSoftware
Дата 6.5.2004, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 17.3.2003

Репутация: нет
Всего: 4



Sardar

Огромное спасибо!

а реально ли обойтися так?

echo $file_name >myfile

или это что то не то :/
PM MAIL WWW ICQ   Вверх
Sardar
Дата 6.5.2004, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Цитата
echo $file_name >myfile

Нет, результатом будет булевское значение выражения: переменная $file_name больше чем константа myfile. Это не Perl...

DriveSoftware опиши получше задачу, иначе ничего полезного не получится. Предидущий код делает точно то что ты сказал, но круче дырки нельзя придумать. Представь что я создаю у тебя на серваке php файл и записываю туда свой злобный код.




--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
IZ@TOP
Дата 6.5.2004, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Когда все сделаешь как показал Sardar в первом примере, не забудь адресок скинуть где это будет работать biggrin.gif Я тоже злобный кодик подкину wink.gif



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
DriveSoftware
Дата 6.5.2004, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 17.3.2003

Репутация: нет
Всего: 4



Sardar

Вобщем о безопасности в моем случае речь не идет,
адресок пока не дам, потому что пока сам не знаю где это будет.

почему то у меня ничего не вышло:

test.php
Код

<?php
if(isset($_GET['filename'])&&isset($_GET['data']))
{

$fp=@fopen($_GET['filename'],"w") or die("Error");
fwrite($fp,$_GET['data']);
fclose($fp);

}
?>


делаю такой запрос:

http://www.host.com/my/test.php?filename=t...uchi%20problemu

вылазит страничка с надписью Error

что не так :/
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 6.5.2004, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Убери собачку перед fopen и напиши что скажет, если не чего не скажет, напиши в начале кода error_reporting(E_ALL);. Если тестишь на *никсе, или на винде с NTFS, проверь права на запись.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
DriveSoftware
Дата 6.5.2004, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 17.3.2003

Репутация: нет
Всего: 4



IZ@TOP

Ничего не помогло, Error и все тут..
а тестил у хостера, там *nix
права у скрипта выставил в 755


PM MAIL WWW ICQ   Вверх
Sardar
Дата 6.5.2004, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Сообщение об ошибке выскакивает здесь:
Цитата
$fp=@fopen($_GET['filename'],"w") or die("Error");

fopen не может создать файл. Нет прав, другого быть не может...

Я в первый раз в жизни встречаюсь с подобной задачей... когда юзеру предоставляется возможность создать любой файл на сервере с любым содержимым...

Скажи конкретно что нужно получить, придумаем правильное решение.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
IZ@TOP
Дата 7.5.2004, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Кореектно делать так:
Цитата
1) Выставяем права на каталог в который нужно писать файлы 0777.
Потом следует такой сценарий:
$f = fopen($_GET['file'], "w");
fclose($f);
chmod($_GET['file'], 0666);
$f = fopen($_GET['file'], "a+");
fputs($f, $_GET['data']);
fclose($f);

Вот собственно и все. Так должно работать.



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
DriveSoftware
Дата 9.5.2004, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 17.3.2003

Репутация: нет
Всего: 4



IZ@TOP

спасибо... заработало...
PM MAIL WWW ICQ   Вверх
Sardar
Дата 9.5.2004, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



DriveSoftware никому не рассказывай о этом скрипте, как только народ узнает, те кто поумней поюзают твой сервер(как прокси например), другие просто уничтожат его. Если админ у хостера тупой, то с тебя поимеют всех на вашем хостинге.



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0597 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.