PDA

Просмотр полной версии : оцените скрипт


genom--
24.03.2007, 21:15
вот накропал типо микро cms =)

мне просто интересно мнение людей которые хорошо знают php -- сильно коряво написано ?

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

после выполнения какойлибо операции сразу возвращается к рабочей части скрипта по кукам

<?
Error_Reporting(E_ALL & ~E_NOTICE);
if ($_POST['log']=='genom--' and $_POST['pass']=='logka') {
$a=$_POST['log'];
$b=$_POST['pass'];
setcookie("log", "$a", time()+3600);setcookie("pass", "$b", time()+3600);
dod();
}
elseif ($_COOKIE["log"]=='genom--' and $_COOKIE["pass"]=='logka'){
if($userfile){ copy($userfile, "$userfile_name");echo 'Файл успешно загружен<br>';}
if($_POST['zagol'] and $_POST['text']){
$fp = fopen ("index.php", "r+");
$file=file_get_contents('index.php');
$pos = strpos($file, "PERL scripts");
$got=substr($file,0,$pos+39);
$got.=$_POST['zagol'].$_POST['text'].'<br><br>';
$got.=substr($file,$pos+39,strlen($file));
fputs($fp,$got);
echo'Изменения внесены =)';
}
dod();
}
else{
echo'<html><b><body text="darkgreen" bgcolor="#000000" link="#green" alink="#green" vlink="#green"><br><br><center> <font color="#green">Доброго утра. Вы какимто странным и я бы даже сказал магическим образом попали в админ панель нашего мегаквадродека криминального хек портала. Но лишь избранным разрешено познать истину.<br><br></font>
<form enctype="multipart/form-data" action="" method="post"> Как имя твое избранный: <br>
<input name="log" type="text"><br>Хеш код матрицы:<br><input name="pass" type="text"><br>
<input type="submit" value="[Connect...]"></center>';
}

function dod()
{echo'<html><b><body text="darkgreen" bgcolor="#000000" link="#green" alink="#green" vlink="#green">----------------------------------------------------------------------------------------------------
<form enctype="multipart/form-data" action="" method="post">
[Загрузка файла на сервак:] <input name="userfile" type="file">
<input type="submit" value="[Загрузить]">
</form>----------------------------------------------------------------------------------------------------<br>
<form enctype="multipart/form-data" action="" method="post">
Тупо заголовок:<br><input type="text" name="zagol" value=\'<a href="lol.txt">злое нечто</a>-->\' size="80"><br><br>Комментарий:<br><textarea class="input" id=text cols=60 rows=10 name="text">Я написал мега хрень качайте и не пукайте.</textarea><br><br><input type="submit" value="[Отпостить]">
';
}
?>

a1ex
24.03.2007, 21:19
Где-то я это видел.....получи заслуженный плюс!;)

Isis
24.03.2007, 21:40
Плюс не поставлю ибо код безобразный.....

<?php
error_reporting(E_ALL & ~E_NOTICE);

if($_POST['log'] == 'genom--' && $_POST['pass'] == 'logka') {
$a = $_POST['log'];
$b = $_POST['pass'];
setcookie('log', '$a', time() + 3600);
setcookie('pass', '$b', time() + 3600);
dod();
} elseif($_COOKIE['log'] == 'genom--' && $_COOKIE['pass'] == 'logka') {
if($userfile){
copy($userfile, '$userfile_name');
echo 'Файл успешно загружен<br>';
}
if($_POST['zagol'] && $_POST['text']){
$fp = fopen ('index.php', 'r+');
$file = file_get_contents('index.php');
$pos = strpos($file, 'PERL scripts');
$got = substr($file, 0, $pos + 39);
$got.= $_POST['zagol'].$_POST['text'].'<br><br>';
$got.= substr($file, $pos + 39, strlen($file));
fputs($fp, $got);
echo 'Изменения внесены =)';
}
dod();
} else {
echo'<html><b><body text="darkgreen" bgcolor="#000000" link="#green" alink="#green" vlink="#green"><br><br><center> <font color="#green">Доброго утра. Вы какимто странным и я бы даже сказал магическим образом попали в админ панель нашего мегаквадродека криминального хек портала. Но лишь избранным разрешено познать истину.<br><br></font>
<form enctype="multipart/form-data" action="" method="post"> Как имя твое избранный: <br>
<input name="log" type="text"><br>Хеш код матрицы:<br><input name="pass" type="text"><br>
<input type="submit" value="[Connect...]"></center>';
}

