Valfria inställningar
From LimeSurvey Manual
Det här avsnittet riktar sig till dig som vill redigera de konfigurationsinställningar som inte kan ändras via det grafiska användargränssnittet (GUI) i din LimeSurvey-installation. Tänk på att alla ändringar i LimeSurveys rotkatalog görs på egen risk. Om du stöter på problem eller behöver mer vägledning kan du gå med i diskussionsforumen för att få hjälp från LimeSurvey-communityn.
Introduktion
För att ändra installationens konfigurationsinställningar måste du redigera de valfria inställningarna. De finns i /application/config/config-defaults.php, som finns i LimeSurveys rotkatalog. Standardinställningarna för en standardinstallation finns i config-defaults.php. Vissa av dem kan åsidosättas i dialogrutan för globala inställningar, medan andra måste redigeras manuellt.
Vid en uppgradering ändras endast inställningarna i config-defaults.php. Om du redigerar filen config.php bevaras därför dina anpassade inställningar.
För att uppdatera/lägga till LimeSurvey-inställningar i /application/config/config.php måste du uppdatera konfigurationssamlingen (config array):
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'New value', // Update default LimeSurvey config here
)
Yii-inställningar
LimeSurvey använder ramverket Yii, som har egna konfigurationsparametrar i filerna application/config/internal.php och application/config/config.php. Du kan också komma åt vissa specifika konfigurationsinställningar för LimeSurvey via Yii-konfigurationen.
Eftersom samlingen i config.php slås samman med hela konfigurationen kan du ersätta vilka Yii-parametrar som helst i filen config.php.
De Yii-specifika inställningarna anges i samlingen components:
'components' => array(
'db' => array(
....
),
'Specific settings'=>array(
....
),
),
Databasinställningar
Databasinställningarna skrivs till config.php av installationsfilen när du installerar LimeSurvey för första gången. Vid behov kan du uppdatera den här delen av filen config.php. Kom ihåg att du gör detta på egen risk! Se även Yii-dokumentationen och kom ihåg att LimeSurvey endast stöder följande databastyper: mysql, pgsql, dblib, mssql och sqlsrv.
Sessionsinställningar
Du kan ange vissa sessionsparametrar i config.php (se de två exemplen nedan). Du kan avkommentera/lägga till den del du behöver i config.php. Se Yii-dokumentationen för andra inställningar.
Använd tabellbaserade sessioner
LimeSurvey kan använda tabellbaserade sessioner. Du hittar en bortkommenterad del i den genererade standardfilen config.php. För att använda tabellbaserade sessioner tar du bort // före varje rad.
'session' => array (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions}}',
),
Andra sessionsuppdateringar
Om du använder SSL ('https') för din LimeSurvey-installation ökar säkerheten för sessionen om du lägger till följande rader i din config.php:
// Set the cookie via SSL
'session' => array (
'cookieParams' => array(
'secure' => true, // use SSL for cookies
'httponly' => true // Cookies may not be used by other protocols - experimental
),
),
Om du vill låsa domänen för en cookie använder du följande syntax i config.php:
// Set the domain for cookie
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
Om du har flera installationer på samma server kan det vara snabbare och enklare att ange ett olika sessionsnamn för varje LimeSurvey-instans. Detta kan behövas för IE11 under vissa förhållanden (se issue 12083)
// Set the name of the session
'session' => array (
'sessionName' => "LimeSurveyN1",
),
Request-inställningar
Request-inställningarna är viktiga, men standardinställningarna är redan optimerade för användning med LimeSurvey. Du kan läsa mer om dem i Yii-dokumentationen.
Till exempel kan konfigurationen av LimeSurveys request-inställningar ändras på följande sätt (på egen risk):
// Disable CSRF protection
'request' => array(
'enableCsrfValidation'=>false,
),
// Enforce a certain URL base
'request' => array(
'hostInfo' => 'http://www.example.org/'
),
// Set the cookie domain name and path for CSRF protection, path is used if you have different instance on same domain
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
Om du bara behöver ändra URL:en för e-postmeddelanden med token anger du din publicurl i filen config.php.
Tillåt användning av session och CSRF-validering i iFrame
Om du aktiverar IFrame-embedding tillåtet i de globala säkerhetsinställningarna tillåter du bara att webbläsare visar dina enkäter i en iframe. För att deltagare ska kunna fylla i och skicka en enkät i en iframe måste du dessutom ändra cookieinställningarna för session och CSRF i config.php enligt beskrivningen nedan. Båda cookies måste skickas med SameSite=None, vilket webbläsare bara accepterar över en giltig HTTPS-anslutning.
Tillåt sessionsstart i iframe
Sessionscookien måste vara säker (kräver en giltig HTTPS-anslutning) och httponly, och samesite måste vara satt till None. Nycklarna i cookieParams måste skrivas med enbart små bokstäver.
'session' => array (
'sessionName'=>'LS-VBXZZORFJZCAKGYI',
// Uncomment the following lines if you need table-based sessions.
// Note: Table-based sessions are currently not supported on MSSQL server.
// 'class' => 'application.core.web.DbHttpSession',
// 'connectionID' => 'db',
// 'sessionTableName' => '{{sessions}}',
'cookieParams' => array(
'secure' => true,
'httponly' => true,
'samesite' => 'None',
),
),
Tillåt csrf-cookie i iframe
Precis som sessionscookien måste CSRF-cookien vara säker, och sameSite måste vara satt till None. Observera att nyckeln här skrivs sameSite. Lägg till hela request-samlingen på samma nivå som session.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
URL-inställningar
Om du vill ändra standardinställningarna för URL uppdaterar du urlManager:
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
),
Du kan också lägga till .html efter enkätens ID på följande sätt:
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array (
'<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => false,
),
Mer information finns i Yii-dokumentationen.
Loggningsinställningar
Yii erbjuder olika lösningar för att generera loggar. Mer information finns i specialavsnittet om loggning. LimeSurvey använder som standard '1' eller '2', vilket gör att alla webbanvändare kan se loggarna. Du kan skapa egna inställningar direkt med Yii.
En snabb lösning för att logga fel och varningar i filer är till exempel:
return array(
'components' => array(
/* Other component part here 'db' for example */
'log' => array(
'routes' => array(
'fileError' => array(
'class' => 'CFileLogRoute',
'levels' => 'warning, error',
'except' => 'exception.CHttpException.404',
),
),
),
/* Other component part here 'urlManager' for example */
),
/* Final part (with 'runtimePath' 'config' for example) */
);
limesurvey/tmp/runtime/application.log, som finns i LimeSurveys rotmapp..
Runtime-sökväg
Runtime-sökvägen måste vara en katalog som webbanvändaren kan läsa från och skriva till. Runtime-sökvägen innehåller dock filer med potentiellt säkerhetskänslig information som ligger i det offentligt åtkomliga webbområdet. LimeSurvey samlar dessa filer i temp-katalogen i LimeSurveys rotkatalog. För att eliminera åtkomsten till sådan viktig data kan du placera runtime-sökvägen utanför det offentliga webbområdet genom att redigera motsvarande rader i filen /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Allmänna inställningar
- sitename: Ger din enkätwebbplats ett namn. Namnet visas i översikten över enkätlistan och i administrationsrubriken. Standardvärdet är 'LimeSurvey' och kan åsidosättas i dialogrutan globala inställningar eller redigeras i config.php.
- siteadminemail: Detta är webbplatsadministratörens standardadress för e-post och används för systemmeddelanden och kontaktalternativ. Inställningen används endast som standardvärde och kan åsidosättas i dialogrutan globala inställningar.
- showEmailInError: Använd standardadressen för e-post till webbplatsens admin (siteadminemail) för mailto-länken på felsidan. Inaktivera för att endast visa administratörens namn. Standard för att undvika mer skräppost till administrationsadressen.
- siteadminbounce: Detta är e-postadressen dit studsade e-postmeddelanden skickas. Inställningen används endast som standardvärde och kan åsidosättas i dialogrutan globala inställningar.
- siteadminname: Webbplatsadministratörens riktiga namn. Inställningen används endast som standardvärde och kan åsidosättas i dialogrutan globala inställningar.
- proxy_host_name: Detta är värdnamnet för din proxyserver (det måste anges om du befinner dig bakom en proxy och vill uppdatera LimeSurvey med ComfortUpdate).
- proxy_host_port: Detta är porten för din proxyserver (den måste anges om du befinner dig bakom en proxy och vill uppdatera LimeSurvey med ComfortUpdate).
Säkerhet
- maxLoginAttempt: Detta är antalet försök en användare har på sig att ange rätt lösenord innan hens IP-adress blockeras/spärras. Standardvärdet är 3 och kan ändras i config.php.
- timeOutTime: Om användaren anger fel lösenord <maxLoginAttempt> gånger spärras hen i <timeOutTime> sekunder. Standardvärdet är 10 minuter och kan ändras i config.php.
- maxLoginAttemptParticipants: Detta är antalet försök en deltagare har på sig att ange en giltig token innan hens IP-adress blockeras/spärras. Standardvärdet är 3 och kan ändras i config.php.
- timeOutParticipants: Om deltagaren anger fel token <maxLoginAttemptParticipants> gånger spärras hen i <timeOutParticipants> sekunder. Standardvärdet är 10 minuter och kan ändras i config.php.
- surveyPreview_require_Auth: Satt till true som standard. Om du sätter detta till 'false' kan vem som helst testa din enkät via enkätens URL, utan att logga in i administrationspanelen och utan att enkäten först behöver aktiveras. Inställningen är ett standardvärde och kan åsidosättas i dialogrutan globala inställningar eller redigeras i config.php.
- usercontrolSameGroupPolicy: Satt till true som standard. Som standard kan användare som inte är administratörer och som är definierade i LimeSurveys hanteringsgränssnitt endast se användare som de själva har skapat eller användare som tillhör minst en gemensam grupp. Standardvärdet kan åsidosättas i dialogrutan globala inställningar eller redigeras i config.php.
- demoMode: Om det här alternativet är satt till 'true' i config.php går LimeSurvey in i demoläge. Demoläget ändrar följande:
- Inaktiverar ändring av administratörens uppgifter och lösenord;
- Inaktiverar uppladdning av filer i malleditorn;
- Inaktiverar utskick av inbjudningar och påminnelser via e-post;
- Inaktiverar skapandet av en databasdump;
- Inaktiverar möjligheten att ändra följande globala inställningar: webbplatsens namn, förvalt språk, förvalt läge för HTML-redigerare, XSS-filter.
- forcedsuperadmin: Samling av användar-ID:n med alla rättigheter i hela LimeSurvey. Inställningen kan endast ändras i filen config.php. Dessa användares rättigheter kan inte redigeras i globala behörigheter för en användare, inte ens av en annan tvingad superadministratör. Som standard är användaren med dessa rättigheter användaren med ID 1, den första användaren som skapas direkt efter installationen.
- force_ssl: tvingar LimeSurvey att köras via HTTPS eller att blockera HTTPS. Se Tvinga HTTPS i gränssnittet för globala inställningar.
- ssl_emergency_override: Den här inställningen tvingar SSL att vara avstängt. Om du har aktiverat HTTPS/SSL i de globala inställningarna men din server inte har HTTPS aktiverat är det enda sättet att stänga av det att ändra ett värde direkt i databasen. Detta gör att du kan tvinga HTTPS att vara avstängt medan du ändrar de globala inställningarna för Tvinga säker anslutning. Den ska alltid vara false utom i nödfall, då du sätter den till true tills problemet är åtgärdat. Inställningen kan endast göras via filen config.php.
- ssl_disable_alert: Inaktivera varningen till superadministratören om icke-tvingad SSL, om du verkligen inte kan eller vill tvinga SSL. Inställningen kan endast göras via filen config.php.
- allow_unserialize_attributedescriptions: Tillåt avserialisering (med PHP-funktionen unserialize) av tokenattribut vid import eller inläsning av ett enkätobjekt. Data för tokenattribut sparas som JSON. Om du importerar en enkätfil från en mycket gammal LimeSurvey-version och behöver hämta dess tokenattribut måste du aktivera den här inställningen. Varning: Avserialisering kan leda till att kod laddas och körs på grund av objektinstansiering och autoladdning, och en illasinnad användare kan utnyttja detta. Inställningen kan endast göras via filen config.php.
- allow_unserialize_attachments: Tillåt avserialisering (med PHP-funktionen unserialize) av bilageattribut vid import av en enkät. I LimeSurvey 6.16.17 ändrades bilageattributet från serialize till json_encode. Om du behöver behålla bilagor vid import av gamla LSS-filer måste du tillåta detta. Varning: Avserialisering kan leda till att kod laddas och körs på grund av objektinstansiering och autoladdning, och en illasinnad användare kan utnyttja detta. Inställningen kan endast göras via filen config.php.
- twig_getConfig_extraallowlist: Gör det möjligt att tillåta specifika element för funktionen getConfig i twig. LimeSurvey tillåter redan de mest nödvändiga och använda inställningarna, men du kan behöva fler. Om du vill tillåta 'securesetting' och 'anothersetting' sätter du detta till
['securesetting','anothersetting']så här:'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Inställningen kan endast göras via filen config.php.
Skydd mot cross-site scripting (XSS)
LimeSurvey tillåter inga användarskript på administrationssidan. Om du hittar ett sätt för en användare att lägga till ett XSS-skript på administrationssidan, läs vår säkerhetspolicy.
Skript på de offentliga sidorna hanteras av inställningarna för XSS-filtret.
- filterxsshtml: Den här inställningen aktiverar filtrering av misstänkta HTML-taggar i enkäter, grupper samt frågetexter och svarstexter i administrationsgränssnittet. Ställ in den på 'false' endast om du helt litar på de användare som du har skapat för administrationen av LimeSurvey och vill låta dem använda Javascript, Flash-filmer osv. Superadministratörers HTML filtreras aldrig. Standardvärdet kan åsidosättas i dialogrutan globala inställningar.
- filterxsshtml_forcedall: Tvingar
filterxsshtmltill true för alla användare och inaktiverar ändringar i administrationsgränssnittet. Aktiverar även filtrering av misstänkta HTML-taggar för superadministratören. - filterxsshtml_allowforcedsuperadmin: Används endast om
filterxsshtml_forcedallär true. Tillåter attforcedsuperadmin(som standard administratörsanvändare nr 1) lägger till valfritt skript och HTML. - disablescriptwithxss: Tillåt ändring av skript i frågor: som standard true, vilket följer XSS-reglerna; ställ in på false för att tillåta det för alla användare. Standardvärdet kan åsidosättas i dialogrutan globala inställningar.
- filterxsshtml_enablescript: Används endast om filterxsshtml_forcedall är true. Aktivera frågeskript för specifika användare:
gui: tillåt ändring av inställningen via administrationsgränssnittet;superadmin: endast superadministratör;forcedsuperadmin: endast forcedsuperadmin; som standard: ingen användare och ingen ändring via administrationsgränssnittet
Tillåten filuppladdning
- allowedthemeimageformats : Bildfiltyper som får laddas upp i avsnittet för mallar. Som standard är SVG-filer inaktiverade på grund av risken för XSS-attacker.
- allowedthemeuploads : Andra filtyper som får laddas upp i avsnittet för mallar (zip-fil)
- allowedresourcesuploads : Filtyper som får laddas upp i avsnitten för resurser och med HTML-redigeraren
- allowedpluginuploads : Filtyper som tillåts när en zip-fil med ett plugin laddas upp.
Ange bara en sträng med filändelser separerade med kommatecken. Exempel:
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
Varning: Var alltid försiktig när du tillåter filuppladdning. Skadliga aktiviteter kan förekomma.
Plugin
- usePluginWhitelist : Om värdet är true kan plugin som inte finns i tillåtelselistan (se 'pluginWhitelist') varken installeras eller laddas. Detta kan inaktivera redan installerade plugin.
- pluginWhitelist : Lista över namn på plugin som får installeras och laddas när 'usePluginWhitelist' är true. Kärnplugin finns implicit i tillåtelselistan.
- corePluginBlacklist : Lista över namn på kärnplugin som är förbjudna när 'usePluginWhitelist' är true.
- disablePluginUpload : När den här inställningen är true är funktionen "Plugin Upload" inaktiverad
Värdkontroll
- allowedHosts : för att undvika Host Header Injection kan du ange vilka värdar som är tillåtna för alla åtgärder. Om du använder olika värdar för den publika sidan och administrationssidan måste du ange båda som tillåtna värdar.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
Resurser
- iSessionExpirationTime: Anger efter hur många sekunder en enkätsession går ut. Gäller endast om du använder databassessioner. Om du använder databassessioner ändrar du parametern i config.php eller åsidosätter standardvärdet i dialogrutan globala inställningar.
- memory_limit: Bestämmer hur mycket minne LimeSurvey kan använda, i megabyte. Standardvärdet är '256'. Om du får timeout-fel eller problem med att skapa statistik eller exportera filer ska du höja gränsen till '512' eller högre. Om din webbserver har angett en högre gräns i php.ini ignoreras den här inställningen.
För att öka minnesgränsen till 128M kan du också försöka lägga till:
- memory_limit = 128M i serverns huvudsakliga php.ini-fil (rekommenderas om du har åtkomst)
- memory_limit = 128M i en php.ini-fil i LimeSurvey-roten
- php_value memory_limit 128M i en .htaccess-fil i LimeSurvey-roten
- max_execution_time: Anger hur många sekunder ett skript får köras. Om gränsen nås returnerar skriptet ett allvarligt fel. För att kunna exportera stora mängder enkätdata och statistik försöker LimeSurvey som standard sätta den till 1200 sekunder. Du kan ange en högre eller lägre tid vid behov. Kan endast ändras via PHP-konfigurationsfilen.
Utseende
- repeatheadings: Med frågetypen Samling har du ofta många delfrågor som, när de visas på skärmen, tar upp mer än en sida. Med den här inställningen bestämmer du hur många delfrågor som ska visas innan frågans rubrikinformation upprepas. Ett bra värde är cirka 15. Om du inte vill att rubrikerna ska upprepas alls ställer du in 0. Den här inställningen åsidosätts i dialogrutan globala inställningar.
- minrepeatheadings: Minsta antal återstående delfrågor som krävs för att rubrikerna ska upprepas i samlingsfrågor. Standardvärdet är 3 och det kan ändras i config.php.
- defaulttheme: Den här inställningen anger standardmallen som används för den 'publika listan' över enkäter. Den kan åsidosättas i dialogrutan globala inställningar eller ändras i config.php.
- defaulthtmleditormode: Anger standardläget för den integrerade HTML-redigeraren. Den här inställningen kan åsidosättas i dialogrutan globala inställningar eller ändras i config.php. Giltiga värden är:
- 'inline' - Fält ersätts direkt i sidan av en HTML-redigerare. Långsamt men bekvämt och användarvänligt;
- 'popup' - Lägger till en ikon som vid behov startar HTML-redigeraren i ett popup-fönster. Snabbare, men HTML-koden visas i formuläret;
- 'none'- Ingen HTML-redigerare;
- column_style: Anger hur kolumner återges för enkätsvar när display_columns används. Den kan ändras i filen config.php. Giltiga värden är:
- 'css' - använder någon av de olika CSS-metoderna för att skapa kolumner (se mallens stilmall för detaljer);
- 'ul' - kolumnerna återges som flera flytande punktlistor (standard);
- 'table' - använder en konventionell tabellbaserad layout;
- NULL - inaktiverar användningen av kolumner.
Språk och tid
- defaultlang: Ska anges som det standardspråk som används i dina administrationsskript, och även som standardspråk i den publika enkätlistan. Den här inställningen kan åsidosättas i dialogrutan globala inställningar eller ändras i config.php.
- timeadjust: Om din webbserver befinner sig i en annan tidszon än den plats där dina enkäter är baserade anger du här skillnaden mellan servern och din egen tidszon. Exempel: jag bor i Australien men använder en amerikansk webbserver. Webbservern ligger 14 timmar efter min lokala tidszon, så min inställning här är "14". Med andra ord läggs 14 timmar till webbserverns tid. Den här inställningen är särskilt viktig när enkäter tidsstämplar svaren. Den kan åsidosättas i dialogrutan globala inställningar eller ändras i config.php.
Enkätbeteende
- deletenonvalues: Använd den här funktionen med försiktighet. Som standard (värdet 1) sätts irrelevanta frågor till NULL i databasen. Detta säkerställer att data i databasen är internt konsekventa. Det finns dock sällsynta fall där du vill behålla irrelevanta värden, och då kan du ange värdet 0. Exempel: du frågar en man om hans kön och han svarar av misstag 'kvinna' och besvarar sedan några kvinnospecifika frågor (frågor som är villkorade av att vara kvinna och därför bara är relevanta för kvinnor). Sedan upptäcker han sitt misstag, går tillbaka, ändrar könet till 'man' och fortsätter med enkäten. Nu är de kvinnospecifika frågorna irrelevanta. Om
$deletenonvalues==1rensas dessa irrelevanta värden (sätts till NULL) i databasen. Om$deletenonvalues==0raderas inte hans felaktiga svar, så de finns kvar i databasen när du analyserar den. - shownoanswer: När en fråga av typen radioknapp/rullgardinslista som innehåller redigerbara svar (t.ex. lista- och samlingsfrågor) inte är obligatorisk och 'shownoanswer' är satt till 1, visas ett extra alternativ 'Inget svar' - så att deltagare kan välja att inte besvara frågan. Vissa föredrar att detta inte är tillgängligt. Den här inställningen kan åsidosättas i dialogrutan globala inställningar eller ändras i config.php. Giltiga värden är:
- '0': Nej;
- '1': Ja;
- '2': Enkätadministratören kan välja.
- printanswershonorsconditions: Den här inställningen avgör om funktionen printanswers ska visa poster från frågor som dolts av villkorsstyrd förgrening (standard: 1 = dölj svar från frågor som dolts av villkor).
- showpopups: Visa popup-meddelanden om obligatoriska eller villkorade frågor inte har besvarats korrekt:
- '2' = definieras av mallalternativet (standard)
- '1'= visa popup-meddelande;
- '0'= visa meddelandet på sidan i stället;
- '-1'= visa inte meddelandet alls (i så fall ser användarna fortfarande de frågespecifika tipsen som visar vilka frågor som måste besvaras).
Beteende för numeriska frågetyper
- bFixNumAuto: Numeriska fält kan automatiskt filtreras så att alla icke-numeriska värden tas bort. Som standard är detta aktiverat, men du kan inaktivera det globalt. Den här inställningen hör ihop med Korrigera automatiskt numeriskt värde i kärnmallens mallalternativ. Den var aktiverad för Ja och inaktiverad för För uttryck och Nej.
- bNumRealValue: Numeriska fält som används i uttryckshanteraren kan korrigeras eller inte. Som standard korrigeras de. Om NUMERIC är en numerisk fråga: inaktiverad eller 0: {NUMERIC} med ogiltiga tecken ger '', aktiverad eller 1: {NUMERIC} ger alla angivna tecken. Den här inställningen hör ihop med Korrigera automatiskt numeriskt värde i kärnmallens mallalternativ. Den var aktiverad för Ja och För uttryck och inaktiverad för Nej.
Utveckling och felsökning
- debug: Med den här inställningen sätter du PHP:s felrapportering till E_ALL. Det innebär att varje liten notis, varning eller fel som rör skriptet visas. Den här inställningen bör bara ställas in på '1' om du av någon anledning försöker felsöka programmet. Om du är utvecklare ställer du in den på '2'. Ställ inte in '1' eller '2' i produktion, eftersom det kan avslöja sökvägar. Standardvärdet är '0' och det kan ändras i config.php.
- debugsql: Aktivera den här inställningen om du vill visa alla SQL-frågor som körts för skriptet längst ned på varje sida. Mycket användbart för att optimera antalet frågor. För att aktivera den ändrar du standardvärdet till '1' i filen config.php.
- use_asset_manager: Som standard inaktiverar felsökningsläget resurshanteraren (asset manager), men du kan tillåta att den används även när felsökningsläget är aktiverat.
Om du stöter på ett fel i programmet rekommenderar vi starkt att du aktiverar felsökningsinställningen för att få ett mer detaljerat fel som du kan skicka in tillsammans med felrapporten:
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Om du arbetar med plugin och behöver ett snabbt sätt att skriva ut variabler på skärmen kan du använda funktionen traceVar. Om debug är aktiverat använder funktionen CWebLogRoute för att visa utdata på HTML-sidan. Användning: traceVar($MyVariable)
E-postinställningar
Alla inställningar nedan kan åsidosättas i dialogrutan för globala inställningar.
- 'emailmethod: Anger hur e-postmeddelanden skickas. Följande alternativ finns:
- 'mail:' använder PHP:s interna e-postfunktion;
- 'sendmail:' använder sendmail;
- 'smtp:' använder SMTP-relä. Använd den här inställningen när du kör LimeSurvey på en värd som inte är din e-postserver.
- 'emailsmtphost: Om du använder 'smtp' som
$emailmethodmåste du ange din SMTP-server här. Om du använder Google Mail kan du behöva lägga till portnumret, till exempel $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Om din SMTP-server kräver autentisering anger du ditt användarnamn här, annars ska fältet vara tomt.
- emailsmtppassword: Om din SMTP-server kräver autentisering anger du ditt lösenord här, annars ska fältet vara tomt.
- emailsmtpssl: Ange 'ssl' eller 'tls' för att använda SSL/TLS för SMTP-anslutningen.
- maxemails: När du skickar inbjudningar eller påminnelser till enkätdeltagare avgör den här inställningen hur många e-postmeddelanden som kan skickas i en omgång. Olika webbservrar har olika e-postkapacitet, och om ditt skript tar för lång tid på sig att skicka en omgång e-postmeddelanden kan tidsgränsen överskridas och fel uppstå. De flesta webbservrar kan skicka 100 e-postmeddelanden åt gången inom standardtidsgränsen på 30 sekunder för ett PHP-skript. Om du får tidsgränsfel när du skickar stora mängder e-post bör du minska talet i den här inställningen. När du klickar på knappen 'Skicka inbjudan med e-post' i verktygsfältet för token (inte knappen till höger om varje token) skickas <maxemails> inbjudningar. Därefter visas en lista över mottagarnas adresser och en varning om att det finns fler e-postmeddelanden i kö än vad som kunde skickas i en omgång. Fortsätt skicka e-post genom att klicka nedan. Det återstår ### e-postmeddelanden att skicka. Där finns också en "fortsätt-knapp" för att gå vidare till nästa omgång. Det är alltså användaren som bestämmer när nästa omgång skickas efter att en omgång har skickats. Du behöver inte vänta med den här vyn aktiv. Administratören kan logga ut och komma tillbaka senare för att skicka nästa omgång inbjudningar.
Statistik och granskning av svar
- filterout_incomplete_answers: Styr standardbeteendet för filtrering av ofullständiga svar när du bläddrar bland eller analyserar svar. För en diskussion om ofullständiga svar, se vår wiki om att bläddra bland enkätresultat. Eftersom dessa poster kan förvanska statistiken finns ett alternativ för att slå på eller av filtret i flera formulär i det grafiska gränssnittet. Parametern kan redigeras i config.php. Följande alternativ finns:
- 'all': Låter dig visa både fullständiga och ofullständiga svar;
- 'complete': Visar endast fullständiga svar;
- 'incomplete': Visar endast ofullständiga svar.
- strip_query_from_referer_url: Den här inställningen avgör om den hänvisande URL:en sparar parametern eller inte. Standardvärdet är 'false' (i så fall sparar den hänvisande URL:en alla parametrar). Alternativt kan värdet sättas till 'true', och då tas parameterdelen av den hänvisande URL:en bort.
- showaggregateddata: när den är aktiverad visas ytterligare statistiska värden, till exempel aritmetiskt medelvärde och standardavvikelse. Dessutom aggregeras data för att ge en snabbare översikt. Till exempel läggs resultat för skala 1+2 och 4+5 ihop för att ge en allmän rangordning som "bra" (1/2), "genomsnitt" (3) och "dåligt" (4/5). Detta påverkar endast frågetyperna "A" (5-punktssamling) och "5" (5-punktsval).
- PDF Export Settings: Den här funktionen aktiverar PDF-export för utskrivbara enkäter och Skriv ut svar. PDF-exportfunktionen är helt experimentell och resultatet är långt ifrån perfekt. Tyvärr kan vi för tillfället inte ge något stöd – om du vill hjälpa till att åtgärda det, kontakta oss.
- 'pdfdefaultfont': Anger standardtypsnittet som används av PDF-exportfunktionen. Standardvärdet är 'auto'. För att ändra det måste du ange ett av PDF-kärntypsnitten.
- 'alternatepdffontfile': En samling med språknycklar och motsvarande typsnitt. Standardtypsnittet för varje språk kan ersättas i filen config.php;
- 'pdffontsize': anger teckenstorleken för normal text. För enkätens titel är den <pdffontsize>+4 och för grupptiteln <pdffontsize>+2. Den kan redigeras i filen config.php eller i dialogrutan för globala inställningar.
- Graph setting
- 'chartfontfile': Anger filnamnet för det typsnitt som används för att skapa de statistiska diagrammen. Filen måste finnas i katalogen fonts i LimeSurvays rotmapp. Den kan redigeras i filen config.php;
- 'alternatechartfontfile': En samling med språknycklar och motsvarande typsnitt. Den kan redigeras i filen config.php.
- showsgqacode: Den här inställningen används i funktionen för utskrivbar enkät och är som standard 'false. Om du sätter showsgqacode = 'true'; visas ID:n för varje fråga – och svar i förekommande fall. Dessa ID:n motsvarar kolumnrubrikerna i tabellen Lime_survey_12345, som innehåller svarsdata för en viss enkät. ID:na kan användas för en kodbok för manuella databasfrågor.
LDAP-inställningar
Eftersom detta är ett omfattande ämne har vi flyttat LDAP-inställningar till en annan sida.
Autentisering
Autentisering hanteras av tillägg. Inställningarna nedan används av autentiseringstillägget för webbserver, se Autentiseringstillägg.
Delegera autentisering till webbservern
Systemadministratörer kan vilja att deras enkätadministratörer autentiseras mot ett centralt autentiseringssystem (Active Directory, openLdap, Radius, ...) i stället för att använda LimeSurveys interna databas. Ett enkelt sätt att göra detta är att konfigurera din webbserverprogramvara så att den använder det externa autentiseringssystemet och sedan be LimeSurvey att lita på den användaridentitet som webbservern rapporterar. För att aktivera den här funktionen måste du:
- aktivera tillägget Webserver under Konfiguration > Tillägg och ange serverns nyckel som innehåller användarnamnet (standard: REMOTE_USER) i tilläggets inställningar;
- aktivera autentisering på webbserversidan.
Observera att:
- LimeSurvey då kringgår sin egen autentiseringsprocess (genom att använda det inloggningsnamn som webbservern rapporterar utan att fråga efter något lösenord);
- detta bara kan ersätta autentiseringssystemet i LimeSurveys grafiska gränssnitt, inte inbjudningssystemet för enkäter (deltagargränssnittet).
Delegerad autentisering utan automatisk användarimport
Observera att delegerad autentisering som standard inte kringgår LimeSurveys behörighetssystem – det innebär att även om du inte behöver hantera lösenord i LimeSurvey måste du fortfarande definiera användarna i LimeSurveys databas och tilldela dem rätt uppsättning behörigheter för att de ska få tillgång till administrationspanelen.
En användare får då åtkomst till LimeSurvey om och endast om:
- hen har autentiserats mot webbservern;
- hens inloggningsnamn är definierat som en användare i LimeSurveys användardatabas (användaren får då de behörigheter som är definierade för användaren i LimeSurveys användardatabas);
- hen har den globala behörigheten Använd webbautentiseringsserver.
Delegerad autentisering med automatisk användarimport
När du hanterar en stor användardatabas är det ibland enklare att automatiskt importera användare till LimeSurveys databas:
- auth_webserver_autocreate_user: Om den sätts till 'true' försöker LimeSurvey automatiskt importera användare som har autentiserats av webbservern men som ännu inte finns i dess användardatabas.
- auth_webserver_autocreate_profile: En samling som beskriver standardprofilen som tilldelas användaren: fullt (påhittat) namn, e-post och språk.
- auth_webserver_autocreate_permissions: En samling med de globala behörigheter som tilldelas användaren.
Om du vill anpassa användarprofilen så att den matchar den inloggade användaren måste du utveckla en enkel funktion som heter hook_get_auth_webserver_profile i config.php – med den här funktionen kan du hämta det riktiga fullständiga namnet, e-postadressen och språket för en viss användare från en central användarkontodatabas (till exempel från en LDAP-katalog).
Funktionen hook_get_auth_webserver_profile tar användarens inloggningsnamn som enda argument och kan returnera:
- False eller en tom samling – i så fall nekas användaren åtkomst till LimeSurvey;
- en samling som innehåller samma poster som
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();
Mappning av användarnamn
Om vissa användare har ett externt användarnamn som skiljer sig från deras användarnamn i LimeSurvey kan det vara praktiskt att använda en mappning av användarnamn. Detta görs i LimeSurvey med parametern auth_webserver_user_map. Tänk dig till exempel att du inte har något användarnamn 'admin' definierat i din externa autentiseringsdatabas. För att logga in i LimeSurvey som admin måste du då mappa ditt externa användarnamn (låt oss kalla det 'myname') till inloggningsnamnet admin i LimeSurvey. Motsvarande konfiguration är:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
Efter en lyckad autentisering med inloggningen 'myname' och webbserverns lösenord får du direkt behörighet att använda LimeSurvey som användaren 'admin'.
Detta har allvarliga säkerhetskonsekvenser, så använd det med försiktighet. Skydda också din config.php mot skrivåtkomst från webbservern.
Använd engångslösenord
En användare kan öppna LimeSurveys inloggningssida på default.com/limesurvey/admin och ange användarnamnet och det engångslösenord som tidigare skrivits till användartabellen (kolumnen one_time_pw) av ett externt program.
Den här inställningen måste aktiveras i filen config.php för att engångslösenord ska kunna användas (standard = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Mer information finns i avsnittet "Hantera användare".
Krypteringsinställningar
application/config/security.php. Du kan flytta dessa inställningar till config.php om du vill, eller låta dem ligga kvar i security.php.Se datakryptering för mer information om den här funktionen.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
Avancerade URL-inställningar
- publicurl: Ska anges till URL-adressen för dina ”publika skript”. De publika skripten är de som finns i mappen ”limesurvey” (eller vilket namn du än har gett katalogen där alla andra skript och kataloger finns). Den här inställningen finns i config.php och används när LimeSurvey behöver en absolut URL (till exempel när e-postmeddelanden med token skickas).
- tempurl: Ska anges till URL-adressen för din katalog ”/limesurvey/tmp” – eller till en katalog som du vill att LimeSurvey ska använda för att leverera tillfälliga filer.
- uploadurl: Ska anges till URL-adressen för din katalog ”/limesurvey/upload” – eller till en katalog som du vill att LimeSurvey ska använda för att leverera uppladdade filer. Det gör att du kan placera uppladdade filer på en annan URL-domän.
Avancerade sökvägsinställningar
- homedir: Ska anges till den fysiska platsen på disken för dina administrationsskript – till exempel "/home/usr/htdocs/limesurvey/admin". Lägg inte till ett avslutande snedstreck. Standardinställningen i config.php försöker identifiera rotsökvägen för alla dina dokument med hjälp av php-variabeln
{$_SERVER['DOCUMENT_ROOT']}. I de flesta fall kan du lämna detta som det är och bara ändra resten av strängen så att den matchar namnet på den katalog där du har lagt LimeSurvey-skripten. - publicdir: Ska anges till den fysiska platsen på disken för dina ”publika skript”.
- tempdir: Ska anges till den fysiska platsen på disken för din katalog /limesurvey/tmp så att skriptet kan läsa och skriva filer.
- uploaddir: Ska anges till den fysiska platsen på disken för din katalog /limesurvey/upload så att skriptet kan läsa och skriva filer.
- sCKEditorURL: URL-adressen till CKEditor-skriptet.
Andra avancerade inställningar
Ladda upp filer
- magic_database: Gör det möjligt att använda en annan MIME-databas för finfo_open. Kan endast ändras i filen config.php. Exempel:
/usr/share/misc/magic.mgcför Linux baserat på Red Hat. - magic_file: Gör det möjligt att använda en annan fil för att hämta samlingen av filändelser per MIME-typ än den som ingår. Måste vara en PHP-fil som returnerar en samling. Kan endast ändras i filen config.php.
Uppdatering
- updatable: Den här inställningen finns i version.php. Kan vara true eller false. Om du anger true kontrollerar LimeSurvey när en superadministratör loggar in om en uppdatering finns tillgänglig och visar en varning. Om du anger false utförs ingen kontroll och du kan inte använda ComfortUpdate.
Token
- allowedcharacters_pattern_token : Dessa inställningar gör det möjligt att ange regexp-mönstret som används vid filtrering av token.