Написал скрипт, он не работает. Помогите починить.

Статус
Закрыто для дальнейших ответов.

Gamlet

Well-known member
08.01.2007
525
0
#1
Только начал изучать пхп, написал скрипт регистрации для одного своего сайта.
Кинул на хостинг скрипт для проверки, он показал наличие уймы ошибок. Начал исправлять, но хостинг откликается ошибкой даже на простейшие скрипты.
Помогите исправить ошибки в скрипте:

Код:
<?php
$mkakk=$_Post['login'];
$mkpass=$_Post['password'];
if (file_exists($mkakk))
{
echo "Такой аккаунт есть";
}

else
{
$mkname=$_Post['name'];
$mksite=$_Post['site'];
$mkpost=$_Post['post'];

mkdir($mkakk);

$copypass=$mkakk."/pass.pl";
$copyname=$mkakk."/name.pl";
$copysite=$mkakk."/site.pl";
$copypost=$mkakk."/post.pl";
$copymoney=$mkakk."/money.pl";

$filename=fopen ($copyname, w);
$filepass=fopen ($copypass, w);
$filesite=fopen ($copysite, w);
$filepost=fopen ($copypost, w);
$filemoney=fopen ($copymoney, w);

fwrite($filename, $mkname);
fwrite($filepass, $mkpass);
fwrite($filesite, $mksite);
fwrite($filepost, $mkpost);
fwrite($filemoney, "0");

$filegnomer=fopen ("gsites/nomer.pl", "r+");
$gnomer=fread($filegnomer, 100);
$gnomer=$gnomer+1;
fwrite("gsites/nomer.pl", $gnomer);


$copynomer=$mkakk."/nomer.pl";
$filenomer=fopen ($copynomer, w);
fwrite($filenomer, $gnomer);


$gsite="gsites/".$gnomer.".pls";
//$copynomer=$mkakk."/nomer.pl";
$filegsite=fopen ($gsite, w);
fwrite($filegsite, $mksite);

$gbalans="gsites/".$gnomer.".plb";
//$copynomer=$mkakk."/nomer.pl";
$filegbalans=fopen ($gbalans, w);
fwrite($filegbalans, "0");

$glogin="gsites/".$gnomer.".pll";
//$copynomer=$mkakk."/nomer.pl";
$fileglogin=fopen ($glogin, w);
fwrite($fileglogin, $mkakk);

echo "Аккаунт создан";

}
?>
Очень надо.
 
M

MajestiC

#2
Сам скрипт ужасен с точки зрения безопасности... Через POST тебе можно передать всё что угодно, а твой скрипт из этих данных создает директории и т.д....

А ошибки скорее всего у тебя из-за не правильных прав на директории в которых ты пытаешься создать файлы или скопировать туда файлы.

Покопай chmod
 

Vadik(R)

Well-known member
12.12.2007
469
0
#3
Я конечно в php не разбираюсь, но мой совет тебе - отрабатывать твой скрипт по шагам. То есть проверить поначалу
Код:
<?php
$mkakk=$_Post['login'];
$mkpass=$_Post['password'];
if (file_exists($mkakk))
{
echo "Такой аккаунт есть";
}
?>
. Если работает, то проверить
Код:
<?php
$mkakk=$_Post['login'];
$mkpass=$_Post['password'];
if (file_exists($mkakk))
{
echo "Такой аккаунт есть";
}

else
{
$mkname=$_Post['name'];
$mksite=$_Post['site'];
$mkpost=$_Post['post'];
echo "Скрипт пока работает наормально";
}
?>
Не смотря даже не то, что результат может и не изменится, мне кажеться всё равно так ты быстрее найдёшь свою ошибку. Такая "стратегия" отладки мне сегодня очень помогла в Делфи.
 
O

olegSM

#5
Да с безопасностью есть проблемка!
Нет проверки передаваемых параметров через метод POST !!!!!!!!
Не помешало бы использование СУБД(MySQL) с файлами много мороки да и не безопасно!
Будущее за СУБД. - во всем должен быть порядок!




--------------
smok on-line
 
W

w1zard

#6
Даже если исправишь все свои ошибки в скрипте, твой сайт долго не продержится. Нет практически никаких проверок на вводимые данные, поэтому смысла от регистрации нет вообще. Это просто открытые двери для взлома сайта. Лучше найди где-нибуть нормальный скрипт регистрации или лучше используй cms. А если речь идет о учебе, то попробуй написать что-то более легкое... Регистрация - это уже функциональность более крупного приложения, а сама по себе... не вижу смысла. Одно я тебе скажу точно - не используй этот код для регистрации у себя на сайте!
 

Gamlet

Well-known member
08.01.2007
525
0
#7
Тема устарела. А про безопасность я и сам знаю.
 
Статус
Закрыто для дальнейших ответов.