Yii Framework Forum: Moja pierwsza strona w yii - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Moja pierwsza strona w yii Rate Topic: ***** 1 Votes

#1 User is offline   zegarmistrz001 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 06-April 09

Posted 29 July 2009 - 09:47 AM

Postanowiłem się przez 2 dni uczyć się yii. Oto efekt:
http://zegar.ksu.pl/bazaHasel/
Jest w niej jeszcze kilka błędów. Mianowicie, po zalogowaniu i dodaniu co najmniej dwóch haseł do tabeli sortowanie po login DESC nie dziala.
Nie wiedziałem jak zrobić aby w
<?php echo CHtml::activeLabelEx($hasla,'haslo'); ?>
<?php echo CHtml::activeTextField($hasla,'nazwa',array('size'=>50,'maxlength'=>50)); ?>

zmienić napis wyświetlania przy polach input tak aby nie stracić właściwości activeLabelEx czyli np * lub podświatlania przy validacji.

Chciałbym abyście też pokazali jak wyglądały wasze pierwsze projekty w yii.

ps. dla Adminów: link do strony nie dałem aby ją pozycjonować. Jeżeli trzeba dodajcie w kodzie rel="nofollow"
1

#2 User is offline   sidewinder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 08-July 09
  • Location:Poland

Posted 29 July 2009 - 11:04 AM

Quote

Jest w niej jeszcze kilka błędów.

Na przykład literówka w pierwszym zdaniu :P .

Quote

sortowanie po login DESC nie dziala.


Może ktoś inny będzie w stanie pomóc. Akurat popsuła mi się magiczna kula i bez kodu źródłowego, a przynajmniej jego części odpowiedzialnej za generowanie linku sortowania kolumny login ani rusz :) .
Przejrzyj kontroler "hasla" a tam akcję "admin". Sprawdź też swój model. Problem polega na tym, że CSort generuje zły link. Zamiast parametru sort=login.desc daje sort=login-login.
Zanim jednak zabierzesz się za poprawianie sortowania, popraw koniecznie nazwy właściwości w modelu, bo jest możliwe, że to właśnie powoduje błąd sortowania. Tzn:

          <?php echo CHtml::activeLabelEx($hasla,'haslo'); ?>
          <?php echo CHtml::activeTextField($hasla,'nazwa',array('size'=>50,'maxlength'=>50)); ?>

obydwa elementy powinny dotyczyć tej samej właściwości więc drugi parametr musi być taki sam. Jeżeli chcesz zmienić to co będzie wyświetlone na stronie musisz nadpisać metodę attributeLabels() danego modelu. Metoda ta zwraca tablicę zawierającą pary "nazwaWłaściwości"=>"Etykieta widoczna na stronie". Na przykład:

      public function attributeLabels()
          {
              return array(
                  'Haslo2'=>'Powtórz hasło',
              );
          }
      

---------------------------------------------------------------------
"Never memorize what you can look up in books."
Albert Einstein
0

#3 User is offline   Tru 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 06-July 09

Posted 29 July 2009 - 12:37 PM

No super pomysł, zastanwaia mnie tylko jak trzymasz hasła w bazie. Czy są one jakoś szyfrowane?

PS
Nie zapomnij pochwalić się stroną tutaj: http://yiiframework....ewforum.php?f=6
0

#4 User is offline   zegarmistrz001 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 06-April 09

Posted 29 July 2009 - 12:55 PM

View Postsidewinder, on 29 July 2009 - 11:04 AM, said:

Jeżeli chcesz zmienić to co będzie wyświetlone na stronie musisz nadpisać metodę attributeLabels() danego modelu. Metoda ta zwraca tablicę zawierającą pary "nazwaWłaściwości"=>"Etykieta widoczna na stronie". Na przykład:

      public function attributeLabels()
          {
              return array(
                  'Haslo2'=>'Powtórz hasło',
              );
          }
      



