1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Веб Скрипт промо-кодов

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем ZONCCK, 23 дек 2015.

  1. Автор темы
    ZONCCK

    ZONCCK Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    ZONCCK
    Добрый день! Выкладываю обновленную версию промо-кодов! В чем суть:
    Игрок вводит код, и если код правильный, ему начисляются реальные деньги.
    1. Скачиваем архив.
    2. Папку engine кидаем в корень сайта.
    3. Настраиваем config.php
    4. Создаем шаблон, в нем пишем: {include file='engine/modules/promokeys/index.php'}
    5. Создаем статическую страницу, в поле шаблон указываем название нашего только что созданного шаблона.
    6. Делаем запрос в бд:
    Код:
    CREATE TABLE promo(
    promo CHAR(10) NOT NULL,
    price INT(5) NOT NULL
    )
    7. Промо-коды добавляются в админ центре, который доступен по ссылке http://site.ru/engine/modules/promokeys/admin.php?password=пароль(указывается в конфиге), так же у юзера с ID 1 есть готовая ссылка, находится на странице самой формы.
    Ну, вот и все, установка закончена.
    [​IMG]
    готово/не готово
    1. Добавить админ центр
    2. Убрать все косяки в коде

    3. Изменить дизайн
    4. AJAX
    5. Добавить больше функциональности
    6. Сделать в качестве модуля(?do=promo)
    Скачать можно тут: https://yadi.sk/d/tRLab3lymemxK
    Спасибо @Vladlen_198 за помощь =)
     
    Последнее редактирование: 4 янв 2016
  2. GHOST-MEN

    GHOST-MEN Активный участник Пользователь

    Баллы:
    76
    Зачем повторятся? Нет бы что-то новенькое написать, понимаю что первый скрипт, но всё-же, кому пригодится то, что уже есть, и в лучшем качестве (Не ковнокод)
    Как бы сказал Владлен:
    Говнокод.
    Переходи на mysqli или PDO.
    И к чёрту такие удобства:
    Для того чтобы создать промо код нужно выполнить в базе данных sql запрос вида:

    INSERT INTO promo VALUES ('САМ КОД','НОМИНАЛ КОДА')
     
    Последнее редактирование: 23 дек 2015
  3. mcdima

    mcdima Старожил Пользователь

    Баллы:
    153
    Кто установит - отпишитесь.
    Пойду крушить ваши БД с помощью SQL injection.


    @ZONCCK прочитай что такое SQL injection.
     
  4. Kirich

    Kirich Активный участник Пользователь

    Баллы:
    78
    :D
     
  5. GHOST-MEN

    GHOST-MEN Активный участник Пользователь

    Баллы:
    76
    @ZONCCK, проверку делай...
     
  6. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Предисловие. Говнокод ИМХО.
    Да сколько можно этих .rar архивов. Я его под linux mint ели распаковал, снова кодировка не UTF-8.
    Когда ты это написал ты не подумал что ключа code может не существовать ? А php добротно предоставит логи злоумышленнику.
    upload_2015-12-24_10-9-37.png
    Зачем так много лишних переменных ? Ассоциативные массивы для чего придумали ?
    upload_2015-12-24_10-11-0.png
    upload_2015-12-24_10-11-0.png
    Зачем делать лишний запрос к бд ? Трудно один раз в phpmyadmin зайти ? И да другие запросы на добавления промо-кода у тебя нужно заходить именно в phpmyadmin.
    upload_2015-12-24_10-8-44.png
    А вот и шедевры подъехали, я могу дропнуть твою бд. code=';DROP TABLE и т.д.
    upload_2015-12-24_10-15-10.png
    Что это бл*ть такое ?
    PHP:
    $db->query('UPDATE dle_users SET '.$col.'='.$col.'+ '.$money.' WHERE name="'.$nick.'"');
    upload_2015-12-24_10-17-30.png
    Что такое шаблонизатор, ты написал скрипт для DLE, но ты не написал его как модуль... А пошёл самым костыльным решением со статической страницой.
    upload_2015-12-24_10-25-28.png
    И да в php принято писать языковые конструкции с маленькой буквы, echo,if,else,elseif и т.д.
     
  7. Автор темы
    ZONCCK

    ZONCCK Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    ZONCCK
    Охохо, не знал, что все так сложно. Ну ладно, пойду читать про эти sql инъекции. Когда все усвою переделаю код. А сейчас я его лучше удалю, от греха подальше.
    @Vladlen_198 Сори, я просто еще отсталый в этой теме. Исправлюсь, обещаю:good:
    Кодировку нужно всегда ставить utf-8? Почему?
     
  8. Kimato

    Kimato Активный участник Пользователь

    Баллы:
    76
    Ну так прочти еще и про кодировки современности, наряду с sql.
     
  9. Автор темы
    ZONCCK

    ZONCCK Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    ZONCCK
    Хорошо =). Как думаешь, на что перейти? На mysqli или pdo?
     
  10. Semen4ik

    Semen4ik Старожил Пользователь

    Баллы:
    123
    Skype:
    Semenov1215
    Имя в Minecraft:
    Semen4ik
    на паскаль
     
  11. Автор темы
    ZONCCK

    ZONCCK Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    ZONCCK
    :D
     
  12. GHOST-MEN

    GHOST-MEN Активный участник Пользователь

    Баллы:
    76
    Вообще лучше на pdo, ну а так mysqli.
     
  13. Автор темы
    ZONCCK

    ZONCCK Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    ZONCCK
    Как-то это сложнее, чем устаревший вариант. Или мб мне так кажется, ибо я еще не вник в суть.
     
  14. GHOST-MEN

    GHOST-MEN Активный участник Пользователь

    Баллы:
    76
    Люди делятся на два типа.
    1. Тем которым важен говнокод или нет.
    2. И тем кому неважен говнокод или нет, чисто для себя.
    Если выкладываешь что-то в паблик, то говнокода не должно быть.
    Я тоже иногда говнокод пишу :) Но для себя, а не для всех.
     
  15. Автор темы
    ZONCCK

    ZONCCK Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    ZONCCK
    Хорошо. А если я запрещу кавычки, то пофикшу эти sql инъекции?
     
  16. MrFreeman#

    MrFreeman# Новичок

    Баллы:
    16
    Только если перестанешь писать свои скрипты тогда и дыр не будет!
     
  17. GHOST-MEN

    GHOST-MEN Активный участник Пользователь

    Баллы:
    76
    Ну смотря как ты это сделаешь :)
    А вообще мой тебе совет, подучи php, а потом выйди в свет.
    Так на абум колотить скрипты, да ещё и с дырами, как-то тупо.
    Пиши скрипты, практикуйся, тестируй сам, и через некоторое время всё будет збс...:D
     
  18. Автор темы
    ZONCCK

    ZONCCK Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    ZONCCK
    Я просто не знал о том, что такие инъекции вообще существуют. А друзей-программистов у меня нет. Вот и выложил на руведро с целью, чтобы мне подсказали, что не так и с чем не так.
     
  19. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Ну не только кавычки. XSS мб у тебя. В pdo кавычки они сами экранизируются и там удобные конструкции ввида.
    PHP:
    $db->prepare('UPDATE table SET one=:one, two=:two WHERE user=:login);
    $db->execute([
    '
    one' => 'Test',
    '
    two' => 'Lol'
    '
    login' => 'UltraShock'
    ]);
    В итоге pdo сделает тебе вот примерно такой sql если выключена эмуляция запросов. Иначе они уже будут подставлять на самом сервере mysql.
    Код:
    UPDATE table SET one=:\`Test\`, two=\`Lol\' WHERE user=\`UltraShock\`
    
    А все кавычки он будет автоматический экранизировать.
     
  20. rescr1pt

    rescr1pt Старожил Пользователь

    Баллы:
    103
    mysql_escape_string('$string') или mysql_real_escape_string('$string'), но 2 работает если коннект к БД уже есть, функции экранируют кавычки и всякую фигню.
     

Поделиться этой страницей