Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2019, 17:55   #1
Korshi
Пользователь
 
Регистрация: 30.04.2019
Сообщений: 44
По умолчанию С помощью какой api-функции можно узнать, открыт доступ к сетевой папке или нет?

Добрый день! С помощью какой api-функции можно узнать, открыт доступ к сетевой папке или нет?

Например, есть сетевая папка: //server/share folder/folder
С помощью какой api-функции можно узнать, открыт доступ к папке "folder" или нет?

Функция "PathFileExists" частично решает эту задачу: можно узнать, открыт доступ или нет, если обратиться к папке, файлу, который находится внутри папки "folder", а если в папке "folder" нет папки, файла с таким именем, то функция "PathFileExists" не сообщает о том, что доступ к папке "folder" закрыт.

Я пишу программу не на C, C++, поэтому не могу воспользоваться инструментами, которые встроены в C, C++.
Korshi вне форума Ответить с цитированием
Старый 02.05.2019, 22:32   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

А вам какой доступ надо? Читать, писать, удалять файлы?
Не парьтесь и просто делайте то, что вам нужно и следите за ошибками.
Если уж очень зудит, то права объекта получаются через GetNamedSecurityInfo()
waleri вне форума Ответить с цитированием
Старый 02.05.2019, 22:37   #3
Korshi
Пользователь
 
Регистрация: 30.04.2019
Сообщений: 44
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
А вам какой доступ надо? Читать, писать, удалять файлы?
Для любой задачи нужен доступ. У меня многогранная программа.
Korshi вне форума Ответить с цитированием
Старый 03.05.2019, 04:59   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Korshi Посмотреть сообщение
Для любой задачи нужен доступ.
так и используй CreateFile() - если вернёт ошибку, значит доступа нет
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 03.05.2019, 09:42   #5
Korshi
Пользователь
 
Регистрация: 30.04.2019
Сообщений: 44
По умолчанию

Вообще, логика функции "PathFileExists" нарушена.
Доступ к папке закрыт, а функция сообщает, что находится в этой папке.
То есть это получается дыра в безопасности.
Ведь юзер не может посмотреть содержимое папки, к которой закрыт доступ.

А мне простому программисту теперь приходится крутится.
Korshi вне форума Ответить с цитированием
Старый 03.05.2019, 10:20   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Korshi Посмотреть сообщение
логика функции "PathFileExists" нарушена.
Бред.
То, что у вас НЕТ доступа к файлу не значит, что у вас НЕТ доступа к папке. И, кстати, наоборот тоже - можно открывать файлы в папках, которые нельзя просмотреть.
waleri вне форума Ответить с цитированием
Старый 03.05.2019, 10:45   #7
Korshi
Пользователь
 
Регистрация: 30.04.2019
Сообщений: 44
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
можно открывать файлы в папках, которые нельзя просмотреть
Разве это нормально? Я закрываю доступ к папке, чтобы нельзя бы ничего делать с её содержимым, но можно сделать так, что можно что-то делать с её содержимым.
Это вообще-то называется "взлом".
Я закрываю квартиру, но в неё проникает человек. Это называется "кража" (или как там, я не знаю деталей).
Здесь не нужно быть программистом, чтобы увидеть, что что-то не то.
Korshi вне форума Ответить с цитированием
Старый 03.05.2019, 10:58   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Korshi Посмотреть сообщение
Разве это нормально?
Абсолютно.
Например это может помешать вам увидеть список файлов веб сервера, не мешая ему при этом работать.

Цитата:
Сообщение от Korshi Посмотреть сообщение
можно сделать так, что можно что-то делать с её содержимым.
Да, можно... но вас никто заставляет это делать. Хотите закрыть все - закрывайте, в чем проблема?
Цитата:
Сообщение от Korshi Посмотреть сообщение
Это вообще-то называется "взлом".
Бред.
waleri вне форума Ответить с цитированием
Старый 03.05.2019, 12:01   #9
Korshi
Пользователь
 
Регистрация: 30.04.2019
Сообщений: 44
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Хотите закрыть все - закрывайте, в чем проблема?
Я закрываю доступ к папке, но функция "PathFileExists" видит содержимое папки.
В этом проблема.
Korshi вне форума Ответить с цитированием
Старый 03.05.2019, 13:42   #10
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Korshi Посмотреть сообщение
Я закрываю доступ к папке
Значит а) неправильно закрываете или б) сетевая папка такого не умеет.
И вообще, вопрос был как проверить есть ли доступ, а теперь оказывается совсем другая проблема.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к сетевой папке строго из-под учетки WennY Windows 21 10.06.2017 17:11
Как в локальной сети одним пользователям разрешить доступ к сетевой папке, а другим запретить ? Антон 36 Помощь студентам 7 06.12.2016 15:59
организовать доступ к сетевой папке с файлами excel, для макроса selic Microsoft Office Excel 0 19.11.2013 11:09
С помощью какой функции можно узнать который сейчас час Djonik Общие вопросы Delphi 4 26.09.2009 14:07