Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt forum
Forum PHP.pl > Inne > Oceny
toaspzoo
Witam, chciałbym, abyście ocenili mój nowo powstały skrypt forum z auto - instalacją

Skrypt był zintegrowany z portalem, lecz w związku z zainteresowaniem szerszego grona użytkowników postanowiłem wypuścić go w wersji instalacyjnej.

http://znajomek.unixstorm.org/forum/phpforum.zip



--
Jeżeli temat jest niezgodny z regulaminem/narusza go, proszę o usunięcie
lobopol
Ok błędy jakie zauważyłem w ciągu kilku minut od ściągnięcia:
-hasła w bazie trzymane gołą md5
-złe kodowania plików (sporo w ansii)
-używanie krótkich tagów "<?" na przemian z "<?php", ja mam np. wyłączone krótkie tagi
-nie sformatowany kod, przez co nieczytelny, używaj tabulatorów (a raczej spacji)
-źle rozplanowana baza błędy z cyklu:
--przy md5 hasło może mieć 32 znaki, a pole jest ustawione na varchar z 255 znakami
--daty zapisywane w varchar...
--w miejscach gdzie powinine być tinyint/enum używane inty
--w miejscach gdzie powinny być tiny int są varchary (np. poziom)
--brak relacji. Np w tematach zamiast powiązać autora z tematem jest zapisywane jego login w pełnej postaci, dodatkowo treść tematu to varchar...
-po instalacji dziesiątki noticów na głównej
-logowanie kieruję na jedną stronę i nie powraca
Edit. Kilka uwag wysyłam na pw.

Jak dla mnie 0/10
!*!
kodu nie mogę pobrać, wersja live... masakra.

- brak doctype
- złe kodowanie, powinno być utf-8
- praktycznie same tabele

I w zasadzie tyle od strony wizualnej, Ocena -30/10 wink.gif
toaspzoo
skrypt: http://znajomek.unixstorm.org/checker

na jakiej podstawie oceniasz -30/10, czy tylko dlatego, że na tabelkach ?
lobopol
Jak patrzę to nadal podatne na ataki i część plików ma złe kodowanie.
toaspzoo
Atakuj, śmiało.
iso-8859-2 -> złe kodowanie?

lobopol
plik index php, tak samo install.php kodowanie ansii,
toaspzoo
install.php się nie używa, dzięki za uwagi na pw
!*!
Cytat(toaspzoo @ 11.12.2011, 19:45:53 ) *
skrypt: http://znajomek.unixstorm.org/checker

na jakiej podstawie oceniasz -30/10, czy tylko dlatego, że na tabelkach ?


Tak, tylko i głównie dlatego. Skrypt jest raczej Twoją wersją ćwiczebną, czegoś co pierwszy raz napisałeś i jest to coś 'większego'? Jeśli tak to ok.

Jednak ma to raczej rangę "księgi gości" jakie można spotkać w necie z lat 90.
Mało kto się zainteresuje tym skryptem, ponieważ:

- strukturalny kod jest mało optymalny pod względem modyfikacji
- wszytko jest po polsku, kod raczej piszemy w języku angielskim
- brak dokumentacji, opisu co robi dany fragment/funkcja
- brak oddzielenia kodu php od html
- przy łączeniu z bazą wykorzystujesz jakieś śmieszne funkcje "zapytaj" i łączysz się przez mysql_* a dzisiaj PDO to standard

kod:

  1. <?
  2.  
  3. if(!empty($_POST['sub']))
  4. {
  5. $plik=fopen('config.php', "w");
  6. fwrite($plik, $tekst);
  7. fclose($plik);
  8.  
  9. $dane = '
  10. <?php


fopen przy czymś tak prostym? są inne funkcje do tego, ale się czepiam, już pominę fakt że wczytujesz plik który nic nie zawiera.

- źle zamykasz i otwierasz znaczniki, ale o tym już Ci ktoś napisał.

Ogólnie... nadal twierdzę że -30/10 to i tak wysoko wink.gif nikt nie użyje tego na poważnie, ponieważ nie ma w tym skrypcie niczego, co byłoby przydatne, a nie można by napisać samemu i lepiej.

Edycja:

I co najważniejsze. To w ogóle nie ma żadnych zabezpieczeń.
Kompletnie nie masz pojęcia o projektowaniu baz danych. Zakochałeś się w 'varchar' ?

Można by tak wymieniać wad bez końca, ponieważ jeszcze ich trochę zostało jednak szkoda czasu. Skrypt jest po prostu marnej jakości.
Niktoś
Cytat
wszytko jest po polsku, kod raczej piszemy w języku angielskim

A gdzie to jest,napisane?Dla mnie jak kto woli.
ciekawskiii
varchar(999) i varchar(9999) he?

zabezpieczen praktycznie zero, gole zmienne ida prosto do bazy i to wszedzie praktycznie.

przy rejestracji 4 zapytania do tabeli uzytkownicy, po co az tyle?

trzeba się niestety zgodzic ze to forum nie nadaje się do uzycia
Fifi209
Jako config nie prościej dać .ini ? Łatwiej edytować i nie musisz robić czegoś takiego:
  1. $dane = '
  2. <?php
  3.  
  4.  
  5. /********* plik konfiguracyjny FORUM znajomka *****/
  6.  
  7. $host = \''.$_POST['host'].'\';
  8. $user = \''.$_POST['user'].'\';
  9. $haslo = \''.$_POST['haslo'].'\';
  10. $baza_danych = \''.$_POST['baza'].'\';
  11.  
  12. ?>
  13. ';


Bany wyrzuć do osobnej tabeli, o typach nie wspominam bo już było.

Jeżeli ustawiasz np.
  1. `ban_zmysli` int(1) NOT NULL DEFAULT '0',

Skoro not null to jak default?

W ogóle co oznaczają pola:
  • ban_zmysli
  • blokada_fast_wysz
  • reg
  • offic
  • flood_g
  • flood_m
  • flood_s
  • limit_z
  • sendmail
!*!
Cytat(Niktoś @ 12.12.2011, 02:39:04 ) *
A gdzie to jest,napisane?Dla mnie jak kto woli.


Tak zostało przyjęte, Język angielski jest podstawowym językiem w programowaniu jak i w informatyce. Grzebałbyś w kodzie który jest napisany po hiszpańsku czy rosyjsku? Tak samo nikt nie będzie grzebał w kodzie napisanym po polsku, szczególnie że większe serwisy, które magazynują kod otwarty, nawet go nie przyjmą, już nie wspominając o firmach, które chciałby go np. kupić.
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.