Wpis z mikrobloga

@TurboTapir: Popełniasz 3 błędy:

1. Używasz Larwy
2. Przepisujesz bezpośrednio do modelu z żądania – tym samym model może dostać dowolny syf od użytkownika
3. Robisz screenshoty kodu o.O
  • Odpowiedz
  • 0
@MacDada uzywam larwy bo mi latwiej czemu uwazasz ze to blad?.2 Narzedzia wewnetrzne wiec ja bede sterowal co jest wysylane w requestach i raczej nikt nie bedzie tego sabotowac. 3 przepraszam
  • Odpowiedz
  • 0
@Viters
@cube dzieki cumple.

Jak wczesniej narzedzie wewnetrzne nikt nie bedzie mial potrzeby tego sabotowac . A za wysylanie requestow bedzie odpowiadal js nie formularz.
Co do metody caly czas sie ucze :)
  • Odpowiedz
@TurboTapir: W sumie to nie będę trollem i się rozpiszę…

1. Screenshot ssie, bo nie mogę skopiować kawałka Twojego kodu, poprawić i tym samym pokazać jak to zrobić lepiej. Muszę najpierw przepisać kod ze screenshota, co jest upierdliwe i duża szansa, że nie będzie mi się chciało.
2. Gdzie jest enkapsulacja modelu? Co to za publiczne pola? Jak masz pole username to będzie ok, jak się tam wsadzi 5? Powinieneś mieć walidację.
  • Odpowiedz
Jak wczesniej narzedzie wewnetrzne nikt nie bedzie mial potrzeby tego sabotowac .


@TurboTapir: To jest błędne założenie. Zawsze traktuj użytkownika jako złodzieja, sabotażystę, trolla i debila.

Po pierwsze ktoś się może włamać do sieci wewnętrznej. Po drugie może być jakiś kąśliwy gość, który na wieść, że go wywalą, postanawia zrobić syf w firmie. Po trzecie możesz mieć błąd gdzieś indziej w aplikacji, który spowoduje tutaj problem. Po czwarte – głupota
  • Odpowiedz
@TurboTapir: Jeszcze dwie rzeczy ważne z punktu widzenia bezpieczeństwa:

1. Jak akcja ma efekty uboczne, powinieneś wymagać metody http POST – nie wiem czy powinno to być gdzieś w routingu czy w akcji kontrolera w Larwie.
2. Token CSRF – musi być, żeby ktoś nie zrobił syfu w imieniu Twojego użytkownika – pewnie powinieneś użyć jakiegoś komponentu formularzy od Larwy, który to automatycznie ogarnie.
  • Odpowiedz
a co jest dla początkujących odpowiednie?


@xadereq: Ja zaczynałem od Symfony (jeszcze w wersji 1.x), dzisiaj polecam Symfony 3.x. Ewentualnie Silex lub Slim.

W każdym frameworku możesz korzystać z antypatternów albo zrobić coś jak
  • Odpowiedz
Po czwarte – głupota użytkowników jest nieprzewidywalna – nigdy nie wiesz co odwalą i przypadkiem rozwalą w aplikacji.


@MacDada:
Mój ojciec opowiadał mi, jak to w latach 90-tych sam usunął miesiąc swojej pracy. Bo coś mu się popieprzyło,
Jak to wówczas powiedział, wtedy nauczył się że każdy program musi być przede wszystkim idiotoodporny :)
  • Odpowiedz
@TurboTapir: Co do „ufania” użytownikom – proszę bardzo, wektor ataku.

1. Robię stronę ze śmiesznymi kotkami.
2. Zachęcam Twojego pracownika, żeby na nią wszedł (np podsyłam link na Facebooku).
3. Twój pracownik wchodzi na tę stronę => i tym samym nieświadomie atakuje Twoją wewnętrzną „bezpieczną” aplikację.

Kod na stronie z kotkami: https://jsfiddle.net/0pp5cz8x/1/
  • Odpowiedz
@MacDada: 1. nastepnym razem się poprawie obiecuje, ale tutaj chodziło o podejście a nie o potrzebe poprawienia błednego kodu.
2.Ok masz racje powinno być zło i idiotoodporne, ale nie ma innego wyjścia jak przypisywanie ręczne każdego pola (przy 3 ok ale przy większej ilości to żmudne troche)? btw jak se w username wsadzi 5 to też sie nic nie stanie
3. wysypie sie zapis, czyli z mojego punktu widzenia wszystko gra.
4. Nie
  • Odpowiedz