Лучший способ разрешить пользователям загружать файлы с моего сайта: http или ftp

У нас есть некоторые файлы на нашем сайте, которые пользователи нашего программного обеспечения могут скачать. Некоторые файлы находятся в виртуальных папках на веб-сайте, а другие-на нашем ftp. Файлы на ftp обычно доступны, нажав на ссылку ftp:// в браузере-большинство наших клиентов не имеют клиента ftp. Доступ к другим файлам осуществляется по ссылке http:// в браузере.

Должен ли я переместить все файлы в ftp? или это не имеет значения? В чем разница?

http   ftp   download    

526   5   15:28, 21st August, 2020


Авторизация через Вконтакте и безопасность

Многие веб-сайты сейчас дают возможность авторизовываться посредством других популярных веб-сервисов (Вконтакте, Фейсбук и т. п.)

Вопрос: если у человека угонят аккаунт Вконтакте, то и на тех сайтах, где он авторизовывался через Вконтакте, злоумышленник сможет творить, что угодно?

Я правильно рассуждаю?



Вопросы по использованию кода, опубликованного под лицензией GNU General Public License, version 2

Для своего проекта я взял вот этот код:

* FreeDOS32 Floppy Driver *
* by Salvo Isaja *
* *
* Copyright © 2003-2005, Salvatore Isaja *
* *
* This is "fdc.c" - Portable code for Floppy Disk Controller support *
* *
* This file is part of the FreeDOS32 Floppy Driver. *
* *
* The FreeDOS32 Floppy Driver is free software; you can redistribute *
* it and/or modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 of the *
* License, or (at your option) any later version. *
* *
* The FreeDOS32 Floppy Driver is distributed in the hope that it will *
* be useful, but WITHOUT ANY WARRANTY; without even the implied warranty *
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with the FreeDOS32 Floppy Driver; see the file COPYING.txt; *
* if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
* *
* ACKNLOWLEDGEMENT *
* This file is derived from fdc.c, floppy controller handler functions *
* Copyright © 1998 Fabian Nunez *
* You can download the original library from Cottontail OS Development *
* Library <www.0xfi.com/oslib/topx.html>, the file is FDC.ZIP *
* The author can be reached by email at: fabian@cs.uct.ac.za *
* or by airmail at: Fabian Nunez *
* 10 Eastbrooke *
* Highstead Road *
* Rondebosch 7700 *
* South Africa *
* Floppy formats and drive parameters table are from the Linux driver *
* linux/kernel/floppy.c *
* Copyright © 1991, 1992 Linus Torvalds *
* Copyright © 1993, 1994 Alain Knaff *


который опубликован под следующей лицензией: www.gnu.org/licenses/gpl-2.0.html

Результатом использования этого кода стал исполняемый модуль, который, по-идее, должен распространятся тоже под лицензией GPL V2.

С этим проблем нет — скрывать как бы нечего, но хотелось бы уточнить насчёт использования libc и файлов заголовков. Насколько внимательно перечитывал лицензию GPL v2, там не говорится, что результирующий код должен линковаться только с GPL библиотеками. Для этого и придумали GPL v3, который запрещает использование коммерческих библиотек.
Правильно?

Второй вопрос касается файлов заголовков. Собственно, как GPL v2 может помешать использовать в открытой программе коммерческие .h файлы?



Как запретить доступ по http к определённому адресу сайта?

Свой сервер FreeBSD, Apache, php.

Сайт открывается как по http, так и по https. Прикручен phpMyAdmin, вот отрывок из httpd.conf

Alias /myadmin &quot;/usr/local/www/sites/phpMyAdmin/&quot;<br/>
<br/>
&lt;Directory &quot;/usr/local/www/sites/phpMyAdmin/&quot;&gt;<br/>
 Options none<br/>
 AllowOverride Limit<br/>
<br/>
Order Deny,Allow<br/>
 Deny from all<br/>
 Allow from all<br/>



Заметил, что кто-то перебирает все популярные адреса, в надежде наткнуться на phpMyAdmin
error.log:<br/>
<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/phpmyadmin<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/phpMyAdmin<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/db<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/web<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/PMA<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/admin<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/mysql<br/>



И в результате он всё-таки натыкается на нужный адрес. Как наиболее просто (я пока новичёк в этих делах) обезопасить себя от таких переборов или хотя бы сделать их безуспешными?

Есть идея закрыть доступ по http к адресу mysite.ru/myadmin, что бы открывался только по https (без перенаправлений), но как это сделать тоже пока не знаю.

Как поступить посоветуете?

Заранее благодарю.

Apache   Информационная   безопасность    

422   7   15:11, 21st August, 2020


Прокрутка переполнена DIVs с JavaScript

У меня есть div, который использует overflow:auto, чтобы сохранить содержимое внутри div, когда оно изменяется и перетаскивается по странице. Я использую некоторые ajax для извлечения строк текста с сервера, а затем добавляю их в конец div, поэтому содержимое растет вниз. Каждый раз, когда это происходит, я хотел бы использовать JS-scroll div снизу, чтобы самый последний добавленный контент был виден, подобно тому, как будет работать чат или консоль командной строки.

До сих пор я использовал этот фрагмент кода, чтобы сделать это (я также использую jQuery, следовательно, функцию $() ):

$("#thediv").scrollTop = $("#thediv").scrollHeight;

Однако это дало мне противоречивые результаты. Иногда это работает, иногда нет, и он полностью перестает работать, если пользователь когда-либо изменяет размер div или перемещает панель scroll вручную.

Целевой браузер-это Firefox 3, и он развертывается в контролируемой среде, поэтому ему вообще не нужно работать в IE.

