Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: clovenhoof в Jun 27, 2013, 15:57



Титла: Първото ми Уеб приложение
Публикувано от: clovenhoof в Jun 27, 2013, 15:57
Всичко е в начален стадии, но може да се тества:

https://sourceforge.net/projects/privategallery/ ($2)



Титла: Re: Първото ми Уеб приложение
Публикувано от: Acho в Jun 27, 2013, 16:01
Поздравления колега. Респект.


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Jun 27, 2013, 16:08
Мерси. След като не намерих готово което да ми хареса, си го написах. Исках да си гледам видео уроците през Уеб-а и това вече работи, но реших да го разширя, най-вече за кеф.


Титла: Re: Първото ми Уеб приложение
Публикувано от: b2l в Jun 27, 2013, 16:13
Може ли въпрос:
Код
GeSHi (PHP):
  1. if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
  2. {
  3.    $u = $_POST['user'];
  4.    $p = $_POST['password'];
  5.    if (isset($u) && isset($p) &&
  6.        authenticateUser($u, $p))
  7. {
  8.    echo true;
  9.    exit;
  10. }
  11.    echo false;
  12. }
  13. else
  14. {
  15. header("Location: index.php");
  16. }

Какво проверяваш тука?


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Jun 27, 2013, 16:21
Формата за логване я сериализирам и пращам с ajax, а не по традиционния начин. Горното проверява дали е ajax рекуеста към страницата.

Основната причина за това беше да показвам съобщение за грешка при логване, а и да тренирам.


Титла: Re: Първото ми Уеб приложение
Публикувано от: zeridon в Jun 28, 2013, 08:41
Предполагам ти е ясно че на юзера не може да се вярва какво ще забие в полетата за user/pass и си ги филтрираш правилно. Ако ли не мисля че чувам sql injection ...


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Jun 28, 2013, 10:15
Незнам дали си гледал кода, но разбира се че знам инжекцията и според мен в това отношение приложението е добре, ама още съм нов в Web Dev така че може да хвърлите един поглед на автентикацията:
Код
GeSHi (PHP):
  1. function authenticateUser($u, $p)
  2. {
  3. $result = false;
  4. try
  5. {
  6. $dbh = new PDO("sqlite:main.db");
  7. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  8.  
  9. $query = "SELECT id, name, password FROM users WHERE name = :username";
  10. $query_params = array(':username' => $_POST['user']); // Това съм забравил да го сложа на $u
  11. $stmt = $dbh->prepare($query);
  12.                $stmt->execute($query_params);
  13.  
  14. $row = $stmt->fetch();
  15. if($row)
  16.                {
  17.                      $mdp = md5($p);
  18.                      if($mdp === $row['password'])
  19.                      {
  20. unset($row['password']);
  21. unset($row['name']);
  22.  
  23. $_SESSION['user'] = $row['id'];
  24.                                $result = true;
  25.                      }
  26.               }
  27. }
  28. catch(PDOException $e)
  29. {
  30. //$e->getMessage();
  31. }
  32.  
  33. return $result;
  34. }
  35.  

Според мен е добре така имайки предвид че ползвам PDO::prepare, а също така паролата я проверявам отделно, но ако нещо не ви харесва казвайте за да поразуча утвърдените практики.


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Jul 02, 2013, 10:23
Ха, днес отварям и гледам проекта ми го няма на sourceforge.
Мейл не съм получавал с причини за това.

Писах им за обяснение и чакам.  >:(


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Jul 03, 2013, 16:45
Върнаха проекта обратно.
Нещо се били объркали ... дълго за разправяне.


Титла: Re: Първото ми Уеб приложение
Публикувано от: VladSun в Aug 17, 2013, 16:24
Поздравления и добре дошъл в web dev-a :)

Малко конструктивна критика:
- не ползваш ООП
- няма MVC разделение
- в password_hash.php (един от малкото файлове, който разгледах) имаш повторение на кода

ПП:

след header('Location: xxxx'); винаги се вика exit();


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Aug 19, 2013, 13:30
Добре заварил! :)