function dod(){
echo "<html>
<head><title>Загрузка файла на сервак</title></head>
<body text='darkgreen' bgcolor='#000000' link='#green' alink='#green' vlink='#green'>
----------------------------------------------------------------------------------------------------
<form enctype='multipart/form-data' method='post'>
[Загрузка файла на сервак:] <input name='userfile' type='file'>
<input type='submit' value='[Загрузить]'>
</form>
----------------------------------------------------------------------------------------------------<br>
<form enctype='multipart/form-data' method='post'>
Тупо заголовок:
<br /><input type='text' name='zagol' value=\"<a href='lol.txt'>злое нечто</a>-->\" size='80'>
<br /><br />Комментарий:<br />
<textarea class='input' id='text' cols='60' rows='10' name='text'>Я написал мега хрень качайте и не пукайте.</textarea>
<br /><br /><input type='submit' value='[Отпостить]' />
";
}
?>

Вот красивый код !!!
На будущее....
1)Пхп любит одинарные кавычки и быстрее исполняет скрипт !!!
2)Не надо жалеть пробелов........
HTML тоже не знаешь =)
Всегда когда идет тег, который не закрывается, он должен закрываться еще и слешем перед скобкой...
<input size='20' />
<br />
<hr />
<img src='lala.jpg' />

Helios
25.03.2007, 00:38
Красивый код? Сделал еще хуже

сразу видно, что енто работать не будет как надо:

setcookie('log', '$a', time() + 3600);
setcookie('pass', '$b', time() + 3600);

ибо в куки запишется не genom-- и logka, а $a и $b соответственно.

Почему одинарные кавычки работают быстрее? Потому что в том, что находится между ними пхп не ищет переменных, которые нужно заменить их значениями.
А тут именно это и требовалось.

Хотя и автор чуток ступил) Зачем заводить новые переменные, если ты и так знаешь, что в них, ибо проверил:

if($_POST['log'] == 'genom--' && $_POST['pass'] == 'logka')

Тогда уж пусть будет

setcookie('log', $_POST['log'], time() + 3600);
setcookie('pass', $_POST['pass'], time() + 3600);

или еще быстрее:

setcookie('log', 'genom--', time() + 3600);
setcookie('pass', 'logka', time() + 3600);


Еще одно но:
попробуй вместо логина и пасса указать 0, и... о чудо: тебя пропустит вовнутрь.
Дело в том, что при сравнении числа и строки в ПХП строка будет приведена к типу int и ее зачение всегда будет равно 0. Таким образом 0 == 0 и такая проверка идет лесом((

Таким багом страдали старые версии phpBB.
Избавление от бага: заменить == на ===, которое сравнивает помимо значения еще и тип переменной.

r0
25.03.2007, 00:43
HTML тоже не знаешь =)
HTML этого не предполагает . HTML который имеется - г"вно которое корретировали под себя Нетскейп и Мелкософт. Все закрытые теги - это стандарт языка, т.е. xhtml

Abra
25.03.2007, 11:04
Плюс не поставлю ибо код безобразный.....
+1. Потому что при виде корявой стилистики кода отпало всякое желание его разбирать =\

genom--
25.03.2007, 11:41
Красивый код? Сделал еще хуже

сразу видно, что енто работать не будет как надо:

setcookie('log', '$a', time() + 3600);
setcookie('pass', '$b', time() + 3600);

ибо в куки запишется не genom-- и logka, а $a и $b соответственно.


незнаю что вам видно но это работает и в куки пишется все что надо =)



setcookie('log', $_POST['log'], time() + 3600);
setcookie('pass', $_POST['pass'], time() + 3600);


а вот такой код выдает ошибку если постом ничего не заслано т.к он пытается запихнуть в куки ничто


Таким багом страдали старые версии phpBB.
Избавление от бага: заменить == на ===, которое сравнивает помимо значения еще и тип переменной.
вот за это спасибо это я не знал