Size: a a a

2020 November 18

АГ

Алексей Гевондян... in phpGeeks
Vasily
3. если хочешь помощи нахаляву, прикидывайся тянкой. бгг
+
источник

V

Vladimir in phpGeeks
allpeg
а если пхп не нравится - очень зря. на пхп крайне удобно писать веб приложения, он как орки - все их не любят но в в средиземье они до сих пор доминируют.
вначале прочитал он как оракл 🙂
источник

AP

Alexsey Postnikov in phpGeeks
allpeg
1. когда грузишь файлы в папку, надо фильтровать имя. первое правило проверки имён - используй только белый список. например имя пользователя ^[a-zA-Z0-9_-]{3,30}$ - хватит им этих символов.

если файл грузит пользователь и имя не важно, то его надо выкинуть на помойку и делать новое самому, ну либо по жести фильтровать и смотреть что такого уже нет.

расширение можно вытащить из имени или "магическим способом" определить самому. белый список миме-типов: image/jpeg image/png image/gif, по ним сохраняешь файл как .jpg/png/gif остальные - ошибка, загрузите нормальную картинку. и на размер пикчи тоже ограничение надо.

помни, пользователь в файл может понаписать что угодно, первым делом он загрузит файл с именем 1.php и сломает тебе нахрен всё.

2. ради бога, изучи как надо правильно использовать prepared statements. За "... '$path' ..." в sql-запросе тебе надо "неуд" поставить.
Через мд5
источник

K

Kotikov in phpGeeks
allpeg
а если пхп не нравится - очень зря. на пхп крайне удобно писать веб приложения, он как орки - все их не любят но в в средиземье они до сих пор доминируют.
Было дело)
источник

a

allpeg in phpGeeks
Kotikov
Спасибо.)
кстати
эти принципы фильтрации одинаковы для ВСЕХ бэкэнд-языков кстати. даже если ты фронт-эндер, знать немного пхп будет огромным плюсом
источник

a

allpeg in phpGeeks
Vasily
3. если хочешь помощи нахаляву, прикидывайся тянкой. бгг
топ-совет кстать. в играх так вообще самое то. но сейчас что-то популярность потерял. видимо, из-за развитий технологий голосового чата
источник

in phpGeeks
allpeg
топ-совет кстать. в играх так вообще самое то. но сейчас что-то популярность потерял. видимо, из-за развитий технологий голосового чата
Благо технологии на месте не стоят, голос уже прямо в телеге менять можно
источник

K

Kotikov in phpGeeks
accept="image/jpeg, image/jpg" а вот разве этот атрибут не защитит от отправки php файлов и прочей ерунды?
источник
2020 November 19

a

allpeg in phpGeeks
Благо технологии на месте не стоят, голос уже прямо в телеге менять можно
проги для изменения голоса не работают, увы.
источник

a

allpeg in phpGeeks
Kotikov
accept="image/jpeg, image/jpg" а вот разве этот атрибут не защитит от отправки php файлов и прочей ерунды?
нет. первое правило бэкэнд-разработки: всегда предполагай что пользователь в любое место запихнёт sql-инъекцию, xss или ещё что-то такое
источник

in phpGeeks
Kotikov
accept="image/jpeg, image/jpg" а вот разве этот атрибут не защитит от отправки php файлов и прочей ерунды?
Я могу отправлять файлы на скрипт без участия фронта
источник

АГ

Алексей Гевондян... in phpGeeks
Kotikov
accept="image/jpeg, image/jpg" а вот разве этот атрибут не защитит от отправки php файлов и прочей ерунды?
это же типа фильтр, будет выбор картинок и "все файлы" останутся
источник

a

allpeg in phpGeeks
ну и любая валидация на фронте - зло, да.
источник

K

Kotikov in phpGeeks
allpeg
ну и любая валидация на фронте - зло, да.
абсолютно любая?
источник

in phpGeeks
Kotikov
абсолютно любая?
Просто всё равно придётся валидировать на бэке
источник

АГ

Алексей Гевондян... in phpGeeks
она полезна, но не достаточна
источник

in phpGeeks
Кст, есть nodeJS ещё, как обычный JS, только node. Я думаю тебе было бы лучше его заюзать и быстрее. Так как JS ты уже знаешь по идее
источник

K

Kotikov in phpGeeks
Алексей Гевондян
это же типа фильтр, будет выбор картинок и "все файлы" останутся
Устанавливает фильтр на типы файлов, которые вы можете отправить через поле загрузки файлов. Тип файла указывается как MIME-тип, при нескольких значениях они перечисляются через запятую. Если файл не подходит под установленный фильтр, он не показывается в окне выбора файлов.
источник

a

allpeg in phpGeeks
Kotikov
абсолютно любая?
нет
она должна быть чтобы пользователь не утруждал себя отправкой формы чтобы понять что он отправил что-то не то
но если на фронте ты что-то лишнее пропустил то пофигу вообще.

а вот на сервере должна быть та же проверка, но 100% правильная и идеальная. что-то не то пропустил - хакер туда потенциально впихнул xss, sql injection, огромный файл, спам-ссылку, цп и т.п.
источник

АГ

Алексей Гевондян... in phpGeeks
Kotikov
Устанавливает фильтр на типы файлов, которые вы можете отправить через поле загрузки файлов. Тип файла указывается как MIME-тип, при нескольких значениях они перечисляются через запятую. Если файл не подходит под установленный фильтр, он не показывается в окне выбора файлов.
попробуй, поставь. у тебя будут картинки и "все файлы" в диалоге выбора файла
источник