Pomogło. Dzięki sidewinder :)
Nadal się męczę z sortowaniem, ale sądzę że jakoś dam sobie radę.

View PostTru, on 29 July 2009 - 12:37 PM, said:

No super pomysł, zastanwaia mnie tylko jak trzymasz hasła w bazie. Czy są one jakoś szyfrowane?PSNie zapomnij pochwalić się stroną tutaj: http://yiiframework....ewforum.php?f=6

Jeżeli chodzi o szyfrowanie to są szyfrowane hasła ale tylko te potrzebne do logowania. Inne jeszcze nie są szyfrowane. Wiem że tak nie może zostać i muszę to jakoś zmienić.
0

#5 User is offline   Tru 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 06-July 09

Posted 30 July 2009 - 02:31 AM

Może zainteresuj się tym - http://www.phpaes.com/ Jest to algorytm używany m.in. w KeePass
Znajomy twierdzi, że 256 bitowego AES jest cholernie ciężko złamać.
0

#6 User is offline   zegarmistrz001 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 06-April 09

Posted 30 July 2009 - 03:31 AM

View PostTru, on 30 July 2009 - 02:31 AM, said:

Może zainteresuj się tym - http://www.phpaes.com/ Jest to algorytm używany m.in. w KeePass
Znajomy twierdzi, że 256 bitowego AES jest cholernie ciężko złamać.

Tak. AES (Advanced Encryption Standard) jest obecnie najbezpieczniejszym skryptem kryptograficznym ze względu na długość klucza. Jest o wiele bezpieczniejszy od DES i 3DES. Oba algorytmy AES i DES można złamać tylko za pomocą brud force(przeszukanie całego zbioru możliwych kluczy). Nie jest znany inny skuteczny atak kryptoanalizy na te algorytmy. (Miałem kryptografie na 3 roku infy, teraz jestem na 5)

Obecnie tak to rozwiązałem:
  • przy rejestracji nowego użytkownika hasło jest kodowane md5
  • każde hasło dodane w "twoje hasła" jest kodowane algorytmem
  • klucz do kodowania haseł jest hasło użyte do logowania, które jest w zmiennej sesyjnej
  • W bazie danych nie ma żadnego niezakodowanego hasła. Nikt oprócz użytkownika nie może zobaczyć cudzego hasła, NAWET ADMIN

Wykupiłem też 2 domeny http://hasla.info lub http://bazahasel.pl
0

#7 User is offline   sidewinder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 08-July 09
  • Location:Poland

Posted 30 July 2009 - 03:45 AM

No i właśnie ten hash md5 jest najsłabszym punktem całego systemu zabezpieczeń. Robisz po prostu md5($zmienna_z_haslem) czy stosujesz jakieś zabiegi (statyczne i dynamiczne ciągi znaków dodawane to hasła) które uniemożliwią odzyskanie hasła z pierwszej lepszej bazy danych hashy md5 ?

Pomysł na aplikację jest ciekawy, ale będziesz się musiał mocno postarać, żeby przekonać ludzi do korzystania z Twojego serwisu zamiast na przykład ze wspomnianego wcześniej KeePass.
---------------------------------------------------------------------
"Never memorize what you can look up in books."
Albert Einstein
0

#8 User is offline   zegarmistrz001 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 06-April 09

Posted 30 July 2009 - 03:56 AM

View Postsidewinder, on 30 July 2009 - 03:45 AM, said:

No i właśnie ten hash md5 jest najsłabszym punktem całego systemu zabezpieczeń. Robisz po prostu md5($zmienna_z_haslem) czy stosujesz jakieś zabiegi (statyczne i dynamiczne ciągi znaków dodawane to hasła) które uniemożliwią odzyskanie hasła z pierwszej lepszej bazy danych hashy md5 ?

Pomysł na aplikację jest ciekawy, ale będziesz się musiał mocno postarać, żeby przekonać ludzi do korzystania z Twojego serwisu zamiast na przykład ze wspomnianego wcześniej KeePass.