Есть идеи, ребята? Этот вопрос поставил меня в тупик. Спасибо!

javascript   jquery   ajax   html   scroll    

455   6   15:11, 21st August, 2020


Как решить проблему с одним шагом с помощью VS2008 SP1

Отладка в visual studio, похоже, была нарушена с помощью sp1. Одиночный шаг случайным образом не работает и просто начинает работать. Иногда точки останова игнорируются. Она непредсказуема и непригодна для использования. Он, как правило, попадает в первую точку разрыва, но после этого он совершенно непредсказуем.

Есть идеи, что нужно сделать, чтобы исправить это поведение ?

c#   visual-studio-2008-sp1    

437   3   15:03, 21st August, 2020


Чат на PHP: узкое место БД — как решить?

Есть задача организовать простой чат с веб-интерфейсом и полной историей на действующем сайте на самописном движке (PHP5.3.3/MySQL5.1). Гугление по существующим решениям ничего хорошего не дало, либо избыточно, либо производит ощущение «наколенной поделки» и чаще всего давно не поддерживается, да и хотелось бы иметь одну архитектуру и стиль кодирования. В общем принято решение реализовать самостоятельно. С кодированием особых проблем нет, прототип реализовали, но нагрузочное тестирование с разными вариантами индексов и таблиц показало, что при уже ~20 хостах «читателей» и одним «писателем» в секунду MySQL затыкается (VDS c 1Гб RAM, мускулу половина отдана, и 2ГГц проц, nginx+php-frpm под Debian) даже на денормализованной таблице, т. к. кэшированию средствами БД запросы не поддаются (фильтры у каждого «читателя» свои, ибо приват, фильтрация в серверном приложении вряд ли будет эффективней чем в БД, как мне кажется, а у клиента недопустима). А хотелось бы на этом «железе» хотя бы 40-50 держать помимо основной нагрузки. Что может помочь? Опыта «хайлоад» нет, возникли такие идеи:

— написать демона для чата на субдомене, чтобы читал в основном потоке из БД только при старте (последние N сообщений) или редких специфичных запросах, хранил их у себя в памяти процесса (убивая старые), а писал в БД только «логи» для следующего старта (тогда фильтрация будет эффективна, имхо, плюс её можно будет осуществлять опережающе и инкрементно, храня сами сообщения в едином пуле, а для каждого читателя добавлять в список ссылок на «его» сообщения при поступлении сообщения от «писателя» лично для него или публичного, и удалять их оттуда при прочтении)

— аналогичным образом задействовать мемкэш (хотя пока с трудом представляю как обеспечить целостность, до того только с файловыми кэшами работал, которые сами не «испаряются») для обычного PHP-обработчика (то есть чтобы куча воркеров имела доступ к общему пулу сообщений и инкрементным личным спискам ссылок на них между запросами)

— перевести чат на NoSQL СУБД (какую? главная задача эффективная фильтрация по паре полей последних записей, типа WHERE timestamp > {last_time} (или id>{last_id}) AND (recipient_id IS NULL OR recipient_id={user_id}) ORDER BY timestamp (или id) DESC LIMIT {max_records} )

Что стоит попробовать или ещё какие могут быть варианты? Демона писать не хочется, так как усложнит администрирование и сервера, и собственно чата (аналог IRC команд делать?), опыта работы с кэшем и NoSQL практически нет.

PHP   NoSQL   Базы   данных   Чаты   Memcached    

444   15   14:51, 21st August, 2020


SSRS-удаление пробной версии VS Business Intelligence

Я хочу знать, как полностью удалить MSSQL 2005 .

Я уже некоторое время использую пробную версию SQL Server Reporting Services. Моя компания, наконец, купила программное обеспечение у онлайн-дистрибьютора, и для поддержки Oracle нам нужно было обновить до MSSQL 2005 SP2. Во всяком случае, версия программного обеспечения "full" не будет установлена, поскольку она уже была установлена (похоже, установщик не распознает, что была установлена пробная версия). Поэтому я попытался удалить MSSQL 2005, и все, что связано (включая visual studio), я не могу его переустановить. Ошибка-это неопределенное сообщение об ошибке, и когда я нажимаю ссылку, чтобы получить дополнительную информацию, обычная ошибка "no information about this error was found".

Установка Microsoft SQL Server 2005

Произошел неожиданный сбой во время мастер установки. Вы можете просмотреть журналы установки и / или нажмите кнопку справка кнопка для получения дополнительной информации.

Для получения справки нажмите кнопку: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=setup.rll&EvtID=50000&EvtType=packageengine%5cinstallpackageaction.cpp%40InstallToolsAction.11%40sqls%3a%3aInstallPackageAction%3a%3aperform%400x643

BUTTONS:

OK

sql-server   visual-studio   reporting-services    

473   2   14:36, 21st August, 2020


Как заставить Pro*C справиться с #warning директивами?

Когда я пытаюсь предварительной компиляции *.файл pc, содержащий директиву #warning, я получаю следующую ошибку:

PCC-S-02014, столкнулся с символом "warning", когда ожидал одного из следующих действий: (бла-бла-бла).

Могу ли я каким-то образом убедить Pro*C игнорировать эту вещь, если она не знает, что с ней делать? Я не могу удалить директиву #warning , поскольку она используется в заголовочном файле, который я не могу изменить и должен включить.

c   oracle   oracle-pro-c    

430   6   14:32, 21st August, 2020


Сравнивая IEEE float и Double на равенство

Каков наилучший метод сравнения IEEE поплавков и двойников для равенства? Я слышал о нескольких методах, но мне хотелось узнать, что думает сообщество.

variables   floating-point   inequality    

496   15   14:32, 21st August, 2020