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

Форум АНТИЧАТ (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=76597)

misterzym 09.07.2008 21:36

Нужен скрипт линкшифратор
 
Нужен такой скрипт: заходиш на страницу, там 2 формы ввода, в первую ставиш сслку ( link1.ru ) а во вторую ставиш пасс, а скрипт делает следующим образом - дает свою сслку ( link2.ru )при заходе на которую спрашивает выше введенный пасс, и если пасс верный то отправляет на ссылку введеную выше (link1.ru). Так сказать общественный сервис, все что вводят сохранял и не путал. Кто может мне помоч выполнить задачу?

blaga 09.07.2008 21:39

программировать то умеешь?

misterzym 09.07.2008 21:42

средненько, на это уже нехвататет...

blaga 09.07.2008 21:44

ок. алгоритм примерный то есть у тебя?

blaga 09.07.2008 21:48

1. ну есть у тебя пасс и ссылка. пишеш их в БД
2. генеришь ссылку вторую. пишешь в БД
3. запрашивают у тебя вторую ссылку.
4. вводят пароль.
5. сравниваешь ссылку два и пароль из БД
6. Если все ок. редирект на 1 ссылку.
7. если нет то шлеш нафиг

misterzym 09.07.2008 21:50

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

blaga 09.07.2008 21:55

бред. юзай БД.

misterzym 09.07.2008 21:57

попробую с БД сделать...

BlackSun 09.07.2008 22:57

Цитата:

Сообщение от misterzym
попробую с БД сделать...

Держи пример, тока что написал, простейший, на ошибки не проверял.

Дамп БД:
Код:

-- phpMyAdmin SQL Dump
-- version 2.11.3deb1ubuntu1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Июл 10 2008 г., 00:55
-- Версия сервера: 5.0.51
-- Версия PHP: 5.2.4-2ubuntu5.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- База данных: `links`
--

-- --------------------------------------------------------

--
-- Структура таблицы `links`
--