md5 jest wykonywane z base64_encode i tak zapisane w bazie danych. Hasła w "twoje hasła" są kodowane mcrypt_encrypt MCRYPT_RIJNDAEL_256 czyli AES. http://pl.php.net/ma.../ref.mcrypt.php

Jeszcze zwrócę uwagę że hasła w "twoje hasła" są kodowane hasłem podenym podczas logowania (nie używam tego z bazy danych), czyli textem jawnym.
0

#9 User is offline   sidewinder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 08-July 09
  • Location:Poland

Posted 30 July 2009 - 04:23 AM

To jest tylko istotne.

Quote

md5 jest wykonywane z base64_encode i tak zapisane w bazie danych


Cała reszta nie. Dalsze algorytmy szyfrowania nie mają już znaczenia, bo jeżeli ktoś ukradnie twoją bazę danych to odzyska oryginalne hasła logowania najdalej w parę godzin za pomocą tablic tęczowych a jak ma szczęście to w parę sekund przeszukując bazy danych hashy takie jak na przykład te:
http://gdataonline.com/seekhash.php
http://tools.benramsey.com/md5/

klasyczny atak słownikowy ;)

polecam artykuł na stronie konkurencji (zacznij czytać od "Hash Once and Only Once!" )
http://codeigniter.com/news/P5/

oraz jak zwykle wiki
http://en.wikipedia....cryptography%29

sposób prosty a daje poczucie bezpieczeństwa :)
---------------------------------------------------------------------
"Never memorize what you can look up in books."
Albert Einstein
0

#10 User is offline   Tru 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 06-July 09

Posted 30 July 2009 - 08:17 AM

View Postsidewinder, on 30 July 2009 - 03:45 AM, said:

Pomysł na aplikację jest ciekawy, ale będziesz się musiał mocno postarać, żeby przekonać ludzi do korzystania z Twojego serwisu zamiast na przykład ze wspomnianego wcześniej KeePass.

KeePass ma tę wadę, że jest dostępny tylko offline. Oczywiście można synchronizować bazę danych, jednak nie na każdym komputerze możesz zainstalować soft (np. w szkole).

Alternatywą jest http://www.clipperz.com/, który wygląda naprawdę ciekawie. Posiada nawet coś w rodzaju w widgeta do Firefoxa i Opery.
0

#11 User is offline   zegarmistrz001 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 06-April 09

Posted 14 August 2009 - 12:04 PM

Sorki że nie pisałem tak długo, ale jeszcze mam 2 inne projekcie na głowe za które mi płacą. Powinno się rozstrzelać człowieka co do informatyka mówi że ma zrobić kilka działających wersji strony tylko po to aby jedna była wybrana.

Hashowanie haseł dodane. Jeszcze chcę dodać obsługę ssl, ale do tego trzeba mieć indywidualne ip (120zł/rok) i wykupić certyfikat (159złrok).

Fajnie też by było znaleźć jakiś prosty i nieskomplikowany szablon, ale niestety nie mam gustu w tych sprawach i zwykle wybieram te layouty które nikomu nie pasują. Chociaż domyślny szablon yii też jest fajny. Jest czysty, nieskomplikowany i ergonomiczny, więc może wkleję jakieś logo to wszystko. W każdym bądź razie jestem otwarty na wszystkie propozycje w tej kwestii.

Zachęcam też do testowania wszystkich opcji serwisu.

Pozdrawiam Zegarmistrz
0

#12 User is offline   zegarmistrz001 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 06-April 09

Posted 07 September 2009 - 06:03 AM

Serwis już jest w 100% przetestowany i sprawny. Bardzo dziękuję Tru i Sidewinder za wasze rady. Teraz pozostało mi tylko wypozycjonować i zrobić jakąś skromną reklamę.

Pozdrawiam Zegarmistrz.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users