Aktywne Wpisy
Odnośnie wypadku na A1, pamiętam jaki parę lat temu był kwik na wykopie jak Volvo ogłosiło, że żadne ich nowe auto nie pojedzie więcej niż 180 km/h. Cała masa ludzi to wyśmiewała, krzyczała o jeżdżeniu szybko ale bezpiecznie itd. Przypominam, że maksymalna prędkość w Polsce to 140 km/h. Może gdyby BMW też stosowało takie ograniczenia (albo najlepiej wszyscy producenci) to by rodzina z kii nie spłonęła żywcem, tylko może by skończyli mocno
darkinvaider +1385
Witajcie - być może niektórzy pamiętają - #rozdajo które zorganizowałem (https://wykop.pl/wpis/69009349/witam-mam-tu-oto-takie-rozdajo-pierscionek-z-diame) i zapraszałem do głosowania na lokalizację paczkomatu . Stało się paczkomat dziś postawiony :)))))) więc z tej okazji w ramach wdzięczności - taki pierścionek będzie do oddania oczywiście przez #mirkolos . Pierścionek złoto 585 Centrlany Topaz oraz dwa diamenty:) rozmiar na życzenie. Zielonki niestety odpadają.. wystarczy zaplusowac . #sebsjewellery #rozdajo #bizuteria #zloto #rzemioslo #zafriko #jubilerstwo #rozowepaski #niebieskiepaski. Losowanie -
W dzisiejszym odcinku #od0dopentestera zaczniemy od języka #python
Co złego może być w 2 linijkach:
imie = input("Twoje imie:")
print ("Witaj ", imie)
Funkcja
input
to tak naprawdęeval
połączony zraw_input(treść)
co można sprawdzić tutaj.Możliwe jest zatem wykonanie dowolnego kodu,
eval
służy bowiem do dynamicznego wykonywania treści.Dla przykładu wyświetlimy zawartość bieżącego katalogu.
Przekazywany przez nas ciąg znaków musi się zmieścić w 1 linijce tekstu.
Nie możemy zatem użyć
import os
a następnie wywołać funkcjisystem
.Skorzystamy z alternatywnej składni:
__import__('os')
Oczywiście to tylko przykład, używając tego schematu możemy wykonać dowolną funkcję z dowolnego modułu.
Jak zatem poprawić ten kod? Wystarczy zamienić
input
naraw_input
.Co ciekawe kod ten zadziała jedynie w Python 2.
#programowanie #informatyka #webdev
input
w Pythonie.@Razi91 rzeczywiście ciężko znaleźć jakieś praktyczne zastosowanie w dzisiejszych czasach
Tym przykładem chciałem pokazać jak ważne jest nazewnictwo.
Funkcja nie nazywa się bowiem
eval_input
więc większość osób założy, że po prostu zwraca tekst.Nie mam zielonego pojecia co tam napisales