powered by simpleCommunicator - 2.0.33     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Пересылка файла: web-форма->Perl->PostgreSQL
8 сообщений из 8, страница 1 из 1
Пересылка файла: web-форма->Perl->PostgreSQL
    #32077837
Denis Kolosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, помогите чайнику. Кто-нибудь знает, как сделать так, чтобы скрипт, обрабатывающий веб-форму, перелал в Postgre файл, то есть запихивал его в БД? Метод lo_import работает, но только если коннект идёт от имени пользователя SUPERUSER.
...
Рейтинг: 0 / 0
Пересылка файла: web-форма->Perl->PostgreSQL
    #32077845
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так понимаю ты говоришь об этой функции . Не вижу никаких проблем... У тебя к БД подключается не пользователь со своим паролем, а скрипт с паролем админа! Вот у него (скрипта) и есть права на все!
Как ты организовал подключение к БД из скрипта?
...
Рейтинг: 0 / 0
Пересылка файла: web-форма->Perl->PostgreSQL
    #32078244
Denis Kolosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так в том-то и дело, что если в скрипте подключаешься с логином и паролем админа, то всё работает. Но ведь это неправильно, чтобы скрипт "работал с админскими правами". У меня проблема, чтобы подключившись с логином обычного юзера вызвать функцию lo_import или lo_export. А Postgres на это ругается. Может, подскажешь другие варианты хранения файлов (в частности, фотографий) в этой СУБД?
...
Рейтинг: 0 / 0
Пересылка файла: web-форма->Perl->PostgreSQL
    #32078295
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь это неправильно, чтобы скрипт "работал с админскими правами".

А почему не правильно?! Ты боишься за свой скрипт или что?! Он-же проверенный и ошибок не понаделает! Или ты скрипт всегда запускаешь с правами пользователя зашедшего на сайт?
...
Рейтинг: 0 / 0
Пересылка файла: web-форма->Perl->PostgreSQL
    #32078454
Denis Kolosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ты слышал что-нибудь о безопасности? Админовские права я скрипту никогда не дам. И дело не в том, что скрипт работает без ошибок. А в том, что запуск CGI-программы на сервере пользователем уже потенциально опасен. А если скрипт будет ещё с админовскими правами, то это уже слишком. В общем, это не выход. Можешь что-нибудь ещё посоветовать?
...
Рейтинг: 0 / 0
Пересылка файла: web-форма->Perl->PostgreSQL
    #32078484
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно - уговорил!

Если ты хочешь делать только используя PostgreSQL то


Используя perl (Это с учетом, что человек файл закидывает через Browser):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 --- Создаем в форме поле для ввода файла
 
    print $query->filefield('uploaded_file','starting value', 50 , 80 );

 --- Вытаскиваем файл в переменную
 
    $filename = $query->param('uploaded_file');

 --- Заносим в базу
 


C харда в Perl понадобится вот это:
open
binmode
read
...
Рейтинг: 0 / 0
Пересылка файла: web-форма->Perl->PostgreSQL
    #32078535
Denis Kolosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ссылки.
Ты говоришь о том, чтобы перекинуть "С харда в Perl". Ты имеешь ввиду закачать файл на сервер? С этим у меня нет проблем. Я извиняюсь, возможно, я не понял. Но всё-таки ещё раз спрошу: в последнем предложенном тобой варианте файл где хранится-в базе или просто в каталоге на сервере? У меня сейчас так сделано, что он хранится в каталоге. А хотелось бы, чтобы файл сразу отправлялся в базу, используя OID.
Заранее благодарен за ответ.
...
Рейтинг: 0 / 0
Пересылка файла: web-форма->Perl->PostgreSQL
    #32078545
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом варианте файл пришел в запросе в переменной uploaded_file ну соответственно методом POST
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 --- Создаем в форме поле для ввода файла
 
    print $query->filefield('uploaded_file','starting value', 50 , 80 );

 --- Вытаскиваем файл в переменную
 
    $filename = $query->param('uploaded_file');

 --- Заносим в базу
 
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Пересылка файла: web-форма->Perl->PostgreSQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]