Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Smarty, formatowanie kodu, OOP, bazy danych, md5/sha i solenie...
Forum PHP.pl > Forum > Przedszkole
sebus79
Witam.

Post nieco ogólny, ale jakże ważny.

Otóż cały czas się szkole - czytam, tworzę, czytam, tworzę - do tego jakieś wideo-tutoriale.
Przyznam, iż faktycznie - wiedza coraz większa ale z drugiej strony nie za bardzo wiem już co i kiedy.

Może dokładniej?
Tworząc stronę www:

1. Co są Smarty - to wiem, ale czy ich używać? A może zwykłe include i require wystarczy? Jeśli używać to kiedy, jeśli nie to dlaczego nie?
2. Baza Mysql czy Mysqli? Znam różnice, ale mimo to, wszędzie się pisze o Mysql natomiast Mysqli się pomija - choć niby będzie niedługo tylko on...
3. Czy tworzyć strony w OOP czy w zwykłej obiektówce? Mimo wieeelu zalet OOP (które dopiero zaczynam pozbawać) i jego zachwalania to i tak większość stron jest strukturalne? (Nie mówię o portalach) A może same funkcje wystarczą?
4. Czy nie lepiej zamiast polskich znaków wpisywać wszędzie encje? Wtedy przecież nie trzeba się przejmować aż tak bardzo kodowanie a mamy 100% pewności, że będzie ok. Przecież nawet encje można przetrzymywać w bazie.
5. Jaki jest lepszy style (sposócool.gif pisanie css i dlaczego? Chodzi mi o to, czy pisać atrybuty w jednej linijce, czy jednak w osobnych linijkach? Pytam, gdyż na różnych (nawet projesjonalnych stronach) wygląda to różnie.
6. Czy jest sens i możliwość hashować dane do serwera. Mam na myśli md5 lub sha512 (aby w samym pliku np connect.php dane były zahashowane)?
7. Czy warto miksować (mieszać aby był trudny do odczytu) kod php i czy jest to stosowane?
8. Wszędzie się pisze, że coocie i sesion (start) umieszcza się na samym początku kodu (strony). Dokładnie w którym miejscu? Przed tagiem <?php czy po nim? Przed tagiem <html (jeśli występuje jako pierwszy) czy po nim? Co z <!DOCTYPE ? Przed nim czy po nim?
9. Czy zamykać połączenie z bazą czy nie? Niby samo jest zamykane, ale spotkałem się z różnymi opiniami...
10. Źródło: PHP i MySQL, Vademecum Profesjonalisty wyd. IV, str. 357/358:
Dlaczego plik z nazwą usera i hasłem warto umieszczać w innym katalogu niż katalog witryny? Co oznacza zdanie: "W podobny sposób najlepiej jest używać danych o podobnym poziomie poufności, które zawsze dobrze jest dodatkowo zabezpieczyć"? Jakie "dodatkowe zabezpieczenie" autor miał na myśli?
11. Czy jeśli <title> umieścimy między tagami meta, a dokładniej pod <title> umieścimy <meta description... i <meta keywords..., to booty lepiej będą pozycjonować stronę?
12. Dlaczego tak wiele osób pisze o md5 a pomija kwestię kolizji i nic nie wspomina choćby o sha512 i soli? Nie lepiej od razu pisać z sha512 z solą i nie bawić się z md5?

Nasuwają się także inne pytania, ale zacznijmy od powyższego.


Pozdrawiam.
lobopol
1. Smarty jest to system templatek, ułatwia odseparowanie kodu php od html warto używać. Ale zdecydowanie bardziej polecam twig
2. mysql i mysqli to ta sama baza (MySQL), tylko inne mechanizmy do łączenia się z nią w zasadzie to polecam używać w takiej kolejności doctrine>pdo>mysqli>mysql
3. Nie ma czegoś takiego jak zwykła obiektówka, albo masz stronę napisaną OOP albo jakąś udziwnioną strukturalkę z użyciem klas zamiast funkcji. Zdecydowanie lepiej używać podejścia obiektowego, na dłuższą metę jest bardziej opłacalne
4. Nie, używaj poprawnego kodowania
5. Najlepiej pisać zgodnie z jednym standardem, np.
  1. div {
  2. color: #fff;
  3. background: #000;
  4. }

i się go trzymać, dodatkowo dzielić cały kod css na odseparowane pliki, zawierające poszczegołne moduły (polecam less/sass) i kompilować do zmniejszonego jednego pliku
6. Niezbyt rozumiem pytanie, jeżeli chodzi o hasło np. do bazy danych to niezbyt masz możliwość łączenia się za pomocą hasha, a nawet jakby była to dla bezpieczeństwa nie miało by to znaczenia (w końcu atakujący też tym hashem mógłby się połączyć)
7. Nie, jeżeli utrudniasz komuś utrudniasz również sobie, a jeżeli ktoś ma dostęp do plików na serwerze to mało go obchodzi jak wygląda kod bo może dodać własny
8. session i cookie muszą być dodawane przed przesłaniem danych do użytkownika, czyli np.
  1. <?php
  2. echo 'aa';

to jest ok, ale
  1. <?php
  2. echo 'aa';

  1. //tu jest pusta linia
  2. <?php
  3. echo 'aa';

już nie jest ok
9. To zależy czy twój skrypt po zaciągnięciu wszystkiego co miał z bazy ma dużo do obrobienia, jeżeli tak to warto, jeżeli nie to nie warto
10. Zapytaj autora, a co do umieszczania takich plików to warto je umieszczać w miejscach niedostępnych bezpośrednio przez www
11. Nie
12. Jeżeli czytasz artykuły sprzed kilku lat to takie rzeczy w nich może piszą
fate
Kolega wyczerpał temat co do:
11. meta keywords - nie sa juz w o góle brane pod uwage przez google,
Gość
Cytat(lobopol @ 28.08.2013, 06:04:12 ) *
3. Nie ma czegoś takiego jak zwykła obiektówka, albo masz stronę napisaną OOP albo jakąś udziwnioną strukturalkę z użyciem klas zamiast funkcji. Zdecydowanie lepiej używać podejścia obiektowego, na dłuższą metę jest bardziej opłacalne.

Czyli pisać strony obiektowo nawet małe wizytówki?


4. Nie, używaj poprawnego kodowania

Dlaczego? Mam się wystrzegać encji?


8. session i cookie muszą być dodawane przed przesłaniem danych do użytkownika, czyli np.
  1. <
  2. echo 'aa';

to jest ok, ale
  1. <?php
  2. echo 'aa';

  1. //tu jest pusta linia
  2. <?php
  3. echo 'aa';

już nie jest ok

czyli pusta linia też jest przesłaniem danych? A co z doctype?


9. To zależy czy twój skrypt po zaciągnięciu wszystkiego co miał z bazy ma dużo do obrobienia, jeżeli tak to warto, jeżeli nie to nie warto

Dlaczego nie warto? Nie lepiej dla pewności zawsze zamykać?


10. Zapytaj autora, a co do umieszczania takich plików to warto je umieszczać w miejscach niedostępnych bezpośrednio przez www.

Czyli gdzie dokładniej?

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.