Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   оцените скрипт (https://forum.antichat.xyz/showthread.php?t=36285)

genom-- 24.03.2007 21:15

оцените скрипт
 
вот накропал типо микро cms =)

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

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

после выполнения какойлибо операции сразу возвращается к рабочей части скрипта по кукам
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 код:

<?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($file0$pos 39);
    
$got.= $_POST['zagol'].$_POST['text'].'<br><br>';
    
$got.= substr($file$pos 39strlen($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

Красивый код? Сделал еще хуже

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

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

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

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

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

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

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

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

или еще быстрее:
PHP код:

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

Цитата:

Сообщение от Helios
Красивый код? Сделал еще хуже

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

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

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

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

Цитата:

PHP код:

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


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

Цитата:

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


Время: 12:01