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

Ищу человека для совместной разработки веб-обвязки

Тема в разделе "Оффтопик", создана пользователем Vetus, 6 июн 2012.

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

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

    Баллы:
    78
    Skype:
    vetus.miles
    Ищу следующих людей для совместной разработки веб обвязки:
    • Дизайнер/верстальщик
    • Консультант по работе сервера/плагинов

    На текущий момент реализовано:
    • Новостная лента
    • Регистрация/авторизация/активация
    • Восстановление пароля по почте (или моб. телефону)
    • Админка:
      • Создание/редактирование/удаление новостей
      • Редактирование/бан/разбан/пользователей
    • Личный кабинет
      • Смена ника/пароля/мыла
      • Личные сообщения
      • Смена скина
      • Редактор скина
      • Пополнение кошелька
    • Интернационализация
    • API для лаунчера
      • Авторизация
      • Регистрация
      • Статус/онлайн сервера
      • Новости
    • Из мало нужных затей:
      • Привязка учетки к моб. телефону
    Подробности и что требуется расскажу по:
    icq: 941082
    skype: vetus.miles
     
  2. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
  3. mike5703

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

    Баллы:
    123
    Можно пожалуйста узнать, что будет тому, кто поможет тебе с этой "веб-обвязкой"?
    И что именно требуется.
    В скайп не буду писать для этого вопроса, ибо не только мне, я думаю, ответ нужен.
     
  4. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    Можно увидеть часть кода, для анализа знания php
    интересует Регистрация/авторизация/активация
     
  5. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
    Веб обвязка планируется коммерческая, соответственно процент с продаж.
    Требуется дизайнер/верстальщик, возможно пригодится еще один php программист.
     
  6. mike5703

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

    Баллы:
    123
    +1 :)
     
  7. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
    Все в классах. Приведу небольшие куски.

    Регистрация.
    PHP:
      public function signup($data) {
        
    $data $this->filter($data);
        
    $status $this->db->arr_insert('users'$data);
        return 
    $status;
      }
    Принимает массив, пропускает массив через вильтр, вносит данные в бд (arr_insert)

    Фильтр:
    PHP:
      private function filter($data){
        
    $password $this->make_password($data['username'], $data['password']);
        
    $salt $this->make_salt($password);
        
    $sha_hash $this->make_sha_hash($password$salt);
        foreach(
    $data as $key => $value) {
          
    $fdata[$key] = trim(addslashes($value));
          if (
    $key == 'password'$fdata['sha_hash'] = $sha_hash; unset($fdata['password']);
        }
        return 
    $fdata;
      }
    получает массив данных, хеширует пароль (make_pass), соль (make_salt), сливает в единую строку (make_sha_hash) затем добавляет к массиву, простые данные тримируются, слешируются (P.S. про array_map знаю, из за специфики обработки не годится)

    Авторизация.
    PHP:
      public function signin($username$save false) {
        
    $remember = ($save) ? time()+3600*24*365 time();
        
    $signin $this->db->prepare("SELECT * FROM `users` WHERE `username` = ?");
        
    $signin->execute(array($username));
        
    $user $signin->fetch(PDO::FETCH_OBJ);
        
    $data = array($user->id$this->get_salt($user->sha_hash));
        if(
    setcookie('token'implode(':'$data), $remember)) return true;
      }
    Принимаем имя пользователя и булевое на сохранение сессии. Пароль проверяется до вызова данной функции.
     
  8. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    Не проще?
    Код:
      public function signup($data) {
        return $this->db->arr_insert('users', $this->filter($data));
      }
    Про оптимизацию вы позабыли.

    Скиньте arr_insert

    А так по коду не плохо. Оптимизируйте код, лишние переменные грузят скрипт.
     
    ВремяПриключений нравится это.
  9. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
    Это понятно, оптимизация будет проведена позже.

    PHP:
      function arr_insert($table$array = array()) {
        if (!
    is_array($array) || !count($array)) return false;
        
    $bind ':'.implode(',:'array_keys($array));
        
    $sql  'insert into ' .$table'(' .implode(','array_keys($array)). ') values ('.$bind.')';
        
    $stmt $this->prepare($sql);
        
    $stmt->execute(array_combine(explode(',',$bind), array_values($array)));
        return 
    $stmt;
      }
     
  10. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    Я либо что то не могу понять либо я не вижу, что хотел бы видеть (фильтрация данных перед отправкой на sql сервер)

    А так удачи в развитии, знания есть и это радует)
     
  11. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
    PHP:
    private function filter($data){
        
    $password $this->make_password($data['username'], $data['password']);
        
    $salt $this->make_salt($password);
        
    $sha_hash $this->make_sha_hash($password$salt);
        foreach(
    $data as $key => $value) {
          
    $fdata[$key] = trim(addslashes($value));
          if (
    $key == 'password'$fdata['sha_hash'] = $sha_hash; unset($fdata['password']);
        }
        return 
    $fdata;
      }
    trim и addslashes (знаю что плохо, перепишу). И про оптимизацию знаю, позже.
     
  12. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    trim и addslashes (знаю что плохо, перепишу). И про оптимизацию знаю, позже.

    Мало нельзя делать фильтрацию стандартными методами, вы используйте больше фильтраций.

    Код:
        function injection($query)
        {
            global $sql, $not_allow_symbol;
            return $sql->safesql(trim( str_replace( $not_allow_symbol, '', strip_tags( stripslashes( $query ) ) ) ) );
        }
    
    Побольше фильтраций.
     
  13. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
    Знаю =). А так вообще большинство данных сверяются с регулярками, да и PDO тоже фильтрует данные =)
     
  14. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    PDO Разъяснишь что это такое? первый раз слышу.
     
  15. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
    http://php.net/manual/en/book.pdo.php
    Расширение для работы с базами данных.
     
  16. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
  17. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    На форуме не так много php кодеров толковых или даже нету за исключением некоторых.
     
  18. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
    Кодер не особо то и нужен, сам справляюсь пока. Нужен дизайнер/верстальщик нормальный.
     
  19. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles
    З.Ы. Теперь также ищется спец по серверу/плагинам для консультаций по работе сервера/плагинов =)
     
  20. Автор темы
    Vetus

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

    Баллы:
    78
    Skype:
    vetus.miles

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