Настройки по избор
From LimeSurvey Manual
Следващият раздел е предназначен за тези от вас, които искат да редактират настройки на конфигурацията, които не могат да бъдат променени с помощта на GUI (графичния потребителски интерфейс) на инсталацията на LimeSurvey. Моля, имайте предвид, че всички промени в основната директория на LimeSurvey се извършват на ваш собствен риск. Независимо от това, ако имате проблеми или се нуждаете от допълнителни насоки, присъединете се към дискусионните форуми, за да получите помощ от общността на LimeSurvey.
Въведение
За да промените конфигурационните настройки на инсталацията, трябва да редактирате незадължителните настройки. Те могат да бъдат намерени в /application/config/config-defaults.php, който се намира в основната директория на LimeSurvey. Настройките по подразбиране на стандартната инсталация могат да бъдат намерени в config-defaults.php. Някои от тях могат да бъдат отменени чрез диалога глобални настройки, докато другите ще трябва да бъдат редактирани ръчно.
Когато се извърши надграждане, се променят само настройките на config-defaults.php. Следователно редактирането на файла config.php ще запази вашите персонализирани настройки.
За да актуализирате/добавите настройките на LimeSurvey в /application/config/config.php', трябва да актуализирате конфигурационния масив:
!Н! 'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'Нова стойност', // Актуализиране на конфигурацията на LimeSurvey по подразбиране тук
)!Н!
Yii настройки
LimeSurvey използва рамката Yii, която има свои собствени конфигурационни параметри във файла application/config/internal.php' и application/config/'config.php'. Можете също да получите достъп до някои специфични конфигурационни настройки на LimeSurvey чрез конфигурацията на Yii.
Тъй като масивът config.php е обединен с цялата конфигурация, можете да замените всички Yii параметри във файла config.php.
Специфичните настройки на Yii са зададени в масива на компонентите:
!Н! 'components' => array(
'db' => array(
....
),
'Специфични настройки'=>array(
....
),
),
Настройки на базата данни
Настройките на базата данни се записват в config.php от инсталационния файл, когато инсталирате LimeSurvey за първи път. Ако е необходимо, можете да актуализирате тази част от файла config.php. Моля, не забравяйте, че правите това на свой собствен риск!
Вижте също Yii документация и моля не забравяйте, че LimeSurvey поддържа само следните типове бази данни: mysql, pgsql, dblib, mssql и sqlsrv.
Настройки на сесията
Можете да зададете някои параметри на сесията в config.php (проверете двата примера отдолу). Можете да разкоментирате/добавите необходимата част в config.php. Вижте Yii документация за други настройки.
Използвайте сесии, базирани на таблици
LimeSurvey може да използва сесии, базирани на таблици, намирате коментирана част в генерирания файл по подразбиране config.php. За да използвате сесия, базирана на таблици, премахнете // преди всеки ред.
'session' => масив (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions} }',
),
Актуализация на други сесии
Ако използвате SSL ('https') за вашата инсталация на LimeSurvey, добавянето на следните редове към вашия config.php ще увеличи сигурността на сесията:
// Задайте бисквитката чрез SSL
'session' => array (
'cookieParams' => array(
'secure' => true, // използва SSL за бисквитки
'httponly' => true // Бисквитките не могат да се използват от други протоколи - експериментални
),
),
Ако искате да коригирате домейна за бисквитка, използвайте следния синтаксис в config.php:
// Задайте домейна за cookie
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
Всеки екземпляр на LimeSurvey на един и същ домейн се нуждае от собствено име на сесията. В противен случай влизането в един екземпляр ви извежда от другия. Инсталаторът задава случайно име на сесията в config.php. Ако сте копирали config.php от друг екземпляр или вашият config.php е от версия, по-стара от LimeSurvey 4.0, добавете или променете реда sessionName в съществуващата секция session и използвайте различна стойност за всеки екземпляр:
// Set the name of the session
'session' => array (
'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
),
Настройки на заявката
Настройките на заявката са важни, но настройките по подразбиране вече са оптимизирани за използване на LimeSurvey. За да прочетете повече за тях, вижте Yii документация.
Например, конфигурацията на настройките на заявката на LimeSurvey може да бъде променена по следния начин (на ваш собствен риск) :
// Деактивирайте CSRF защитата
'request' => array(
'enableCsrfValidation'=>false,
),
// Налагане на определена URL база
'request' => array(
'hostInfo' => 'http://www.example.org/'
),
// Задайте името на домейна и пътя на бисквитката за CSRF защита
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
Ако трябва да актуализирате само URL адреса за токен имейли, задайте publicurl във вашия файл config.php.
Разрешаване на използването на сесия и CSRF валидиране в iFrame
След като разрешите вграждане на Iframe, трябва да актуализирате част от конфигурацията. Внимание, дори и с всички настройки: разрешаването на формуляр в iframe може да се повреди в някои браузъри. Тези настройки бяха тествани с Firefox 81.0.2 и Chromium 85.0.4183.121.
Разрешаване на стартиране на сесия в iframe
Бисквитката на сесията трябва да е защитена (изисква валидна HTTPS връзка) и httponly, а samesite трябва да бъде зададено на None. Ключовете в cookieParams трябва да се пишат изцяло с малки букви.
'session' => array (
'sessionName'=>'LS-VBXZZORFJZCAKGYI',
// Разкоментирайте следните редове, ако имате нужда от базирани на таблици сесии.
// Забележка: Базираните на таблици сесии са в момента не се поддържа на MSSQL сървър.
// 'class' => 'application.core.web.DbHttpSession',
// 'connectionID' => 'db',
// 'sessionTableName' = > '{{sessions}}',
'cookieParams' => array(
'secure' => true,
'httponly' => true,
'samesite' => 'Няма' ,
),
),
Разрешаване на csrf бисквитка в iframe
Както при бисквитката на сесията, CSRF бисквитката трябва да е защитена, а sameSite трябва да бъде зададено на None. Обърнете внимание, че тук ключът се пише sameSite. Добавете целия масив request на същото ниво като session.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
URL настройки
За да промените настройките на URL по подразбиране, актуализирайте urlManager:
// Използвайте кратък URL
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
),
Можете също така да добавите .html след идентификатора на анкетата по следния начин:
// Използвайте кратък URL
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array (
'<sid:\d+> ' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => false,
),
За повече информация проверете Yii документация.
Настройки за регистриране
Yii предоставя различни решения за генериране на регистрационни файлове. За да научите повече за тях, проверете специална тема за регистриране. LimeSurvey използва '1' или '2' по подразбиране, което позволява на всеки уеб потребител да види регистрационните файлове. Можете да създадете свои собствени настройки, като използвате директно Yii.
Например, бързо решение за регистриране на грешки и предупреждения във файлове е:
return array(
'components' => array(
/* Друг компонент тук 'db' например */
'log' => array(
'routes' => array(
'fileError' => array(
'class' => 'CFileLogRoute',
'levels' => 'предупреждение, грешка',
'except' => 'exception.CHttpException .404',
),
),
),
/* Друг компонент тук 'urlManager' например */
),
/* Финална част (с ' runtimePath' 'config' например) */
);
application.controller.customInit.max_execution_time и application.controller.customInit.memory_limit се използват за регистриране на опити за промяна на настройките на PHP.
Ако знаете за тези съобщения в регистъра и искате да ги изключите от него, можете да добавите тези категории към опцията except в конфигурацията на вашия log route, както е показано по-долу:
'except' => [
'exception.CHttpException.404',
'application.controller.customInit.max_execution_time',
'application.controller.customInit.memory_limit',
],
limesurvey/tmp/runtime/application.log, който се намира в основната папка на LimeSurvey. Можете да зададете друго име на файла чрез logFile..
Път на изпълнение
Пътят по време на изпълнение трябва да бъде четлива и записвана директория за „уеб потребителя“. Пътят по време на изпълнение обаче съдържа файлове с потенциална информация за сигурност, които се намират в зоната за публичен уеб достъп. LimeSurvey събира тези файлове във временната директория на основната директория на LimeSurvey. За да елиминирате достъпа до такива важни данни, можете да зададете пътя на изпълнение извън публичния уеб достъп, като редактирате съответните редове във файла /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Общи настройки
- 'sitename: Дава име на вашия сайт за проучване. Това име ще се появи в прегледа на списъка с анкети и в административния колонтитул. Стойността по подразбиране е „LimeSurvey“ и може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
- 'siteadminemail:' Това е имейл адресът по подразбиране на администратора на сайта и се използва за системни съобщения и опции за контакт. Тази настройка се използва само като стойност по подразбиране и може да бъде заменена в диалоговия прозорец глобални настройки.
- 'siteadminbounce:' Това е имейл адресът, на който ще се изпращат върнатите имейли. Тази настройка се използва само като стойност по подразбиране и може да бъде заменена от диалоговия прозорец глобални настройки.
- siteadminname:'' Истинското име на администратора на сайта. Тази настройка се използва само като стойност по подразбиране и може да бъде заменена в диалоговия прозорец глобални настройки.
- 'proxy_host_name:' Това е името на хоста на вашия прокси сървър (има да бъде споменат, ако сте зад прокси и искате да актуализирате LimeSurvey с помощта на ComfortUpdate).
- 'proxy_host_port:' Това е портът на вашия прокси сървър (трябва да бъде споменати, ако сте зад прокси и искате да актуализирате LimeSurvey с помощта на ComfortUpdate).
Сигурност
- maxLoginAttempt: Това е броят опити, които потребителят трябва да въведе правилната парола, преди той или тя да блокира/заключи своя IP адрес. Стойността по подразбиране е 3 и може да бъде променена от config.php.
- timeOutTime: Ако потребителят въведе неправилна парола за<maxLoginAttempt> , тя или той се заключва за<timeOutTime> секунди. Стойността по подразбиране е 10 минути и може да бъде променена от config.php.
- maxLoginAttemptParticipants: Това е броят опити, които участникът трябва да въведе валиден токен, преди той или тя да получи своя IP адресът е блокиран/заключен. Стойността по подразбиране е 3 и може да бъде променена от config.php.
- timeOutParticipants: Ако участникът въведе токена неправилно за<maxLoginAttemptParticipants> , тя или той се заключва за<timeOutParticipants> секунди. Стойността по подразбиране е 10 минути и може да бъде променена от config.php.
- surveyPreview_require_Auth: Задайте true по подразбиране. Ако зададете това на 'false', всяко лице може да тества вашата анкета, като използва URL адреса на анкетата, без да влиза в административния панел и без да е необходимо първо да активира анкетата. Тази настройка е стойност по подразбиране и може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
- usercontrolSameGroupPolicy: Зададена на true по подразбиране. По подразбиране потребители, които не са администратори, дефинирани в интерфейса за управление на LimeSurvey, ще могат да виждат само създадени от тях потребители или потребители, които принадлежат към поне една и съща група. Стойността по подразбиране може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
- filterxsshtml:'' Тази настройка позволява филтрирането на подозрителни html тагове, намиращи се в анкети, групи и текстове за въпроси и отговори в административния интерфейс. Оставете това на 'false' само ако имате абсолютно доверие на потребителите, които сте създали за администриране на LimeSurvey и ако искате да позволите на тези потребители да могат да използват Javascript, Flash филми и т.н. Супер администраторите никога не филтрират HTML . Стойността по подразбиране може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
- 'demoMode:' Ако тази опция е зададена на 'true' в config.php , тогава LimeSurvey ще премине в демо режим. Демонстрационният режим променя следните неща:
- Деактивира данните на администраторския потребител и промяната на паролата;
- Деактивира качването на файлове в редактора на шаблони;
- Деактивира изпращането на имейл покани и напомняния;!N !** Деактивира създаването на дъмп на база данни;
- Деактивира възможността за промяна на следните глобални настройки: име на сайта, език по подразбиране, режим на HTML редактор по подразбиране, XSS филтър.
- ''forcedsuperadmin:' Масив от потребителски идентификатор с всички права върху всички LimeSurvey. Тези настройки могат да се актуализират само във файла config.php. Правата на този потребител не могат да се редактират в глобални разрешения за потребител дори от друг принуден супер администратор. По подразбиране: потребител с тези права е потребител с id: 1. Първият потребител, създаден точно след инсталацията.
- force_ssl:' принуждава LimeSurvey да работи през HTTPS или да блокира HTTPS. Вижте Force HTTPS в GUI за администриране на глобални настройки.
- ssl_emergency_override:' Тази настройка принудително изключва SSL. Ако сте включили HTTPS/SSL в глобалните настройки, но вашият сървър не е активирал HTTPS, единственият начин да го изключите е като промените директно стойност в базата данни. Това ви позволява принудително да изключите HTTPS, докато променяте глобалните настройки за Force Secure. Това винаги трябва да е false, освен в спешни случаи, когато го промените на true, докато не отстраните проблема. Тази настройка може да бъде зададена само чрез файла config.php.
- ssl_disable_alert:' Деактивирайте известието за супер-администратор за непринуден SSL, ако наистина не можете или не искате да принудите ssl. Тази настройка може да бъде зададена само чрез файла config.php.
Защита от cross-site scripting (XSS)
LimeSurvey не позволява никакви потребителски скриптове в административната страница. Ако откриете начин някой потребител да добави XSS скрипт в административната страница, моля, прегледайте нашата политика за сигурност.
Скриптовете на публичните страници се управляват от настройките на XSS филтъра.
- filterxsshtml: Тази настройка включва филтрирането на подозрителни HTML тагове в текстовете на проучвания, групи, въпроси и отговори в административния интерфейс. Оставете я на 'false' само ако се доверявате напълно на потребителите, които сте създали за администрирането на LimeSurvey, и искате да им позволите да използват Javascript, Flash филми и т.н. HTML кодът на супер администраторите никога не се филтрира. Стойността по подразбиране може да бъде заменена в диалоговия прозорец глобални настройки.
- filterxsshtml_forcedall: Принудително задава
filterxsshtmlна true за всички потребители и забранява промените в административния GUI. Включва филтрирането на подозрителни HTML тагове и за супер администратора. - filterxsshtml_allowforcedsuperadmin: Използва се само ако
filterxsshtml_forcedallе true. Позволява добавянето на произволен скрипт и HTML отforcedsuperadmin(по подразбиране администраторът с номер 1). - disablescriptwithxss: Позволява промяна на скрипта във въпрос: по подразбиране е true и следва XSS правилата; задайте false, за да е разрешено за всички потребители. Стойността по подразбиране може да бъде заменена в диалоговия прозорец глобални настройки.
- filterxsshtml_enablescript: Използва се само ако filterxsshtml_forcedall е true. Включва скрипта на въпроса за конкретен потребител:
gui: позволява промяна на настройката през GUI;superadmin: само супер администратор;forcedsuperadmin: само forced superadmin; по подразбиране: никой потребител и без промяна през GUI
Разрешено качване на файлове
- allowedthemeimageformats : Типове файлове с изображения, разрешени за качване в раздела за теми. По подразбиране SVG файловете са забранени заради потенциална XSS атака.
- allowedthemeuploads : Други типове файлове, разрешени за качване в раздела за теми (zip файл)
- allowedresourcesuploads : Типове файлове, разрешени за качване в раздела за ресурси и чрез HTML редактора
- allowedpluginuploads : Тип файл, разрешен при качване на zip файл на допълнителен модул.
Просто въведете низ от разширения, разделени със запетаи. Например:
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
Предупреждение: Винаги бъдете внимателни, когато разрешавате качване на файлове. Възможни са злонамерени действия.
Допълнителни модули
- usePluginWhitelist : Ако е true, допълнителните модули, които не са в списъка с разрешени (вж. 'pluginWhitelist'), не могат да бъдат инсталирани или заредени. Това може да деактивира вече инсталирани допълнителни модули.
- pluginWhitelist : Списък с имена на допълнителни модули, разрешени за инсталиране и зареждане, когато 'usePluginWhitelist' е true. Основните модули са неявно разрешени.
- corePluginBlacklist : Списък с имена на основни модули, които са забранени, когато 'usePluginWhitelist' е true.
- disablePluginUpload : Когато тази настройка е true, функцията „Качване на допълнителен модул“ е деактивирана
Контрол на хоста
- allowedHosts : за да избегнете Host Header Injection, можете да зададете разрешения хост за всички действия. Ако използвате различни хостове за публичната и административната страница, трябва да зададете и двата като разрешени хостове.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
Ресурси
- iSessionExpirationTime: Определя времето в секунди, след което сесията на проучването изтича. Прилага се само ако използвате сесии в базата данни. Ако използвате сесии в базата данни, променете параметъра в config.php или заменете стойността по подразбиране от диалоговия прозорец глобални настройки.
- memory_limit: Определя колко памет може да използва LimeSurvey, в мегабайти. Стойността по подразбиране е '256'. Ако получавате грешки за изтичане на времето или имате проблеми при генерирането на статистика или експортирането на файлове, увеличете този лимит на '512' или повече. Ако вашият уеб сървър има зададен по-висок лимит в php.ini, тази настройка ще бъде игнорирана.
За да увеличите лимита на паметта до 128M, можете също да опитате да добавите:
- memory_limit = 128M към главния php.ini файл на вашия сървър (препоръчва се, ако имате достъп)
- memory_limit = 128M към php.ini файл в коренът на LimeSurvey
- php_value memory_limit 128M във файл .htaccess в корена на LimeSurvey
- 'max_execution_time:' Задайте броя секунди, в които е разрешено да се изпълнява скрипт. Ако това се достигне, скриптът връща фатална грешка. За да му бъде позволено да експортира данни и статистика от големи проучвания, LimeSurvey се опитва да го зададе по подразбиране на 1200 секунди. Можете да зададете по-голямо или по-ниско време, ако е необходимо. Достъпно само чрез php конфигурационен файл.
Appearance
- 'dropdownthreshold (Obsolete since 2.50): Когато "R" е избрано за
$dropdowns, администраторът има право да зададе максимален брой опции, които ще се показват като радио бутони , преди да конвертирате обратно в падащ списък. Ако има въпрос, който има голям брой опции, показването на всички наведнъж като радио бутони може да изглежда тромаво и може да стане контраинтуитивно за потребителите. Задаването на това на максимум, да речем, 25 (което е по подразбиране) означава, че големите списъци са по-лесни за използване от администраторите за участника в проучването. - 'repeatheadings:' С типа въпрос Array, често ще имате много подвъпроси, които - когато се показват на екрана - заемат повече от една страница. Тази настройка ви позволява да решите колко подвъпроси да бъдат показани, преди да повторите информацията в заглавието на въпроса. Добра настройка за това е около 15. Ако изобщо не искате заглавията да се повтарят, задайте това на 0. Тази настройка се отменя в диалоговия прозорец глобални настройки (New in 2.05 ) .
- 'minrepeatheadings: Минималният брой оставащи подвъпроси, които са необходими, преди да се повторят заглавията във въпросите за масива. Стойността по подразбиране е 3 и може да се редактира в config.php.
- defaulttemplate: Тази настройка определя темата по подразбиране, използвана за 'публичния списък' с анкети. Тази настройка може да бъде заменена в глобални настройки или редактирана в config.php.
- 'defaulthtmleditormode:' Задава режима по подразбиране за интегрирания HTML редактор. Тази настройка може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php. Валидните настройки са:
- 'inline' - Вградена замяна на полета от HTML редактор. Бавен, но удобен и лесен за използване;
- „изскачащ прозорец“ – Добавя икона, която стартира HTML редактора в изскачащ прозорец, ако е необходимо. По-бързо, но HTML кодът се показва във формуляра;
- 'няма'- Няма HTML редактор;
- 'column_style:' Определя как се изобразяват колоните за отговорите на анкетата, когато се използва показване_колони. Може да се редактира във файла config.php. Валидните настройки са:
- 'css' - използва един от различните CSS методи за създаване на колони (вижте таблицата със стилове на шаблона за подробности);
- 'ul' - колоните се изобразяват като множество плаващи неподредени списъци (по подразбиране);
- 'table' - използва оформление, базирано на конвенционални таблици;
- NULL - забранява използването на колони.
Език и време
- defaultlang: Това трябва да бъде зададено на езика по подразбиране, който да се използва във вашите административни скриптове, както и настройката по подразбиране за език в списъка с обществени проучвания. Тази настройка може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
- timeadjust:'' Ако вашият уеб сървър е в различна часова зона от мястото, където вашите анкети ще се базират, поставете разликата между вашия сървър и вашата домашна часова зона тук. Например, живея в Австралия, но използвам американски уеб сървър. Уеб сървърът е 14 часа зад моята местна часова зона. Така че моята настройка тук е "14". С други думи, той добавя 14 часа към времето на уеб сървърите. Тази настройка е особено важна, когато анкетите отбелязват отговорите във времето. Тази настройка може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
Поведение на анкетата
- 'deletenonvalues: Използвайте тази функция с повишено внимание. По подразбиране (стойност 1) неподходящите въпроси са NULL в базата данни. Това гарантира, че данните във вашата база данни са вътрешно съгласувани. Въпреки това, има редки случаи, в които може да искате да задържите неподходящи стойности, в който случай можете да зададете стойността на 0. Например, вие питате човек от мъжки пол за пола му и той случайно казва „жена“ и след това отговаря някаква жена - специфични въпроси (въпроси, които са обусловени от женски пол, така че са подходящи само за жени). След това той осъзнава грешката си, прави резервно копие, задава пола на „мъжки“ и продължава с анкетата. Сега специфичните за жените въпроси са без значение. Ако
$deletenonvalues==1, тези неподходящи стойности ще бъдат изчистени (NULLed) в базата данни. Ако$deletenonvalues==0, неговите грешни отговори няма да бъдат изтрити, така че те все още ще присъстват в базата данни, когато я анализирате. - shownoanswer: Когато бутон за избор/изберете тип въпрос, който съдържа отговори с възможност за редактиране (т.е.: Списък, въпроси с масив) не е задължителен и 'shownoanswer' е зададено на 1, допълнителен 'Без отговор' се показва запис - така че участниците да могат да изберат да не отговарят на въпроса. Някои хора предпочитат това да не е налично. Тази настройка може да бъде заменена от диалоговия прозорец глобални настройки или редактирана в config.php. Валидни стойности са:
- '0': No;
- '1': Да;
- '2': Администраторът на анкетата може да избира.
- printanswershonorsconditions: Тази настройка определя дали функцията printanswers ще показва записи от въпроси, които са били скрити от разклоняване на условия (По подразбиране: 1 = скриване на отговорите от въпроси, скрити от условия).
- ' hide_groupdescr_allinone:' Тази настройка е подходяща за проучвания "всичко в едно", използващи условия. Когато това е зададено на „вярно“, името и описанието на групата са скрити, ако всички въпроси в групата са скрити. Стойността по подразбиране е 'true' - скрива името и описанието на групата, когато всички въпроси в групата са скрити от условия. Може да се редактира в config.php.
- showpopups: Показване на изскачащи съобщения, ако на задължителни или условни въпроси не е отговорено правилно:
- '2' = определено от опцията за тема (по подразбиране )
- '1'= показване на изскачащо съобщение;
- '0'= вместо това показва съобщение на страницата;
- '-1'= изобщо не показва съобщението (в този случай , потребителите ще продължат да виждат съветите за конкретни въпроси, показващи на кои въпроси трябва да се отговори).
Поведение тип числов въпрос
- bFixNumAuto: Числовите полета могат да бъдат автоматично филтрирани, за да се премахнат всички нечислови стойности. По подразбиране това е активирано, можете да го деактивирате глобално. Тези настройки са свързани с „Автоматично коригиране на числова стойност“ в основните опции на темата. Беше разрешено за „Да“, деактивирано за „Само за израз“ и „Не“.
- bNumRealValue:' Числовите полета, използвани в диспечера на изрази, могат да бъдат фиксирани или не. Това е фиксирано по подразбиране. Ако NUMERIC е числов въпрос: деактивирайте или 0: {NUMERIC} с лоши символи изпратете '' , активиране или 1 : {NUMERIC} изпраща всички въведени знаци. Тези настройки са свързани с „Автоматично коригиране на числова стойност“ в основните опции на темата. Беше активиран за „Да“ и „Само за изразяване“ и деактивиран за „Не“.
Разработване и отстраняване на грешки
- debug: С тази настройка задавате отчитането на PHP грешки на E_ALL. Това означава, че се показва всяка малка бележка, предупреждение или грешка, свързана със скрипта. Тази настройка трябва да се превключва на '1' само ако по някаква причина се опитвате да отстраните грешки в приложението. Ако сте разработчик, превключете на '2'. Не го превключвайте на '1' или '2' в производствена среда, тъй като това може да доведе до разкриване на пътя. Стойността по подразбиране е '0' и може да се редактира в config.php.
- debugsql: Активирайте тази настройка, ако искате да показвате в долната част на всяка страница всички SQL заявки, изпълнени от скрипта. Много полезно за оптимизиране на броя на заявките. За да я активирате, променете стойността по подразбиране на '1' във файла config.php.
- use_asset_manager: По подразбиране режимът за отстраняване на грешки деактивира диспечера на активи (asset manager). Можете да разрешите използването на диспечера на активи при включен режим за отстраняване на грешки.
- rpc_log: (New in 7.9.0 ) Задайте го на
true, за да се записва вtmp/runtime/remotecontrol.logвсяко извикване на RemoteControl. Всеки ред съдържа извикания метод, неговите параметри, IP адреса на клиента, продължителността и началото на отговора. Паролите се премахват, ключовете на сесиите се заменят с кратък хеш, а дългите стойности се съкращават. Журналът все пак съдържа изпратените и получените данни за проучването, участниците и отговорите, затова го включвайте само докато търсите проблем. Стойността по подразбиране еfalse.
В случай, че срещнете грешка в приложението, силно препоръчваме да активирате настройката за отстраняване на грешки, за да получите по-подробна грешка, която можете да изпратите с доклада за грешка:
!Н! 'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Ако работите върху плъгин и се нуждаете от бърз начин за изхвърляне на променливи на екрана: можете да използвате функцията traceVar. Ако е зададено отстраняване на грешки: тази функция използва CWebLogRoute, за да бъде показана на HTML страница. Използване traceVar($MyVariable)
Настройки за имейл
Всички настройки по-долу могат да бъдат заменени в диалоговия прозорец глобални настройки.
- 'emailmethod: Определя как се изпращат имейл съобщенията. Налични са следните опции:
- 'mail:' използва вътрешния PHP mailer;
- 'sendmail:' използва sendmail mailer;
- 'smtp:' използва SMTP препредаване. Използвайте тази настройка, когато стартирате LimeSurvey на хост, който не е вашият пощенски сървър.
- 'emailsmtphost: Ако използвате 'smtp' като
$emailmethod, трябва да зададете тук вашия SMTP сървър. Ако използвате Google Mail, може да се наложи да добавите номера на порта, например $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Ако вашият SMTP сървър изисква удостоверяване, задайте тук потребителското си име, в противен случай трябва да е празно.
- emailsmtppassword: Ако вашият SMTP сървър изисква удостоверяване, задайте тук паролата си, в противен случай трябва да е празно.
- emailsmtpssl: Задайте 'ssl' или 'tls', за да използвате SSL/TLS за SMTP връзката.
- maxemails: При изпращане на покани или напомняния до участниците в проучването тази настройка определя колко имейла могат да бъдат изпратени наведнъж. Различните уеб сървъри имат различен капацитет за имейли и ако скриптът ви отнема твърде много време, за да изпрати група имейли, може да изтече времето му и да възникнат грешки. Повечето уеб сървъри могат да изпратят 100 имейла наведнъж в рамките на ограничението по подразбиране от 30 секунди за PHP скрипт. Ако получавате грешки за изтекло време на скрипта при изпращане на голям брой имейли, намалете числото в тази настройка. Щракването върху бутона „Изпрати покана по и-мейл“ от лентата с инструменти за управление на токените (не върху бутона вдясно от всеки токен) изпраща <maxemails> на брой покани, след което показва списък с адресите на получателите и предупреждение, че има повече чакащи имейли, отколкото могат да бъдат изпратени в една група. Продължете с изпращането, като щракнете по-долу. Остават още ### имейла за изпращане. и предоставя „бутон за продължаване“, за да се премине към следващата група. Т.е. потребителят определя кога да се изпрати следващата група, след като предишната е изпратена. Не е необходимо да чакате с активен екран. Администраторът може да излезе и да се върне по-късно, за да изпрати следващата група покани.
- send_error_saving_results_email: (New in 7.8.0 ) Ако даден отговор не може да бъде записан, LimeSurvey изпраща отговорите на администратора на проучването в имейл с тема „Грешка при записването на резултатите“. Задайте
false, за да спрете тези имейли. Участниците пак виждат съобщението за грешка. Стойността по подразбиране еtrue. Тази настройка може да се променя само в config.php.
Статистика и преглед на отговорите
- filterout_incomplete_answers: Управлява поведението по подразбиране при филтриране на непълните отговори при преглед или анализ на отговорите. За повече информация относно непълните отговори вижте нашето ръководство за преглед на резултатите от проучването. Тъй като тези записи могат да изкривят статистиката, е предоставена опция за включване или изключване на този филтър в няколко GUI форми. Параметърът може да се редактира в config.php. Налични са следните опции:
- 'all': Позволява ви да визуализирате както пълните, така и непълните отговори;
- 'complete': Показва само пълните отговори;
- 'incomplete': Показва само непълните отговори.
- strip_query_from_referer_url: Тази настройка определя дали URL адресът на източника на посещението запазва параметъра, или не. Стойността по подразбиране е 'false' (в този случай URL адресът на източника на посещението запазва всички параметри). Като алтернатива тази стойност може да бъде зададена на 'true' и частта с параметрите на URL адреса на източника на посещението ще бъде премахната.
- showaggregateddata: когато е активирана, се показват допълнителни статистически стойности, като средноаритметично и стандартно отклонение. Освен това данните се обобщават, за да се получи по-бърз преглед. Например резултатите от скала 1+2 и 4+5 се събират, за да се получи общо ранжиране като „добър“ (1/2), „среден“ (3) и „лош“ (4/5). Това засяга само типовете въпроси „A“ (масив с 5 точки) и „5“ (5-точков избор).
- Настройки за PDF експортиране: Тази функция активира PDF експортиране за печатни проучвания и за отпечатване на отговори. Функцията за PDF експортиране е напълно експериментална и резултатът далеч не е съвършен. За съжаление в момента не можем да предоставим поддръжка - ако искате да помогнете за отстраняването на проблемите, моля, свържете се с нас.
- 'pdfdefaultfont': Представлява шрифта по подразбиране, който ще се използва от функцията за PDF експортиране. Стойността по подразбиране е 'auto'. За да го промените, трябва да го зададете на един от основните PDF шрифтове.
- 'alternatepdffontfile': Масив с езикови ключове и съответните им шрифтове. Шрифтът по подразбиране за всеки език може да бъде заменен във файла config.php;
- 'pdffontsize': задава размера на шрифта за обикновените текстове; за заглавието на проучването е <pdffontsize>+4, а за заглавието на групата е <pdffontsize>+2. Може да се редактира във файла config.php или от диалоговия прозорец глобални настройки.
- Настройки на графиките
- 'chartfontfile': Задава името на файла с шрифт, който се използва за създаване на статистическите диаграми. Файлът трябва да се намира в директорията fonts в основната папка на LimeSurvey. Може да се редактира във файла config.php;
- 'alternatechartfontfile': Масив с езикови ключове и съответните им шрифтове. Може да се редактира във файла config.php.
- showsgqacode: Тази настройка се използва във функцията за печатен вариант на въпросника и по подразбиране е 'false'. Ако зададете showsgqacode = 'true';, ще бъдат показани идентификаторите на всеки въпрос - и на отговор, ако е приложимо. Тези идентификатори съответстват на заглавията на колоните в таблицата Lime_survey_12345, която съдържа данните с отговорите за конкретно проучване. Тези идентификатори могат да се използват като кодова книга за ръчни заявки към базата данни.
LDAP настройки
Тъй като това е обширна тема, ние преместихме LDAP настройките на друга страница.
Удостоверяване
Започвайки с LimeSurvey 2.05, удостоверяването ще се извършва от добавки. В резултат на това информацията по-долу може да е остаряла. Вижте уикито на добавките за най-актуална информация.
Делегиране на удостоверяване към уеб сървъра
Системните администратори може да поискат техните администратори на проучвания да се удостоверяват чрез централна система за удостоверяване (Active Directory, openLdap, Radius, ...), вместо чрез вътрешната база данни на LimeSurvey. Лесен начин да направите това е да настроите софтуера на вашия уеб сървър да използва тази външна система за удостоверяване и след това да накарате LimeSurvey да се доверява на самоличността на потребителя, подадена от уеб сървъра. За да активирате тази функция, трябва:
- да активирате допълнителния модул Webserver в Конфигурация > Допълнителни модули и да зададете в настройките на модула сървърния ключ, който съдържа потребителското име (по подразбиране: REMOTE_USER);
- да разрешите удостоверяването от страна на уеб сървъра.
Моля, имайте предвид, че:
- LimeSurvey след това ще заобиколи собствения си процес на удостоверяване (като използва името за влизане, докладвано от уеб сървъра, без да иска парола);
- това може да замени само системата за удостоверяване на LimeSurvey GUI, „не системата за покани за анкета“ (интерфейс за участници).
Делегиране на удостоверяване без автоматично импортиране на потребител
Моля, имайте предвид, че делегирането на удостоверяване не заобикаля системата за оторизация на LimeSurvey по подразбиране – което означава, че дори и да не се налага да управлявате пароли в LimeSurvey, пак трябва да дефинирате потребителите в базата данни на LimeSurvey и да им присвоите правилния набор от права, за да им позволите достъп до административния панел.
Тогава на потребителя се предоставя достъп до LimeSurvey, ако и само ако:
- той е удостоверен на уеб сървъра;
- неговото име за вход е дефинирано като потребител в потребителската база данни на LimeSurvey (след това на потребителя се предоставят правата на потребителя, дефиниран в потребителската база данни на LimeSurvey);
- има глобалното разрешение Използване на удостоверяване на уеб сървър.
Делегиране на удостоверяване с автоматично импортиране на потребител
Когато управлявате голяма потребителска база данни, понякога е по-лесно потребителите да се импортират автоматично в базата данни на LimeSurvey:
- auth_webserver_autocreate_user: Ако е зададено на 'true', LimeSurvey ще се опита автоматично да импортира потребители, удостоверени от уеб сървъра, но все още несъществуващи в неговата потребителска база данни.
- auth_webserver_autocreate_profile: Масив, описващ профила по подразбиране, който ще бъде присвоен на потребителя: пълното (фиктивно) име, имейл и език.
- auth_webserver_autocreate_permissions: Масив с глобалните разрешения, които ще бъдат присвоени на потребителя.
Ако искате да персонализирате потребителския профил, така че да съответства на влезлия потребител, ще трябва да разработите проста функция, наречена hook_get_auth_webserver_profile, в config.php - с тази функция можете да извличате от централна база данни с потребителски акаунти (например от LDAP директория) истинското пълно име, имейл и език на конкретен потребител.
Функцията hook_get_auth_webserver_profile приема потребителското име за вход като единствен аргумент и може да върне:
- False или празен масив - в този случай на потребителя се отказва достъп до LimeSurvey;
- масив, съдържащ същите записи като
auth_webserver_autocreate_profile.
function hook_get_auth_webserver_profile($user_name)
{
// Retrieve user's data from your database backend (for instance LDAP) here
// ... get $user_name_from_backend
// ... get $user_email_from_backend
// ... get $user_lang_from_backend
return array(
'full_name' => $user_name_from_backend,
'email' => $user_email_from_backend,
'lang' => $user_lang_from_backend,
);
}
// If user should be denied access, return an empty array
// return array();
Съпоставяне на потребителско име
В случай, че някои потребители имат външно потребителско име, което е различно от тяхното потребителско име в LimeSurvey, може да ви е полезно да използвате съпоставяне на потребителско име. Това се прави в LimeSurvey с помощта на параметъра auth_webserver_user_map. Например, представете си, че нямате дефинирано потребителско име „admin“ във вашата външна база данни за удостоверяване. След това, за да влезете в LimeSurvey като администратор, ще трябва да съпоставите вашето външно потребителско име (нека го наречем „моето име“) към администраторското име за вход в LimeSurvey. Съответната настройка е:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
След успешно удостоверяване с потребителско име 'myname' и парола за уеб сървър, вие ще бъдете директно упълномощени да използвате LimeSurvey като потребител 'admin'.
Това има сериозни последици за сигурността, така че го използвайте внимателно. Освен това защитете своя config.php от достъп за запис от уеб сървъра.
Използвайте еднократни пароли
Потребителят може да отвори страницата за вход в LimeSurvey на default.com/limesurvey/admin и да въведе потребителското име и еднократната парола, които преди това са били записани в таблицата с потребители (колона one_time_pw) от външно приложение.
Тази настройка трябва да бъде включена във файла config.php, за да се даде възможност за използване на еднократни пароли (по подразбиране = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Повече информация можете да намерите в секция „Управление на потребители“.
Настройки за криптиране
Вижте шифроване на данни за подробности относно тази функция.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
Разширени настройки на url
- publicurl: Това трябва да бъде зададено на URL адреса на вашите „публични скриптове“. Публичните скриптове са тези, които се намират в папката „limesurvey“ (или с каквото име сте нарекли директорията, в която се съхраняват всички останали скриптове и директории). Тази настройка е налична в config.php и се използва, когато LimeSurvey се нуждае от абсолютен URL адрес (например при изпращане на имейли с токени).
- tempurl: Това трябва да бъде зададено на URL адреса на вашата директория „/limesurvey/tmp“ - или на директория, която искате LimeSurvey да използва за обслужване на временни файлове.
- uploadurl: Това трябва да бъде зададено на URL адреса на вашата директория „/limesurvey/upload“ - или на директория, която искате LimeSurvey да използва за обслужване на качени файлове. Това ви позволява да разположите качените файлове на друг URL домейн.
Разширени настройки на пътя
- homedir: Това трябва да бъде зададено на физическото местоположение на диска на вашите административни скриптове - например "/home/usr/htdocs/limesurvey/admin". Не добавяйте наклонена черта в края на този запис. Настройката по подразбиране в config.php се опитва да открие основния път по подразбиране на всички ваши документи, като използва променливата на php
{$_SERVER['DOCUMENT_ROOT']}. В повечето случаи можете да оставите това и просто да промените останалата част от този низ, така че да съответства на името на директорията, в която сте поставили скриптовете на LimeSurvey. - publicdir: Това трябва да бъде зададено на физическото местоположение на диска на вашите 'публични скриптове'.
- tempdir: Това трябва да бъде зададено на физическото местоположение на диска на вашата директория /limesurvey/tmp, така че скриптът да може да чете и записва файлове.
- uploaddir: Това трябва да бъде зададено на физическото местоположение на диска на вашата директория /limesurvey/upload, така че скриптът да може да чете и записва файлове.
- sCKEditorURL: URL адрес на скрипта на CKEditor.
Други разширени настройки
Качване на файлове
- magic_database: Позволява използването на различна MIME база данни за finfo_open. Може да се актуализира само във файла config.php. Пример:
/usr/share/misc/magic.mgcза Linux, базиран на redhat. - magic_file: Позволява използването на различен файл за получаване на масива с разширения по MIME тип, вместо включения. Трябва да е PHP файл, който връща масив. Може да се актуализира само във файла config.php.
Актуализация
- 'актуализиран:' Тази настройка е във version.php. Може да бъде вярно или невярно. Ако зададете true : когато супер администратор влезе в системата : LimeSurvey проверява дали има налична актуализация и ви показва предупреждение. Ако е зададено на false: не се извършва проверка и не можете да използвате ComfortUpdate.
Токени
- allowedcharacters_pattern_token : Тези настройки позволяват да се зададе шаблонът на регулярния израз (regexp) при филтриране на токени.