Mirki czy takie podejscie w #laravel jest ok? Chodzi mi o petle foreach tak sobie rozkminilem coby nie przypisywac kazdego atrybutu modelu do atrybutu z requesta #programowanie #webdev
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
@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
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 :)
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
@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.
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 :)
@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ę.
@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
źródło: comment_JR1f91BBtQVvZxJGAntZS6qO6YsKouY7.jpg
Pobierz1. 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
bez sensu podejście, przecież możesz zrobić tak
$icon->fill($request->all());
Na kompie czytelne. Na telefonie wcześniej nie widzialem.
@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 :)
@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
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.
@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 :)
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/
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