vovksextra 0 Posted 2007-12-15 18:06:10 Share Posted 2007-12-15 18:06:10 Цель проекта была организовать рабочее место кассира (взамен конфигуратору) по пополнению счетов биллинговой системы stargazer при этом были выдвинуты ряд требований к проекту, а именно: 1. Защита 2. простота и удобство пользования 3. Организовать поиск абонента по адресу,фамилии,айпи. 4. ведение логов пополнения Реализация 1. Защита Администратор при помощи StgKassaAdmin.exe готовит файл авторизации где прописаны адрес сервера,порт сервера,логин администратора,пароль администратора, пароль пользователя и время действия ключа. После генерации файла он ложится вместе с StgKassa.exe Сам файл шифруется по паролю пользователя. При запуске StgKassa пользователь вводит свой пароль по этому же паролю происходит дешифрация файла авторизация и в расшифрованной структуре проверяется введенный пароль. Если он совпадает открывается основное окно для работы. Защита от взлома. Даже если выкинуть проверку на введенный пароль пользователя, то зашифрованными останутся все данные по серверу. 2. Простота и удобство Запустив программу - можно всторону убрать манипулятор типа "мышь" и в вашем расположении останутся только клавиши для перехода по полям (Shift+Tab,Enter) и клавиша ESc для закрытия окон, а также клавша F7 - зарегистрировання горячая клавиша в ОС, которая всегда вызывает окно поиска, даже если программа свернута в трей. 3. Поиск При нажатии клавиши F7 вызывается окно поиска где вы можете задать условие поиска Для поиска фамилии,например, Иванов Иван Иванович вы можете просто ввести "ов" или "ванов" , то-есть часть фамилии. Например, если вам нужно найти абонента Сидоров Иван Ивановича, проживающего на ул.ленина,34 вам будет достаточно ввести,например в поле фамилия "ров" , в поле адрес "лен" или "34" , если пользователь будет найден и он будет один, то окно поиска будет автоматически закрыто и в поле логин, появится его логин 4. После удачного пополнения в лог файл (StgKassa.log) пропишется информация о пополнении счета данному пользователю. Вот в общем и все версия 1.0.1.2 Берем здесь Принимаются критика,пожелания,моральная поддержка и материальная Для материально поддержки WMZ: Z339491627945 Пробуем и оставляем свои отзывы PS Отдельное спасибо коллективу сети http://komservice.net/ за оказанную поддержку и моральную и техническую. ЗАМЕЧАНИЕ ПО ИСПОЛЬЗОВАНИЮ настоятельно рекомендую проверить исходники сервера, а именно ищем модуль \projects\stargazer\plugins\configuration\sgconfig\parser.cpp Ищем текст void PARSER_GET_USER::CreateAnswer() { string s; char enc[1024]; user_iter u; //answerList->clear(); answerList->erase(answerList->begin(), answerList->end()); if (users->FindByName(login, &u)) { s = "<user result=\"error\"/>"; answerList->push_back(s); !!!!!!!!!! ЗДЕСЬ Должен быть return; } Если return не стоит можно его добавить самому и перекомпилировать Если вы случайно вызовите из 1С метод GetUser по несуществующему пользователю и return не стоит слет сервера вам гарантирован )) Link to post Share on other sites
Serjio 19 Posted 2007-12-15 19:00:12 Share Posted 2007-12-15 19:00:12 тест прошел успешно, ошибок нет. os Linux FC5 Stg 2.403b Link to post Share on other sites
vovksextra 0 Posted 2007-12-15 19:12:08 Author Share Posted 2007-12-15 19:12:08 ок.спс. )) Link to post Share on other sites
zulu_Radist 856 Posted 2007-12-16 05:53:26 Share Posted 2007-12-16 05:53:26 Это если я не исправлю парсер, то будет ошибка incorrect header при поиске данных юзера? Link to post Share on other sites
Max 0 Posted 2007-12-16 06:48:46 Share Posted 2007-12-16 06:48:46 на 13.47.20 тоже вроде работает Link to post Share on other sites
vovksextra 0 Posted 2007-12-16 10:11:34 Author Share Posted 2007-12-16 10:11:34 Это если я не исправлю парсер, то будет ошибка incorrect header при поиске данных юзера? Если вы попытаетесь сделать запрос по пользователю несуществующему - то просто слетает сервер биллинга incorrect header - это если у Вас стоит старая версия сервера Link to post Share on other sites
vop 370 Posted 2007-12-17 15:01:20 Share Posted 2007-12-17 15:01:20 Сам файл шифруется по паролю пользователя. При запуске StgKassa пользователь вводит свой пароль по этому же паролю происходит дешифрация файла авторизация и в расшифрованной структуре проверяется введенный пароль. Если он совпадает открывается основное окно для работы. Вот в этом месте не совсем понятна логика работы. Если пароль не правильный, то данные не смогут быть дешифрованы, т.е. и вроде проверять нечего... Зачем же тогда проверять пароль еще раз? Я слабо представляю ситуаию, что структура данных будет расскрыта, а пароль не сопадет... Link to post Share on other sites
vovksextra 0 Posted 2007-12-17 16:48:47 Author Share Posted 2007-12-17 16:48:47 Совершенно правильно. Если пароль будет введен не правильно то и буфер с данными будет расшифрован тоже не правильно. Но мне ведь нужно узнать правильно ли он расшифрован или нет. ))) PS Для расшифровки буфера вызывается процедура в которую передается адрес на входящий буфер и указывается длина буфера, а расшифровала ли она его правильно или нет нигде не видно. Link to post Share on other sites
madf 279 Posted 2007-12-17 16:49:59 Share Posted 2007-12-17 16:49:59 Сам файл шифруется по паролю пользователя. При запуске StgKassa пользователь вводит свой пароль по этому же паролю происходит дешифрация файла авторизация и в расшифрованной структуре проверяется введенный пароль. Если он совпадает открывается основное окно для работы. Вот в этом месте не совсем понятна логика работы. Если пароль не правильный, то данные не смогут быть дешифрованы, т.е. и вроде проверять нечего... Зачем же тогда проверять пароль еще раз? Я слабо представляю ситуаию, что структура данных будет расскрыта, а пароль не сопадет... Данные будут дешифрованны в любом случае. Простo при неверном пароле они будут дешифрованны неправильно и в структуре будет бред. Чтобы проверить правильность дешифровки достаточно проверить значение какого-нибуть поля. Например, пароля. Link to post Share on other sites
dnserg 6 Posted 2007-12-24 19:44:14 Share Posted 2007-12-24 19:44:14 Я этот вопрос решил с помошью пхп+ mysql + sgconfig . Возможности : 1. Сортировка по логину , адресу абонента. 2. Выводит абонов по группам 3. Пополнение счета очень просто и удобно, мартышка справится 4. Ведение логов пополнений каждым кассиром (кассир - админ в стг с соответствущими правами) 5. Показ суммы пополнений только за текущий день. 6. Показ финансовой статистике по месяцам и годам. 7. Возможность заморозки юзеров. Есть также страница статистики клиента(детальная статистика, сессии, перевод денег другому абону, изменение тарифа, краткие данные). Всем могу поделится , но это как и у Alferov а , без подержки, во всем придется самому разбираться и делать под себя. Сразу скажу написано кривовато. Архив с админкой и статой Картинка админки: Картинка страницы юзера : Архив с админкой и статой Link to post Share on other sites
ponomar 0 Posted 2007-12-25 10:42:13 Share Posted 2007-12-25 10:42:13 архив битый Link to post Share on other sites
dnserg 6 Posted 2007-12-25 14:42:30 Share Posted 2007-12-25 14:42:30 На другой сервак перезалил. Ссылки подправил. На тот хостинг заливаю норм архив, качаю битый, странно. Здесь тоже Link to post Share on other sites
Genius 0 Posted 2007-12-25 15:38:09 Share Posted 2007-12-25 15:38:09 vovksextra, очень удобный, быстрый и безопасный интерфейс, но есть несколько предложений: 1. При поиске выдавать список вариантов если их больше 1го, у нас например по одному адресу бывает несколько пользовательских логинов 2. Сделать поиск по части логина, так как часто они бывают достаточно сложные и непроизносимые на русском языке. Link to post Share on other sites
vovksextra 0 Posted 2007-12-25 18:14:05 Author Share Posted 2007-12-25 18:14:05 vovksextra, очень удобный, быстрый и безопасный интерфейс, но есть несколько предложений: 1. При поиске выдавать список вариантов если их больше 1го, у нас например по одному адресу бывает несколько пользовательских логинов 2. Сделать поиск по части логина, так как часто они бывают достаточно сложные и непроизносимые на русском языке. Выложил в шапке Версия 1.0.1.1 -Добавлен поиск по логину -Если при выборке обнаружен один пользователь то сразу выбирается информация по нему Насчет списка - сделать не сложно, но идея программы была от него избавиться. Link to post Share on other sites
Genius 0 Posted 2007-12-25 18:24:03 Share Posted 2007-12-25 18:24:03 Может быть сделать что нить по типу выпадающего списка как при поиске в гугле? То есть после ввода например адреса по которому есть несколько логинов они появляются выпадающим списком и можно легко и без мышки их выбрать. Для удобства делать так только при достаточных условиях для поиска, например если отфильтровалось не более 5 пользователей. Link to post Share on other sites
vovksextra 0 Posted 2007-12-25 18:31:11 Author Share Posted 2007-12-25 18:31:11 Я подумаю как можно это реализовать Link to post Share on other sites
den68 0 Posted 2008-01-02 18:04:43 Share Posted 2008-01-02 18:04:43 Если бы была возможностьпривязвть к этому софту протокол купюроприемника (по РС-232) - получился бы класный терминал для платежей. Если есть желание, могу помочь документацией, тестами и т.д. Link to post Share on other sites
vovksextra 0 Posted 2008-01-03 09:53:19 Author Share Posted 2008-01-03 09:53:19 Я не против - но при отсутствии самого "девайса" будет невозможно что либо писать )) Link to post Share on other sites
den68 0 Posted 2008-01-03 18:15:28 Share Posted 2008-01-03 18:15:28 Я не против - но при отсутствии самого "девайса" будет невозможно что либо писать )) Давай я тебе пришлю, или оплачу. надо прикинуть что дешевле. по любому есть куча софта и описание протокола, смотреть в поисковиках сторону U70 - кешприемник. Bill Validator ICT U70 Link to post Share on other sites
vovksextra 0 Posted 2008-01-04 08:11:14 Author Share Posted 2008-01-04 08:11:14 Прочитал немного - тема интересная Создай новую тему. Обзови ее "терминалы по приему платежей" или что нить похожее. И там будем вести все обсуждения. Реализация программной и аппаратной части. Нужно определиться что в итоге мы хотим получить. Как все правильно организовать. На каком уровне все будет вестись. Ведь возникает очень много вопросов. Вообщем поднимай тему, а там решим что нам нужно ))) Link to post Share on other sites
Bungee 0 Posted 2008-01-06 12:39:14 Share Posted 2008-01-06 12:39:14 Прочитал немного - тема интересная Создай новую тему. Обзови ее "терминалы по приему платежей" или что нить похожее. И там будем вести все обсуждения. Реализация программной и аппаратной части. Нужно определиться что в итоге мы хотим получить. Как все правильно организовать. На каком уровне все будет вестись. Ведь возникает очень много вопросов. Вообщем поднимай тему, а там решим что нам нужно ))) Как на счет добовление поля телефонов? Link to post Share on other sites
vovksextra 0 Posted 2008-01-06 14:30:17 Author Share Posted 2008-01-06 14:30:17 Забирай из "шапки" Версия 1.0.1.2 -Добавлен вывод номера телефона Link to post Share on other sites
Genius 0 Posted 2008-01-06 16:19:11 Share Posted 2008-01-06 16:19:11 Судя по возросшему числу просьб о добавлении тех или иных полей есть одно предложение: В каждой сети есть свои особенности, кто то определяет абонентов по полям типа адрес и фамилия, кто то по комментарию (номер договора в нем) и так далее, поэтому может быть стоит рассмотреть вариант включения гибкого числа полей. Какие именно поля включать кассиру будет задавать его ключ, таким образом каждый сможет выбирать нужный набор для нужного кассира и для своей ситуации. Link to post Share on other sites
den68 0 Posted 2008-01-20 19:59:27 Share Posted 2008-01-20 19:59:27 to vovksextra: Ты куда пропал ? или интерес к развитию темы закончился ? Кстати, можно в АПМ кассира встроить/интегрировать протокол работы с кассой, например ШТРИХ-М ? Драйвера, мануалы, dll, ActiveX - все присутствует. http://www.shtrih-m.ru/downloads/show_prod_77.html Link to post Share on other sites
vovksextra 0 Posted 2008-01-21 06:54:29 Author Share Posted 2008-01-21 06:54:29 Почему пропал? Я отписал тебе письмо на мыло. Пока без ответа )) Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now