Valinnaiset asetukset
From LimeSurvey Manual
Tämä osio on tarkoitettu niille, jotka haluavat muokata sellaisia määritysasetuksia, joita ei voi muuttaa LimeSurvey-asennuksen graafisen käyttöliittymän (GUI) avulla. Muista, että kaikki LimeSurveyn juurihakemistossa tehtävät muutokset teet omalla vastuullasi. Jos kuitenkin kohtaat ongelmia tai tarvitset lisäohjeita, liity keskustelufoorumeihin, niin saat apua LimeSurvey-yhteisöltä.
Johdanto
Asennuksen määritysasetuksia muokataan valinnaisten asetusten kautta. Ne löytyvät tiedostosta /application/config/config-defaults.php, joka sijaitsee LimeSurveyn juurihakemistossa. Vakioasennuksen oletusasetukset löytyvät tiedostosta config-defaults.php. Osan niistä voi ohittaa yleiset asetukset -valintaikkunassa, kun taas loput on muokattava manuaalisesti.
Päivityksen yhteydessä muuttuvat vain config-defaults.php-tiedoston asetukset. Siksi config.php-tiedoston muokkaaminen säilyttää mukauttamasi asetukset.
Jos haluat päivittää tai lisätä LimeSurveyn asetuksia tiedostossa /application/config/config.php, sinun on päivitettävä config-taulukko:
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'New value', // Update default LimeSurvey config here
)
Yii-asetukset
LimeSurvey käyttää Yii-kehystä, jolla on omat määritysparametrinsa tiedostoissa application/config/internal.php ja application/config/config.php. Voit myös muokata joitakin LimeSurveyn erityisiä määritysasetuksia Yii-määrityksen kautta.
Koska config.php-taulukko yhdistetään koko määritykseen, voit korvata mitä tahansa Yii-parametreja config.php-tiedostossa.
Yii-kohtaiset asetukset määritetään components-taulukossa:
'components' => array(
'db' => array(
....
),
'Specific settings'=>array(
....
),
),
Tietokannan asetukset
Asennusohjelma kirjoittaa tietokannan asetukset tiedostoon config.php, kun asennat LimeSurveyn ensimmäisen kerran. Tarvittaessa voit päivittää tätä config.php-tiedoston osaa. Muista, että teet sen omalla vastuullasi! Katso myös Yii-dokumentaatio ja muista, että LimeSurvey tukee vain seuraavia tietokantatyyppejä: mysql, pgsql, dblib, mssql ja sqlsrv.
Istuntoasetukset
Voit määrittää joitakin istuntoparametreja config.php-tiedostossa (katso kaksi alla olevaa esimerkkiä). Voit poistaa kommentit tarvitsemastasi osasta tai lisätä sen config.php-tiedostoon. Muut asetukset löytyvät Yii-dokumentaatiosta.
Taulupohjaisten istuntojen käyttö
LimeSurvey voi käyttää taulupohjaisia istuntoja. Oletuksena luodussa config.php-tiedostossa on kommentoitu osa tätä varten. Voit ottaa taulupohjaiset istunnot käyttöön poistamalla jokaisen rivin edestä merkinnän //.
'session' => array (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions}}',
),
Muut istuntopäivitykset
Jos käytät LimeSurvey-asennuksessasi SSL:ää ('https'), seuraavien rivien lisääminen config.php-tiedostoon parantaa istunnon turvallisuutta:
// 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
),
),
Jos haluat kiinnittää evästeen toimialueen, käytä config.php-tiedostossa seuraavaa syntaksia:
// Set the domain for cookie
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
Jos samalla palvelimella on useita asennuksia, voi olla nopeampaa ja helpompaa asettaa jokaiselle LimeSurvey-asennukselle eri istunnon nimi. Tämä voi olla tarpeen IE11:llä tietyissä tilanteissa (katso issue 12083)
// Set the name of the session
'session' => array (
'sessionName' => "LimeSurveyN1",
),
Pyyntöasetukset
Pyyntöasetukset ovat tärkeitä, mutta oletusasetukset on jo optimoitu LimeSurveyn käyttöön. Lisätietoja niistä on Yii-dokumentaatiossa.
LimeSurveyn pyyntöasetusten määritystä voi esimerkiksi muokata seuraavilla tavoilla (omalla vastuullasi):
// 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/',
)
),
Jos haluat päivittää vain kutsusähköpostien URL-osoitteen, aseta publicurl config.php-tiedostossa.
Istunnon ja CSRF-validoinnin salliminen iFramessa
Kun otat käyttöön asetuksen IFrame-upotus sallittu yleisissä tietoturva-asetuksissa, selaimet voivat vain näyttää kyselysi iframessa. Jotta osallistujat voivat täyttää ja lähettää kyselyn iframen sisällä, sinun on lisäksi muutettava istunto- ja CSRF-evästeiden asetuksia config.php-tiedostossa alla kuvatulla tavalla. Molemmat evästeet on lähetettävä arvolla SameSite=None, jonka selaimet hyväksyvät vain voimassa olevan HTTPS-yhteyden kautta.
Istunnon aloittamisen salliminen iframessa
Istuntoevästeen on oltava suojattu (vaatii toimivan HTTPS-yhteyden) ja httponly, ja samesite-arvoksi on asetettava None. Avainten cookieParams sisällä on oltava kirjoitettu kokonaan pienillä kirjaimilla.
'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',
),
),
Salli CSRF-eväste iframessa
Istuntoevästeen tavoin CSRF-evästeen on oltava suojattu, ja sameSite-arvoksi on asetettava None. Huomaa, että avain kirjoitetaan tässä muodossa sameSite. Lisää koko request-taulukko samalle tasolle kuin session.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
URL-asetukset
Voit muuttaa oletusarvoisia URL-asetuksia päivittämällä urlManagerin:
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
),
Voit myös lisätä .html-päätteen kyselyn ID:n perään seuraavasti:
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array (
'<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => false,
),
Lisätietoja löytyy Yii-dokumentaatiosta.
Lokiasetukset
Yii tarjoaa erilaisia tapoja lokien luomiseen. Lisätietoja löydät lokien erityisaiheesta. LimeSurvey käyttää oletuksena arvoa '1' tai '2', jolloin jokainen verkon käyttäjä voi nähdä lokit. Voit luoda omat asetuksesi käyttämällä Yii:tä suoraan.
Nopea tapa kirjata virheet ja varoitukset tiedostoihin on esimerkiksi seuraava:
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, joka sijaitsee LimeSurveyn juurikansiossa..
Ajonaikainen polku
Ajonaikaisen polun on oltava hakemisto, jota ”web-käyttäjä” voi lukea ja johon se voi kirjoittaa. Ajonaikainen polku sisältää kuitenkin tiedostoja, joissa voi olla tietoturvan kannalta arkaluonteista tietoa ja jotka sijaitsevat julkisesti verkosta saatavilla olevalla alueella. LimeSurvey kerää nämä tiedostot LimeSurveyn juurihakemiston temp-hakemistoon. Voit estää pääsyn näihin tärkeisiin tietoihin asettamalla ajonaikaisen polun julkisen verkkopääsyn ulkopuolelle muokkaamalla vastaavia rivejä tiedostossa /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Yleiset asetukset
- sitename: Antaa kyselysivustollesi nimen. Tämä nimi näkyy kyselylistan yleiskatsauksessa ja hallintapaneelin otsikossa. Oletusarvo on 'LimeSurvey', ja se voidaan ohittaa yleisten asetusten valintaikkunassa tai muokata tiedostossa config.php.
- siteadminemail: Tämä on sivuston ylläpitäjän oletussähköpostiosoite, jota käytetään järjestelmäviesteihin ja yhteydenottovaihtoehtoihin. Asetusta käytetään vain oletusarvona, ja se voidaan ohittaa yleisten asetusten valintaikkunassa.
- showEmailInError: Käytä sivuston ylläpitäjän oletussähköpostia (siteadminemail) mailto-linkissä virhesivulla. Poista käytöstä, jos haluat näyttää vain ylläpitäjän nimen. Oletuksena käytössä, jotta ylläpitäjän sähköpostiin ei tulisi enempää roskapostia.
- siteadminbounce: Tämä on sähköpostiosoite, johon palautuneet sähköpostit lähetetään. Asetusta käytetään vain oletusarvona, ja se voidaan ohittaa yleisten asetusten valintaikkunassa.
- siteadminname: Sivuston ylläpitäjän oikea nimi. Asetusta käytetään vain oletusarvona, ja se voidaan ohittaa yleisten asetusten valintaikkunassa.
- proxy_host_name: Tämä on välityspalvelimesi (proxy) isäntänimi (se on annettava, jos olet välityspalvelimen takana ja haluat päivittää LimeSurveyn ComfortUpdaten avulla).
- proxy_host_port: Tämä on välityspalvelimesi (proxy) portti (se on annettava, jos olet välityspalvelimen takana ja haluat päivittää LimeSurveyn ComfortUpdaten avulla).
Tietoturva
- maxLoginAttempt: Tämä on yritysten määrä, jonka käyttäjällä on oikean salasanan syöttämiseen, ennen kuin hänen IP-osoitteensa estetään. Oletusarvo on 3, ja sitä voi muuttaa tiedostossa config.php.
- timeOutTime: Jos käyttäjä syöttää salasanan väärin <maxLoginAttempt> kertaa, hänet lukitaan ulos <timeOutTime> sekunnin ajaksi. Oletusarvo on 10 minuuttia, ja sitä voi muuttaa tiedostossa config.php.
- maxLoginAttemptParticipants: Tämä on yritysten määrä, jonka osallistujalla on voimassa olevan tokenin syöttämiseen, ennen kuin hänen IP-osoitteensa estetään. Oletusarvo on 3, ja sitä voi muuttaa tiedostossa config.php.
- timeOutParticipants: Jos osallistuja syöttää tokenin väärin <maxLoginAttemptParticipants> kertaa, hänet lukitaan ulos <timeOutParticipants> sekunnin ajaksi. Oletusarvo on 10 minuuttia, ja sitä voi muuttaa tiedostossa config.php.
- surveyPreview_require_Auth: Oletuksena true. Jos asetat arvoksi 'false', kuka tahansa voi testata kyselyäsi kyselyn osoitteen avulla kirjautumatta hallintapaneeliin ja aktivoimatta kyselyä ensin. Tämä asetus on oletusarvo, ja se voidaan ohittaa yleisten asetusten valintaikkunassa tai muokata tiedostossa config.php.
- usercontrolSameGroupPolicy: Oletuksena true. Oletuksena LimeSurveyn hallintaliittymässä määritetyt muut kuin ylläpitäjäkäyttäjät näkevät vain itse luomansa käyttäjät tai käyttäjät, jotka kuuluvat ainakin yhteen samaan ryhmään. Oletusarvo voidaan ohittaa yleisten asetusten valintaikkunassa tai muokata tiedostossa config.php.
- demoMode: Jos tämä asetus on tiedostossa config.php arvossa 'true', LimeSurvey siirtyy demotilaan. Demotila muuttaa seuraavia asioita:
- Poistaa käytöstä ylläpitäjäkäyttäjän tietojen ja salasanan vaihtamisen;
- Poistaa käytöstä tiedostojen lähetyksen mallieditorissa;
- Poistaa käytöstä sähköpostikutsujen ja muistutusten lähettämisen;
- Poistaa käytöstä tietokannan vedoksen luomisen;
- Poistaa käytöstä seuraavien yleisten asetusten muokkaamisen: sivuston nimi, oletuskieli, HTML-editorin oletustila, XSS-suodatin.
- forcedsuperadmin: Luettelo käyttäjien ID-tunnuksista, joilla on kaikki oikeudet koko LimeSurveyssa. Tätä asetusta voi päivittää vain tiedostossa config.php. Näiden käyttäjien oikeuksia ei voi muokata kohdassa käyttäjän yleiset oikeudet edes toinen pakotettu pääkäyttäjä. Oletuksena nämä oikeudet on käyttäjällä, jonka ID on 1, eli asennuksen jälkeen ensimmäisenä luodulla käyttäjällä.
- force_ssl: pakottaa LimeSurveyn toimimaan HTTPS:n kautta tai estää HTTPS:n. Katso yleisten asetusten hallintaliittymän kohta Pakota HTTPS.
- ssl_emergency_override: Tämä asetus pakottaa SSL:n pois päältä. Jos olet ottanut HTTPS/SSL:n käyttöön yleisissä asetuksissa, mutta palvelimellasi ei ole HTTPS käytössä, ainoa tapa poistaa se käytöstä on muuttaa arvoa suoraan tietokannassa. Tämän avulla voit pakottaa HTTPS:n pois päältä, kun muutat yleisiä asetuksia. Tämän tulisi aina olla false, paitsi hätätilanteissa, jolloin asetat sen arvoon true, kunnes ongelma on korjattu. Tämän asetuksen voi asettaa vain tiedostossa config.php.
- ssl_disable_alert: Poista käytöstä pääkäyttäjälle näytettävä varoitus pakottamattomasta SSL:stä, jos et todella voi tai halua pakottaa SSL:ää. Tämän asetuksen voi asettaa vain tiedostossa config.php.
- allow_unserialize_attributedescriptions: Salli token-attribuuttien palauttaminen (PHP:n unserialize-funktiolla) kyselyobjektia tuotaessa tai luettaessa. Token-attribuuttien tiedot tallennetaan JSON-muodossa. Jos tuot kyselytiedoston hyvin vanhasta LimeSurveyn versiosta ja tarvitset sen token-attribuutit, sinun on otettava tämä asetus käyttöön. Varoitus: palauttaminen voi johtaa koodin lataamiseen ja suorittamiseen objektien luonnin ja automaattisen latauksen vuoksi, ja haitallinen käyttäjä voi hyödyntää tätä. Tämän asetuksen voi asettaa vain tiedostossa config.php.
- allow_unserialize_attachments: Salli liitteiden attribuuttien palauttaminen (PHP:n unserialize-funktiolla) kyselyä tuotaessa. LimeSurveyn versiossa 6.16.17 liitteiden attribuutti siirtyi serialize-muodosta json_encode-muotoon. Jos haluat säilyttää liitteet tuodessasi vanhan LSS-tiedoston, sinun on sallittava tämä. Varoitus: palauttaminen voi johtaa koodin lataamiseen ja suorittamiseen objektien luonnin ja automaattisen latauksen vuoksi, ja haitallinen käyttäjä voi hyödyntää tätä. Tämän asetuksen voi asettaa vain tiedostossa config.php.
- twig_getConfig_extraallowlist: Mahdollistaa tiettyjen elementtien sallimisen Twigin getConfig-funktiossa. LimeSurvey sallii jo useimmat tarvittavat ja käytetyt asetukset, mutta saatat tarvita lisää. Jos haluat sallia asetukset 'securesetting' ja 'anothersetting', aseta tämän arvoksi
['securesetting','anothersetting']näin:'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Tämän asetuksen voi asettaa vain tiedostossa config.php.
Sivustojen välisten komentosarjahyökkäysten (XSS) suojaus
LimeSurvey ei sallinut käyttäjien komentosarjoja hallintasivulla. Jos löydät tavan lisätä XSS-komentosarja hallintasivulle minkä tahansa käyttäjän toimesta, tutustu tietoturvakäytäntöömme.
Julkisten sivujen komentosarjoja hallitaan XSS-suodatinasetuksilla.
- filterxsshtml: Tämä asetus ottaa käyttöön epäilyttävien HTML-tagien suodatuksen kyselyissä, ryhmissä sekä kysymys- ja vastaustekstien sisällä hallintaliittymässä. Jätä tämä arvoon 'false' vain, jos luotat täysin LimeSurveyn hallintaa varten luomiisi käyttäjiin ja haluat sallia heidän käyttää JavaScriptiä, Flash-elokuvia jne. Pääkäyttäjien HTML:ää ei koskaan suodateta. Oletusarvo voidaan ohittaa yleisten asetusten valintaikkunassa.
- filterxsshtml_forcedall: Pakota
filterxsshtmlarvoon true kaikille käyttäjille ja poista päivitykset käytöstä hallintaliittymässä. Ottaa epäilyttävien HTML-tagien suodatuksen käyttöön myös pääkäyttäjälle. - filterxsshtml_allowforcedsuperadmin: Käytössä vain, jos
filterxsshtml_forcedallon true. Sallii minkä tahansa komentosarjan ja HTML:n lisäämisenforcedsuperadmin-käyttäjällä (oletuksena ylläpitäjä #1). - disablescriptwithxss: Salli komentosarjan päivittäminen kysymyksessä: oletuksena true eli noudatetaan XSS-sääntöjä; aseta arvoon false, jos haluat sallia sen kaikille käyttäjille. Oletusarvo voidaan ohittaa yleisten asetusten valintaikkunassa.
- filterxsshtml_enablescript: Käytössä vain, jos filterxsshtml_forcedall on true. Ota kysymyskomentosarja käyttöön tietylle käyttäjälle:
gui: salli asetuksen päivitys hallintaliittymässä;superadmin: vain pääkäyttäjä;forcedsuperadmin: vain pakotettu pääkäyttäjä; oletuksena: ei yhtään käyttäjää eikä päivitystä hallintaliittymässä
Sallitut tiedostojen lähetykset
- allowedthemeimageformats : Kuvatiedostotyypit, joiden lähetys on sallittu teemat-osiossa. Oletuksena SVG-tiedostot on poistettu käytöstä mahdollisen XSS-hyökkäyksen vuoksi.
- allowedthemeuploads : Muut tiedostotyypit, joiden lähetys on sallittu teemat-osiossa (zip-tiedosto)
- allowedresourcesuploads : Tiedostotyypit, joiden lähetys on sallittu resurssit-osioissa ja HTML-editorissa
- allowedpluginuploads : Tiedostotyyppi, joka sallitaan lisäosan zip-tiedostoa lähetettäessä.
Syötä pilkuilla erotettu luettelo tiedostopäätteistä. Esimerkiksi:
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
Varoitus: Ole aina varovainen salliessasi tiedostojen lataukset. Haitallista toimintaa voi esiintyä.
Lisäosat
- usePluginWhitelist : Jos arvo on tosi, lisäosia, jotka eivät ole sallittujen luettelossa (katso 'pluginWhitelist'), ei voi asentaa eikä ladata. Tämä voi poistaa jo asennetut lisäosat käytöstä.
- pluginWhitelist : Luettelo lisäosien nimistä, jotka saa asentaa ja ladata, kun 'usePluginWhitelist' on tosi. Ydinlisäosat ovat implisiittisesti sallittuja.
- corePluginBlacklist : Luettelo ydinlisäosien nimistä, jotka ovat kiellettyjä, kun 'usePluginWhitelist' on tosi.
- disablePluginUpload : Kun tämä asetus on tosi, "Plugin Upload" -ominaisuus on poistettu käytöstä
Isännän hallinta
- allowedHosts : Voit estää Host Header Injection -hyökkäykset määrittämällä sallitut isännät kaikille toiminnoille. Jos käytät eri isäntää julkiselle sivulle ja hallintasivulle, molemmat täytyy määrittää sallituiksi isänniksi.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
Resurssit
- iSessionExpirationTime: Määrittää sekunteina ajan, jonka jälkeen kyselyistunto vanhenee. Se koskee vain tilannetta, jossa käytät tietokantaistuntoja. Jos käytät tietokantaistuntoja, muuta parametria config.php-tiedostossa tai ohita oletusarvo yleiset asetukset -ikkunassa.
- memory_limit: Määrittää, kuinka paljon muistia LimeSurvey voi käyttää megatavuina. Oletusarvo on '256'. Jos saat aikakatkaisuvirheitä tai tilastojen luonnissa tai tiedostojen viennissä on ongelmia, nosta raja arvoon '512' tai korkeammaksi. Jos verkkopalvelimesi php.ini-tiedostossa on asetettu korkeampi raja, tämä asetus ohitetaan.
Voit yrittää nostaa muistirajan 128 megatavuun myös lisäämällä:
- memory_limit = 128M palvelimesi pääasialliseen php.ini-tiedostoon (suositeltavaa, jos sinulla on pääsy)
- memory_limit = 128M php.ini-tiedostoon LimeSurveyn juurihakemistossa
- php_value memory_limit 128M .htaccess-tiedostoon LimeSurveyn juurihakemistossa
- max_execution_time: Määrittää sekunteina ajan, jonka skriptin sallitaan olla käynnissä. Jos raja ylittyy, skripti palauttaa vakavan virheen. Jotta suurten kyselyaineistojen ja tilastojen vienti onnistuisi, LimeSurvey yrittää oletuksena asettaa arvoksi 1200 sekuntia. Voit tarvittaessa asettaa pidemmän tai lyhyemmän ajan. Käytettävissä vain php-asetustiedoston kautta.
Ulkoasu
- repeatheadings: Taulukko-kysymystyypissä alikysymyksiä on usein paljon, ja ne vievät näytöllä useamman kuin yhden sivun. Tämän asetuksen avulla voit päättää, kuinka monta alikysymystä näytetään ennen kuin kysymyksen otsikkotiedot toistetaan. Hyvä arvo on noin 15. Jos et halua otsikoiden toistuvan lainkaan, aseta arvoksi 0. Tämä asetus ohitetaan yleiset asetukset -ikkunassa.
- minrepeatheadings: Jäljellä olevien alikysymysten vähimmäismäärä, joka vaaditaan ennen kuin otsikot toistetaan taulukkokysymyksissä. Oletusarvo on 3, ja sitä voi muokata config.php-tiedostossa.
- defaulttheme: Tämä asetus määrittää oletusteeman, jota käytetään kyselyjen 'julkisessa listassa'. Tämän asetuksen voi ohittaa yleiset asetukset -ikkunassa tai sitä voi muokata config.php-tiedostossa.
- defaulthtmleditormode: Määrittää integroidun HTML editorin oletustilan. Tämän asetuksen voi ohittaa yleiset asetukset -ikkunassa tai sitä voi muokata config.php-tiedostossa. Sallitut arvot ovat:
- 'inline' - Kentät korvataan HTML editorilla suoraan sivulla. Hidas mutta kätevä ja käyttäjäystävällinen;
- 'popup' - Lisää kuvakkeen, joka avaa HTML editorin tarvittaessa ponnahdusikkunassa. Nopeampi, mutta HTML-koodi näytetään lomakkeessa;
- 'none'- Ei HTML editoria;
- column_style: Määrittää, miten sarakkeet esitetään kyselyn vastauksissa, kun käytetään asetusta display_columns. Sitä voi muokata config.php-tiedostossa. Sallitut arvot ovat:
- 'css' - käyttää jotakin useista CSS-menetelmistä sarakkeiden luomiseen (katso lisätietoja teeman tyylitiedostosta);
- 'ul' - sarakkeet esitetään useina float-määriteltyinä järjestämättöminä listoina (oletus);
- 'table' - käyttää perinteistä taulukkopohjaista asettelua;
- NULL - poistaa sarakkeiden käytön.
Kieli ja aika
- defaultlang: Tämän tulisi olla hallintaskripteissäsi käytettävä oletuskieli, ja se on myös julkisen kyselylistan kielen oletusasetus. Tämän asetuksen voi ohittaa yleiset asetukset -ikkunassa tai sitä voi muokata config.php-tiedostossa.
- timeadjust: Jos verkkopalvelimesi on eri aikavyöhykkeellä kuin paikka, johon kyselysi perustuvat, syötä tähän palvelimesi ja oman aikavyöhykkeesi välinen ero. Esimerkiksi asun Australiassa, mutta käytän yhdysvaltalaista verkkopalvelinta. Palvelin on 14 tuntia paikallista aikaani jäljessä, joten asetukseni on tässä "14". Toisin sanoen se lisää verkkopalvelimen aikaan 14 tuntia. Tämä asetus on erityisen tärkeä, kun kyselyissä tallennetaan vastauksille aikaleima. Tämän asetuksen voi ohittaa yleiset asetukset -ikkunassa tai sitä voi muokata config.php-tiedostossa.
Kyselyn toiminta
- deletenonvalues: Käytä tätä ominaisuutta varoen. Oletuksena (arvo 1) epäolennaiset kysymykset asetetaan tietokannassa arvoon NULL. Tämä varmistaa, että tietokantasi tiedot ovat sisäisesti johdonmukaisia. On kuitenkin harvinaisia tilanteita, joissa epäolennaiset arvot halutaan säilyttää, jolloin arvoksi voi asettaa 0. Kysyt esimerkiksi mieheltä hänen sukupuoltaan, ja hän vastaa vahingossa 'nainen' ja vastaa sitten joihinkin naisille tarkoitettuihin kysymyksiin (kysymykset, joiden ehtona on naiseus, joten ne ovat olennaisia vain naisille). Sitten hän huomaa virheensä, palaa takaisin, vaihtaa sukupuoleksi 'mies' ja jatkaa kyselyä. Nyt naisille tarkoitetut kysymykset ovat epäolennaisia. Jos
$deletenonvalues==1, nämä epäolennaiset arvot tyhjennetään (NULL) tietokannassa. Jos$deletenonvalues==0, hänen virheellisiä vastauksiaan ei poisteta, joten ne ovat edelleen tietokannassa, kun analysoit sitä. - shownoanswer: Kun valintanappi- tai valintalistatyyppinen kysymys, jossa on muokattavia vastauksia (esim. lista- ja taulukkokysymykset), ei ole pakollinen ja 'shownoanswer' on asetettu arvoon 1, näytetään ylimääräinen 'Ei vastausta' -vaihtoehto, jotta osallistujat voivat halutessaan jättää kysymykseen vastaamatta. Jotkut haluavat, ettei tätä vaihtoehtoa ole tarjolla. Tämän asetuksen voi ohittaa yleiset asetukset -ikkunassa tai sitä voi muokata config.php-tiedostossa. Sallitut arvot ovat:
- '0': Ei;
- '1': Kyllä;
- '2': Kyselyn ylläpitäjä voi valita.
- printanswershonorsconditions: Tämä asetus määrittää, näyttääkö printanswers-ominaisuus vastaukset kysymyksistä, jotka on piilotettu ehtohaaroituksella (oletus: 1 = piilota vastaukset kysymyksistä, jotka on piilotettu ehdoilla).
- showpopups: Näytä ponnahdusviestit, jos pakollisiin tai ehdollisiin kysymyksiin ei ole vastattu oikein:
- '2' = määräytyy teeman asetuksen mukaan (oletus)
- '1'= näytä ponnahdusviesti;
- '0'= näytä viesti sen sijaan sivulla;
- '-1'= älä näytä viestiä lainkaan (tässä tapauksessa käyttäjät näkevät silti kysymyskohtaiset vihjeet, jotka kertovat, mihin kysymyksiin on vastattava).
Numeerisen kysymystyypin toiminta
- bFixNumAuto: Numeeriset kentät voidaan suodattaa automaattisesti poistamaan kaikki ei-numeeriset arvot. Oletuksena tämä on käytössä, ja voit poistaa sen käytöstä kaikkialta. Tämä asetus liittyy valmisteeman asetuksen Korjaa numeerinen arvo automaattisesti arvoihin. Se on käytössä arvolla Kyllä ja pois käytöstä arvoilla Ilmaukselle ja Ei.
- bNumRealValue: Lausekehallinnassa käytettävät numeeriset kentät voidaan korjata tai jättää korjaamatta. Oletuksena ne korjataan. Jos NUMERIC on numeerinen kysymys: pois käytöstä tai 0 : {NUMERIC} palauttaa virheellisillä merkeillä '', käytössä tai 1 : {NUMERIC} palauttaa kaikki syötetyt merkit. Tämä asetus liittyy valmisteeman asetuksen Korjaa numeerinen arvo automaattisesti arvoihin. Se on käytössä arvoilla Kyllä ja Ilmaukselle ja pois käytöstä arvolla Ei.
Kehitys ja virheenkorjaus
- debug: Tällä asetuksella asetat PHP:n virheraportoinnin tasolle E_ALL. Tämä tarkoittaa, että jokainen skriptiin liittyvä pieninkin huomautus, varoitus tai virhe näytetään. Tämä asetus tulisi asettaa arvoon '1' vain, jos yrität jostain syystä korjata sovelluksen virheitä. Jos olet kehittäjä, aseta arvoksi '2'. Älä aseta arvoksi '1' tai '2' tuotantoympäristössä, koska se voi paljastaa polkuja. Oletusarvo on '0', ja sitä voi muokata config.php-tiedostossa.
- debugsql: Aktivoi tämä asetus, jos haluat näyttää kaikki skriptin suorittamat SQL-kyselyt jokaisen sivun alareunassa. Erittäin hyödyllinen kyselyjen määrän optimoinnissa. Aktivoidaksesi sen muuta oletusarvo arvoon '1' config.php-tiedostossa.
- use_asset_manager: Oletuksena virheenkorjaustila poistaa resurssienhallinnan käytöstä. Voit sallia resurssienhallinnan käytön myös virheenkorjaustilassa.
Jos sovelluksessa ilmenee virhe, suosittelemme vahvasti aktivoimaan virheenkorjausasetuksen, jotta saat yksityiskohtaisemman virheilmoituksen, jonka voit liittää virheraporttiin:
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Jos kehität lisäosaa ja tarvitset nopean tavan tulostaa muuttujia näytölle, voit käyttää traceVar-funktiota. Jos debug on asetettu, tämä funktio käyttää CWebLogRoute-luokkaa näyttääkseen tiedot HTML-sivulla. Käyttö: traceVar($MyVariable)
Sähköpostiasetukset
Kaikki alla olevat asetukset voi ohittaa yleiset asetukset -ikkunassa.
- 'emailmethod: Tämä määrittää, miten sähköpostiviestit lähetetään. Käytettävissä ovat seuraavat vaihtoehdot:
- 'mail:' käyttää PHP:n sisäistä sähköpostin lähetystä;
- 'sendmail:' käyttää sendmail-ohjelmaa;
- 'smtp:' käyttää SMTP-välitystä. Käytä tätä asetusta, kun ajat LimeSurveyta palvelimella, joka ei ole sähköpostipalvelimesi.
- 'emailsmtphost: Jos käytät arvoa 'smtp' asetuksessa
$emailmethod, sinun täytyy syöttää tähän SMTP-palvelimesi. Jos käytät Google-sähköpostia, saatat joutua lisäämään portin numeron, esimerkiksi $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Jos SMTP-palvelimesi vaatii todennuksen, aseta tähän käyttäjänimesi, muuten kentän on oltava tyhjä.
- emailsmtppassword: Jos SMTP-palvelimesi vaatii todennuksen, aseta tähän salasanasi, muuten kentän on oltava tyhjä.
- emailsmtpssl: Aseta arvoksi 'ssl' tai 'tls', jos haluat käyttää SSL/TLS-suojausta SMTP-yhteydessä.
- maxemails: Kun lähetät kutsuja tai muistutuksia kyselyn osallistujille, tämä asetus määrittää, kuinka monta sähköpostia voidaan lähettää yhdessä erässä. Eri verkkopalvelimilla on eri sähköpostikapasiteetti, ja jos skriptisi lähettää sähköpostierän liian kauan, skripti voi aikakatkaistua ja aiheuttaa virheitä. Useimmat verkkopalvelimet pystyvät lähettämään 100 sähköpostia kerrallaan PHP-skriptin oletusaikarajan, 30 sekunnin, puitteissa. Jos saat skriptin aikakatkaisuvirheitä lähettäessäsi suuria sähköpostimääriä, pienennä tätä lukua. Kun napsautat 'Lähetä sähköpostikutsu' -painiketta osallistujahallinnan työkalupalkista (ei kunkin osallistujan oikealla puolella olevaa painiketta), se lähettää <maxemails> määrän kutsuja ja näyttää sitten luettelon vastaanottajien osoitteista sekä varoituksen, että lähetettäviä sähköposteja on enemmän kuin yhteen erään mahtuu. Jatka sähköpostien lähettämistä napsauttamalla alla. Lähettämättä on vielä ### sähköpostia. ja tarjoaa "jatka"-painikkeen seuraavaan erään siirtymiseksi. Eli käyttäjä päättää, milloin seuraava erä lähetetään kunkin erän jälkeen. Tämän näkymän ei tarvitse olla auki odottamisen ajan. Ylläpitäjä voi kirjautua ulos ja palata myöhemmin lähettämään seuraavan kutsuerän.
Tilastot ja vastausten selaus
- filterout_incomplete_answers: Määrittää keskeneräisten vastausten suodatuksen oletuskäyttäytymisen vastauksia selatessa tai analysoitaessa. Keskeneräisistä vastauksista on lisätietoa sivulla kyselyn tulosten selaaminen. Koska nämä tietueet voivat vääristää tilastoja, suodattimen voi ottaa käyttöön tai poistaa käytöstä useissa käyttöliittymän lomakkeissa. Parametria voi muokata tiedostossa config.php. Käytettävissä ovat seuraavat vaihtoehdot:
- 'all': Näyttää sekä valmiit että keskeneräiset vastaukset;
- 'complete': Näyttää vain valmiit vastaukset;
- 'incomplete': Näyttää vain keskeneräiset vastaukset.
- strip_query_from_referer_url: Tämä asetus määrittää, tallentaako viittaava URL parametrin vai ei. Oletusarvo on 'false' (tällöin viittaava URL tallentaa kaikki parametrit). Vaihtoehtoisesti arvoksi voidaan asettaa 'true', jolloin viittaavan URL:n parametriosa poistetaan.
- showaggregateddata: kun tämä on aktivoitu, näytetään lisätilastoarvoja, kuten keskiarvo ja keskihajonta. Lisäksi tiedot yhdistetään nopeamman yleiskatsauksen saamiseksi. Esimerkiksi skaalojen 1+2 ja 4+5 tulokset lasketaan yhteen, jolloin saadaan yleinen sijoitus, kuten "hyvä" (1/2), "keskimääräinen" (3) ja "huono" (4/5). Tämä vaikuttaa vain kysymystyyppeihin "A" (5 pisteen taulukko) ja "5" (5 pisteen valinta).
- PDF-vientiasetukset: Tämä ominaisuus aktivoi PDF-viennin tulostettaville kyselyille ja toiminnolle Tulosta vastaukset. PDF-vienti on täysin kokeellinen, eikä tulos ole läheskään täydellinen. Tukea ei valitettavasti voida tällä hetkellä antaa – jos haluat auttaa korjaamaan sen, ota meihin yhteyttä.
- 'pdfdefaultfont': Oletusfontti, jota PDF-vienti käyttää. Oletusarvo on 'auto'. Voit vaihtaa sen asettamalla arvoksi jonkin PDF-ydinfonteista.
- 'alternatepdffontfile': Taulukko, jossa on kielikoodit ja niitä vastaavat fontit. Kunkin kielen oletusfontin voi korvata tiedostossa config.php;
- 'pdffontsize': Normaalin tekstin fonttikoko. Kyselyn otsikon koko on <pdffontsize>+4 ja ryhmän otsikon <pdffontsize>+2. Sitä voi muokata tiedostossa config.php tai yleisten asetusten valintaikkunassa.
- Kaavioasetus
- 'chartfontfile': Määrittää tilastokaavioiden luomiseen käytettävän fonttitiedoston tiedostonimen. Tiedoston on sijaittava fonts-hakemistossa, joka on LimeSurveyn juurikansiossa. Sitä voi muokata tiedostossa config.php;
- 'alternatechartfontfile': Taulukko, jossa on kielikoodit ja niitä vastaavat fontit. Sitä voi muokata tiedostossa config.php.
- showsgqacode: Tätä asetusta käytetään tulostettavan kyselyn ominaisuudessa, ja sen oletusarvo on 'false. Jos asetat showsgqacode = 'true';, jokaisen kysymyksen – ja soveltuvin osin vastauksen – tunnukset näytetään. Nämä tunnukset vastaavat Lime_survey_12345-taulukon sarakeotsikoita, jotka sisältävät tietyn kyselyn vastaustiedot. Tunnuksia voi käyttää koodikirjana manuaalisia tietokantakyselyjä varten.
LDAP-asetukset
Koska aihe on laaja, olemme siirtäneet LDAP-asetukset toiselle sivulle.
Tunnistautuminen
Tunnistautumista hoitavat lisäosat. Alla olevia asetuksia käyttää Webserver-tunnistautumislisäosa, katso Tunnistautumislisäosat.
Tunnistautumisen delegointi verkkopalvelimelle
Järjestelmänvalvojat saattavat haluta, että kyselyiden ylläpitäjät tunnistetaan keskitetyn tunnistautumisjärjestelmän (Active Directory, openLdap, Radius, ...) kautta LimeSurveyn sisäisen tietokannan sijaan. Helpoin tapa tähän on määrittää verkkopalvelinohjelmisto käyttämään tätä ulkoista tunnistautumisjärjestelmää ja pyytää sitten LimeSurveytä luottamaan verkkopalvelimen ilmoittamaan käyttäjäidentiteettiin. Ottaaksesi tämän ominaisuuden käyttöön sinun tulee:
- aktivoida Webserver-lisäosa kohdassa Asetukset > Lisäosat ja asettaa lisäosan asetuksissa palvelinavain, joka sisältää käyttäjänimen (oletus: REMOTE_USER);
- ottaa tunnistautuminen käyttöön verkkopalvelimen puolella.
Huomaa, että:
- LimeSurvey ohittaa tällöin oman tunnistautumisprosessinsa (käyttämällä verkkopalvelimen ilmoittamaa kirjautumisnimeä kysymättä salasanaa);
- tämä voi korvata vain LimeSurveyn käyttöliittymän tunnistautumisjärjestelmän, ei kyselyn kutsujärjestelmää (osallistujien käyttöliittymä).
Tunnistautumisen delegointi ilman automaattista käyttäjien tuontia
Huomaa, että tunnistautumisen delegointi ei oletuksena ohita LimeSurveyn valtuutusjärjestelmää – eli vaikka salasanoja ei tarvitse hallita LimeSurveyssä, käyttäjät on silti määritettävä LimeSurveyn tietokantaan ja heille on annettava oikeat oikeudet, jotta he pääsevät hallintapaneeliin.
Käyttäjä pääsee LimeSurveyhin vain, jos:
- hänet on tunnistettu verkkopalvelimella;
- hänen kirjautumisnimensä on määritetty käyttäjäksi LimeSurveyn käyttäjätietokannassa (käyttäjä saa tällöin LimeSurveyn käyttäjätietokantaan määritetyn käyttäjän oikeudet);
- hänellä on yleinen oikeus Käytä verkkopalvelintunnistautumista.
Tunnistautumisen delegointi automaattisella käyttäjien tuonnilla
Kun hallitaan suurta käyttäjätietokantaa, on joskus helpompaa tuoda käyttäjät automaattisesti LimeSurveyn tietokantaan:
- auth_webserver_autocreate_user: Jos arvo on 'true', LimeSurvey yrittää tuoda automaattisesti käyttäjät, jotka verkkopalvelin on tunnistanut mutta joita ei vielä ole sen käyttäjätietokannassa.
- auth_webserver_autocreate_profile: Taulukko, joka kuvaa käyttäjälle annettavan oletusprofiilin: koko (kuvitteellinen) nimi, sähköposti ja kieli.
- auth_webserver_autocreate_permissions: Taulukko, joka sisältää käyttäjälle annettavat yleiset oikeudet.
Jos haluat mukauttaa käyttäjäprofiilin vastaamaan kirjautunutta käyttäjää, sinun on kehitettävä tiedostoon config.php yksinkertainen funktio nimeltä hook_get_auth_webserver_profile – tällä funktiolla voit hakea keskitetystä käyttäjätilitietokannasta (esimerkiksi LDAP-hakemistosta) tietyn käyttäjän oikean koko nimen, sähköpostin ja kielen.
Funktio hook_get_auth_webserver_profile ottaa ainoaksi argumentikseen käyttäjän kirjautumisnimen ja voi palauttaa:
- arvon False tai tyhjän taulukon – tällöin käyttäjältä evätään pääsy LimeSurveyhin;
- taulukon, joka sisältää samat kentät kuin
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();
Käyttäjänimien yhdistäminen
Jos joillakin käyttäjillä on ulkoinen käyttäjänimi, joka eroaa heidän LimeSurvey-käyttäjänimestään, käyttäjänimien yhdistäminen voi olla hyödyllistä. LimeSurveyssä tämä tehdään parametrilla auth_webserver_user_map. Kuvitellaan esimerkiksi, ettei ulkoisessa tunnistautumistietokannassasi ole määritettynä käyttäjänimeä 'admin'. Jotta voit kirjautua LimeSurveyhin admin-käyttäjänä, sinun on yhdistettävä ulkoinen käyttäjänimesi (kutsutaan sitä nimellä 'myname') LimeSurveyn admin-kirjautumisnimeen. Vastaava määritys on:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
Kun olet tunnistautunut onnistuneesti kirjautumisnimellä 'myname' ja verkkopalvelimen salasanalla, sinulla on suoraan oikeus käyttää LimeSurveytä 'admin'-käyttäjänä.
Tällä on vakavia tietoturvavaikutuksia, joten käytä sitä varoen. Suojaa myös config.php kirjoitukselta verkkopalvelimen puolelta.
Kertakäyttöisten salasanojen käyttö
Käyttäjä voi avata LimeSurveyn kirjautumissivun osoitteessa default.com/limesurvey/admin ja kirjoittaa käyttäjätunnuksen sekä kertakäyttöisen salasanan, jonka ulkoinen sovellus on aiemmin kirjoittanut users-taulukkoon (sarake one_time_pw).
Tämä asetus on otettava käyttöön tiedostossa config.php, jotta kertakäyttöisiä salasanoja voi käyttää (oletus = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Lisätietoja löytyy osiosta "Käyttäjien hallinta".
Salausasetukset
application/config/security.php. Voit halutessasi siirtää nämä asetukset tiedostoon config.php tai jättää ne tiedostoon security.php.Katso lisätietoja tästä ominaisuudesta sivulta Tietojen salaus.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
Lisäasetukset: URL-osoitteet
- publicurl: Tähän tulee asettaa "julkisten skriptien" URL-osoite. Julkiset skriptit ovat "limesurvey"-kansiossa (tai millä nimellä tahansa olet nimennyt kansion, johon kaikki muut skriptit ja kansiot on tallennettu). Tämä asetus on käytettävissä config.php-tiedostossa, ja sitä käytetään, kun LimeSurvey tarvitsee absoluuttisen URL-osoitteen (esimerkiksi kun lähetetään osallistujakutsuja sähköpostitse).
- tempurl: Tähän tulee asettaa "/limesurvey/tmp"-kansion URL-osoite tai kansion, jota haluat LimeSurveyn käyttävän tilapäisten tiedostojen jakeluun.
- uploadurl: Tähän tulee asettaa "/limesurvey/upload"-kansion URL-osoite tai kansion, jota haluat LimeSurveyn käyttävän ladattujen tiedostojen jakeluun. Näin voit asettaa ladatut tiedostot toiseen verkkotunnukseen.
Lisäasetukset: polut
- homedir: Tähän tulee asettaa hallintaskriptiesi fyysinen sijainti levyllä, esimerkiksi "/home/usr/htdocs/limesurvey/admin". Älä lisää tähän loppukauttaviivaa. Oletusasetus config.php-tiedostossa yrittää tunnistaa kaikkien dokumenttiesi oletusjuuripolun php-muuttujan
{$_SERVER['DOCUMENT_ROOT']}avulla. Useimmissa tapauksissa voit jättää tämän ennalleen ja muokata vain merkkijonon loppuosan vastaamaan kansion nimeä, johon olet tallentanut LimeSurvey-skriptit. - publicdir: Tähän tulee asettaa "julkisten skriptien" fyysinen sijainti levyllä.
- tempdir: Tähän tulee asettaa /limesurvey/tmp-kansion fyysinen sijainti levyllä, jotta skripti voi lukea ja kirjoittaa tiedostoja.
- uploaddir: Tähän tulee asettaa /limesurvey/upload-kansion fyysinen sijainti levyllä, jotta skripti voi lukea ja kirjoittaa tiedostoja.
- sCKEditorURL: CKEditor-skriptin URL-osoite.
Muut lisäasetukset
Tiedostojen lataus
- magic_database: Mahdollistaa toisen MIME-tietokannan käytön finfo_open-funktiolle. Voidaan päivittää vain config.php-tiedostossa. Esimerkki:
/usr/share/misc/magic.mgcredhat-pohjaisille Linux-järjestelmille. - magic_file: Mahdollistaa toisen tiedoston käytön tiedostopäätteiden taulukon hakemiseen MIME-tyypin perusteella sisäänrakennetun tiedoston sijaan. Sen on oltava PHP-tiedosto, joka palauttaa taulukon. Voidaan päivittää vain config.php-tiedostossa.
Päivitys
- updatable: Tämä asetus on version.php-tiedostossa. Arvo voi olla true tai false. Jos asetus on true, LimeSurvey tarkistaa, onko päivitys saatavilla, kun pääkäyttäjä kirjautuu sisään, ja näyttää varoituksen. Jos asetus on false, tarkistusta ei tehdä, etkä voi käyttää ComfortUpdate:a.
Tunnisteet (tokenit)
- allowedcharacters_pattern_token : Näillä asetuksilla voidaan määrittää säännöllisen lausekkeen (regexp) kaava tokeneita suodatettaessa.