как на php в форуме регистрации сделать возможность прикрепления файлов с фильтром (.exe, pdf, и т.п.)?
создаешь форму загрузки файла, дальше отправляешь этот файл на свой скрипт в котором проверяется файл на существование и если требуется формат
ну вот задание: может кто с этим помоч? если есть время, то я могу и сам файл скинуть, в который нужно внести изменения. если не дорого, то могу и за денюжку
незнаю можно ли фильтровать расширения файлов при их добавлении, но однозначно нужно делать проверку на сервере попробуй: mime_content_type() правда эта функция не обезопасит твою систему на все сто
Code: <script type="text/javascript"> function check_file_1 () { str=document.form_1.file_name.value reg=/\.doc"?$/ result=reg.test(str) } </script> это для примера doc, обработка javascriptом если что стучи в асю помогу
юзай SWFupload - там и фильтр встроее и фотки если нужно заресайзить на стороне клиента тоже в путь) а если ручками стучи в асю помогу)
фильтр на стороне клиента это конечно круто... зачем так мозг мучать, лучше сразу написать логин и пароль он FTP и сказать в какую папку заливать, и попросить лить только .exe и .pdf не? этим постом я хотел сказать что надо на сервере проверять всё
а смысл тратить ресурсы сервера когда можно все сделать у клиента? можно и по FTP - но ни вижу смысла, да по нему удобно разграничивать доступ для пользователей на лить через него файлы на серв по моему мнению не оч удобно, и тратит больше ресурсов.
Dr.Coder не оправдал свой ник xD Проверка обязательно должна быть на стороне Сервера, и для юзабельности на стороне клиента посредством JS.
А решение простое - делаешь multipart форму. В массиве FILE[] есть вся инфа. Вытаскиваешь расширение, но через mime. Проверяешь через тот же strstr. Хотя, не совсем корректно. И готово. Идеально - через регулярки.
Искать сейчас не буду, не в моих интересах, но проверку по майм-типу можно обойти, если вас интересует сами погуглите на эту тему. Расширение файла получаеться так: PHP: echo end(explode('.',$_FILES['file']['name'])); В добавок проверка расширения должна осуществляться по белому листу а не блэк листу расширений. Тоесть разрешено загружать файлы .jpg, .gif а не так что создавать список в котором перечень запрещенных файлов типа .php,.php5,phtml и тд. я в шоке... даже не... я вахуе!
Соглашусь что поверка должна осуществляться на стороне сервера, но только проверка а не допустим резайзинг графики, если ресайзить средствами PHP то это займет больше ресурсов сервера т.к резайзить он будет уже на сервере. А скрипт который фильтрует файла естественно будет расположен на сервере, который уже дает команды SWF файлу. Не спорю если отрубить JS & Flash пипец сайту но мне лично такие пользователи не нужны))
открываешь файл upload.php там PHP: $allowedExt = array('jpg', 'jpeg', 'png', 'gif'); $maxFileSize = 8 * 1024 * 1024; //1 MB тут и редактируешь список файлов, через запятую. если нужен плагин для работы с графикой скажи выложу)
Вы извините, но я апну тему, чтоб дырявых сайтов поменьше было =\ >а смысл тратить ресурсы сервера когда можно все сделать у клиента? фильтр можно обойти и залить тебе .php файл, очевидно же >А решение простое - делаешь multipart форму. >В массиве FILE[] есть вся инфа. Вытаскиваешь расширение, но через mime. Проверяешь через тот же strstr. Хотя, не совсем корректно. И готово. Идеально - через регулярки. ага, ага, вот только одно НО - mime type в $_FILES передаёт клиент, передаём .php файл, указываем mime type = image/jpeg Вот вам пример https://forum.antichat.ru/thread229916.html Я всё сказал