CREATE TABLE IF NOT EXISTS `links` (
  `id` int(11) NOT NULL auto_increment,
  `link` text NOT NULL,
  `pass` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Дамп данных таблицы `links`
--

INSERT INTO `links` (`id`, `link`, `pass`) VALUES
(1, 'http://asd.ru', '40bd001563085fc35165329ea1ff5c5ecbdbbeef');

index.php
Код:

<?
        // Sample by BlackSun [S.T.A.R.S. Team]

        if (file_exists('config.php'))
        {
                include('config.php');
        } else
        {
                die('Config.php not found =(');
        }       
       
        if (isset($_GET['id']) and is_numeric($_GET['id']))
        {
                if (isset($_POST['pass']))
                {
                        $mysql = mysql_connect($dbhost, $dbuser, $dbpass) or die('Cant connect to DB.');
                        mysql_select_db($dbname) or die('Cant select DB.');
               
                        $result = mysql_query("SELECT * FROM links WHERE id='".$_GET['id']."'");
                        $num = mysql_num_rows($result);
               
                        if ($num > 0)
                        {
                                $row = mysql_fetch_array($result);
                                if ($row['pass'] == sha1($_POST['pass']))
                                {
                                        echo "<script>document.location='".$row['link']."';</script>";
                                        // - or -
                                        // header('Location: '.$row['link']);
                                } else
                                {
                                        echo "Invalid password.";
                                }
                        } else
                        {
                                echo "Not found.";
                        }
                } else
                {
                        ?>
                        <html>
                        <head>
                                <title>Links</title>
                        </head>
                        <body>
                                <form method="POST">
                                        Enter password: <input type="password" name="pass" style="width:150px"><input type="submit" value="Go">
                                </form>
                        </body>
                        </html>
                        <?
                }
        } else
        {
                echo 'ID invalid.';
        }
?>

config.php
Код:

<?
        $dbhost = 'localhost';
        $dbuser = 'root';
        $dbpass = 'abc';
        $dbname = 'links';
       
        $adminuser = 'root';
        $adminpass = '123';
       
        $site_url = 'http://localhost/a/';
?>

admin.php
Код:

<?
        // Sample by BlackSun [S.T.A.R.S. Team]
       
        if (file_exists('config.php'))
        {
                include('config.php');
        } else
        {
                die('Config.php not found =(');
        }

        if (isset($_COOKIE['adminuser']) and isset($_COOKIE['adminpass']) and
                $_COOKIE['adminuser'] == $adminuser and $_COOKIE['adminpass'] == $adminpass)
                {
                        if (!isset($_POST['link']) or !isset($_POST['pass']))
                        {
                                ?>
                                <html>
                                <head>
                                        <title>Admin zone</title>
                                </head>
                                <body>
                                        Добавить ссылку:<br>
                                        <form method="POST">
                                        <table cellpadding="0" cellspacing="0" border="0" width="400px">
                                        <tr>
                                                <td width="100px">Ссылка:</td>
                                                <td><input type="text" style="width:100%" name="link"></td>
                                        </tr>
                                        <tr>
                                                <td>Пароль:</td>
                                                <td><input type="password" style="width:150px" name="pass"></td>
                                        </tr>
                                        <tr>
                                                <td colspan="2"><input type="submit" value="Add link"></td>
                                        </tr>
                                        </table>
                                        </form>
                                </body>
                                </html>
                                <?
                        } else
                        {
                                $link = $_POST['link'];
                                if (substr($link, 0, 7) != 'http://')
                                {
                                        die('Invalid url');
                                }
                                $link = addslashes($link);
                               
                                $pass = sha1($_POST['pass']);
                               
                                $mysql = mysql_connect($dbhost, $dbuser, $dbpass) or die('Cant connect to DB.');
                                mysql_select_db($dbname) or die('Cant select DB.');
                               
                                $result = mysql_query("SELECT * FROM links");
                                $num = mysql_num_rows($result);
                                $num++;
                               
                                mysql_query("INSERT INTO links (`id`, `link` ,`pass` ) VALUES ('".$num."', '".$link."', '".$pass."');");
                               
                                echo "Добавлено:<br>\r\n";
                                echo "link: ".htmlspecialchars($link)."<br>\r\n";
                                echo "Pass: ".htmlspecialchars($_POST['pass'])."<br>\r\n";
                                echo "Link 2: ".$site_url."index.php?id=".$num."<br>\r\n";
                                echo "<a href='admin.php'><b>Add new</b></a>";
                               
                                mysql_close($mysql);
                        }
                } else
                {
                        if (isset($_POST['user']) && isset($_POST['pass']))
                        {
                                if ($_POST['user'] == $adminuser && $_POST['pass'] == $adminpass)
                                {
                                        setcookie('adminuser', $adminuser);
                                        setcookie('adminpass', $adminpass);
                                        //$_COOKIE['adminuser'] = $adminuser;
                                        //$_COOKIE['adminpass'] = $adminpass;
                                        echo "<script>document.location='admin.php';</script>";
                                } else
                                {
                                        echo "Логин и/или пароль не правильные.";
                                }
                        } else
                        {
                                ?>
                                <html>
                                <head>
                                        <title>Admin zone</title>
                                </head>
                                <body>
                                        Введите имя и пароль:<br>
                                        <form method="POST">
                                        <table cellpadding="0" cellspacing="0" border="0" width="200px">
                                        <tr>
                                                <td width="80px">Login:</td>
                                                <td><input type="text" name="user" style="width:100%"></td>
                                        </tr>
                                        <tr>
                                                <td>Pass:</td>
                                                <td><input type="password" name="pass" style="width:100%"></td>
                                        </tr>
                                        <tr>
                                                <td colspan="2" align="center">
                                                        <input type="submit" value="Go to r00t">
                                                </td>
                                        </tr>
                                        </table>
                                        </form>
                                </body>
                                </html>
                                <?
                        }
                }
?>

-------

PS: дада, я знаю, что в админке ксс, аффтар пусть сам избавляется от нее ;)

misterzym 10.07.2008 02:03

Спасиб большое! ну ошибки то уж я сам проверю, но за пример спасибо!


Время: 10:30