Доста неща свързани с Уеб Дев-а, разгледах, тествах и осъзнах от последният ми пост тук.
Основното е че си избрах PHP Framework. Ще пренапиша целият проект ползвайки Laravel ($2).
Последният има хубава документация и поддръжка. Избрах този фремуорк след като прочетох документацията от сайта и най-вече секциата Quickstart. Btw, приятно се работи и с тулче като composer.
Така че вече ще има MVC, a за автентикацията мисля да ползвам библиотека като Sentry.

За дизайна - този бутстрап го зарязах. Много ме дразни че сайтовете които го ползват си личат от километри. Вече ползвам YAML CSS ($2) и установих че за разлика от бутстрап-а никъде по кода вече нямам !important и всичко е по чисто.


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Aug 21, 2013, 16:47
Всъщност, ето го и демо проекта: http://selectany.my.phpcloud.com/PrivateGallery ($2)
Потребител: admin
Парола: test123

Още не съм измислил напълно начина на ползване, но за сега мисля всеки потребител си избира отделни настройки т.е. да си добавя видео, снимки и др.
Тъй като в демото има само един потребител, за момента това което конфигурирането прави е да създава една таблица (кеш) в базата и на финала я изтрива.
Реално кеша го създадох при деплойване на демото и след това "превключих на демо режим".
Като таргет на кеша е една директория с много файлове (инсталацията от Ruby200 :) ), която качих на сървъра и в която добавих няколко тестови HTML5 (*.webm) клипчета в папката "My Great Videos". Двойно кликане и видеото трябва да тръгне (поне ако браузера поддържа HTML5 video).

ПП: В момента пътя до директорията за кеширане е хардкодната, така че направo натискате "Next"


Титла: Re: Първото ми Уеб приложение
Публикувано от: b2l в Aug 21, 2013, 16:57
Пу за мене!

(http://s15.postimg.org/cw4dwmzd6/SQLError.jpg)


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Aug 21, 2013, 17:10
 :)
С рефреш и отново не стана ли ?


Титла: Re: Първото ми Уеб приложение
Публикувано от: b2l в Aug 21, 2013, 17:16
:)
С рефреш и отново не стана ли ?

Първия път всичко минава. После избирам Pictures, после пак се връщам на Video и вече каквото и да напиша ми дава грешка.


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Aug 21, 2013, 17:25
Хм, малко ми е странно, но имам подозрения че е от това че генерирам името на временната таблица в базата от session_id().
Сега добавих един префикс "test_", защото session_id може да започва с число.


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Aug 21, 2013, 17:31
Сега се сещам че имам още 2 файла за глобално ползване които не се синхронизират.
В смисъл че ако едновременно се пуска конфигурацията от няколко човека ( то реално е един акаунт) ще има изненади.
За това ще махна "уизарда" (конфигурацията) и ще оставя крайния резултат.
За сега :)


Титла: Re: Първото ми Уеб приложение
Публикувано от: angie_bg в Aug 21, 2013, 17:41
В SF проектът пак е изчезнал. При опит за преглеждане на видео от демото, показва времетраене 0 и зарежда до безкрайност.


Титла: Re: Първото ми Уеб приложение
Публикувано от: PaperNick в Aug 21, 2013, 18:18
В SF проектът пак е изчезнал. При опит за преглеждане на видео от демото, показва времетраене 0 и зарежда до безкрайност.

Вчера разглеждах страницата в sourceforge и ми беше интересно да видя проекта, но така и не намерих някакви файлове. Помислих си, че проблемът е само в моят кашон, но уви...  :)


Титла: Re: Първото ми Уеб приложение
Публикувано от: clovenhoof в Aug 21, 2013, 20:25
В SF проектът пак е изчезнал. При опит за преглеждане на видео от демото, показва времетраене 0 и зарежда до безкрайност.

Гледам че проекта в SF си го има - не е "изчезнал". Само че сега дундуркам малкия и после ще го ъпдейтна.
Видеотата от демото са в папка "My Great Videos" другите файлове са само за демонстрация и по реално усещане. :)
А и да напомня пак че браузера трябва да поддържа HTML5 video. Например за IE8 (и по-малка) ще трябва webm плъгин.