Dodatne nastavitve
From LimeSurvey Manual
Naslednji razdelek je namenjen tistim, ki želite urediti konfiguracijske nastavitve, ki jih ni mogoče spremeniti z grafičnim uporabniškim vmesnikom (GUI) namestitve LimeSurvey. Upoštevajte, da vse spremembe v korenskem imeniku LimeSurvey izvajate na lastno odgovornost. Če imate kljub temu težave ali potrebujete dodatna navodila, se za pomoč skupnosti LimeSurvey pridružite forumom za razprave.
Uvod
Te dodatne nastavitve je možno najti le v datoteki /application/config/config-defaults.php pri običajni namestitvi - nekatere se uporabijo le za prvo namestitev in se prepišejo z globalnimi nastavitvami. Če želite spremeniti te nastavitve, jih prosimo ne spreminjajte v config-defaults.php datoteki, pač pa kopirajte izbrane vrstice nastavitev v /application/config/config.php in jih spremenite v tej datoteki. Vse nastavitve v config.php prepišejo privzete vrednosti iz config-defaults.php in začenši z različico 1.87 nekatere od teh nastavitev se prepišejo z globalnimi nastavitvami. Na ta način je bolj enostavno nadgraditi vašo kasnejšo namestitev.
Ko pride do nadgradnje, se spremenijo samo nastavitve config-defaults.php. Zato boste z urejanjem datoteke config.php shranili vaše prilagojene nastavitve.
Če želite posodobiti/dodati nastavitve LimeSurvey v /application/config/config.php, morate posodobiti konfiguracijsko polje:
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'Nova vrednost', // Tukaj posodobite privzeto konfiguracijo LimeSurvey
)
Nastavitve Yii
LimeSurvey uporablja ogrodje Yii, ki ima lastne konfiguracijske parametre v datotekah application/config/internal.php in application/config/config.php'. Do nekaterih posebnih konfiguracijskih nastavitev LimeSurvey lahko dostopate tudi prek konfiguracije Yii.
Ker je polje config.php združeno s celotno konfiguracijo, lahko zamenjate vse parametre Yii v datoteki config.php.
Posebne nastavitve Yii so nastavljene v nizu komponent:
'components' => array(
'db' => array(
....
),
'Specifične nastavitve'=>array(
....
),
),
Nastavitve baze podatkov
Nastavitve baze podatkov se zapišejo v config.php z namestitveno datoteko, ko prvič namestite LimeSurvey. Po potrebi lahko posodobite ta del datoteke config.php. Ne pozabite, da to počnete na lastno odgovornost! Glejte tudi Yii dokumentacijo in prosim ne pozabite, da LimeSurvey podpira samo naslednje vrste baz podatkov: mysql, pgsql, dblib, mssql in sqlsrv.
Nastavitve seje
Nekatere parametre seje lahko nastavite v config.php (preverite dva spodnja primera). Potreben del lahko odkomentirate/dodate v config.php. Glejte Yii dokumentacijo za druge nastavitve.
Uporabite seje na osnovi tabel
LimeSurvey lahko uporablja seje, ki temeljijo na tabelah, v privzeti generirani datoteki config.php najdete del s komentarji. Če želite uporabiti sejo na podlagi tabele, odstranite // pred vsako vrstico.
'session' => niz (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions} }',
),
Posodobitev drugih sej
Če uporabljate SSL ('https') za svojo namestitev LimeSurvey, bo dodajanje naslednjih vrstic v vaš config.php povečalo varnost seje:
// Nastavite piškotek prek SSL
'session' => array (
'cookieParams' => array(
'secure' => true, // uporabi SSL za piškotke
'httponly' => true // Piškotkov ne sme uporabljati drugi protokoli - eksperimentalni
),
),
Če želite popraviti domeno za piškotek, uporabite naslednjo sintakso v config.php:
// Nastavi domeno za piškotek
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
Vsak primerek LimeSurvey na isti domeni potrebuje lastno ime seje. V nasprotnem primeru vas prijava v en primerek odjavi iz drugega. Namestitveni program v config.php nastavi naključno ime seje. Če ste datoteko config.php kopirali iz drugega primerka ali vaša datoteka config.php izvira iz različice, starejše od LimeSurvey 4.0, dodajte ali spremenite vrstico sessionName v obstoječem razdelku session in za vsak primerek uporabite drugačno vrednost:
// Set the name of the session
'session' => array (
'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
),
Nastavitve zahteve
Nastavitve zahteve so pomembne, vendar so privzete nastavitve že optimizirane za uporabo LimeSurvey. Če želite prebrati več o njih, si oglejte dokumentacijo Yii.
Na primer, konfiguracijo nastavitev zahteve LimeSurvey lahko spremenite na naslednji način (na lastno odgovornost):
// 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
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
Če morate posodobiti samo url za e-poštna sporočila z žetonom, nastavite publicurl v datoteki config.php.
Dovoli uporabo seje in preverjanja CSRF v iFrame
Ko omogočite vdelavo Iframe, morate posodobiti nekaj konfiguracijskih delov. Pozor, tudi z vsemi nastavitvami: dovoli obrazec v iframe se lahko v nekaterih brskalnikih pokvari. Ta nastavitev je bila preizkušena s Firefoxom 81.0.2 in Chromiumom 85.0.4183.121.
Dovoli začetek seje v iframe
Piškotek seje mora biti varen (zahteva veljavno povezavo HTTPS) in httponly, samesite pa mora biti nastavljen na None. Ključi v cookieParams morajo biti zapisani z malimi črkami.
'session' => array (
'sessionName'=>'LS-VBXZZORFJZCAKGYI',
// Odkomentirajte naslednje vrstice, če potrebujete seje, ki temeljijo na tabelah.
// Opomba: Seje, ki temeljijo na tabelah, so trenutno ni podprto na strežniku MSSQL.
// 'class' => 'application.core.web.DbHttpSession',
// 'connectionID' => 'db',
// 'sessionTableName' = > '{{sessions}}',
'cookieParams' => array(
'secure' => true,
'httponly' => true,
'samesite' => 'Brez' ,
),
),
Dovoli piškotek csrf v iframe
Tako kot pri piškotku seje mora biti tudi piškotek CSRF varen, sameSite pa mora biti nastavljen na None. Upoštevajte, da je ključ tukaj zapisan sameSite. Celotno polje request dodajte na isti ravni kot session.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
Nastavitve URL-ja
Če želite spremeniti privzete nastavitve URL-ja, posodobite urlManager:
// Uporabi kratek URL
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
),
Za ID ankete lahko dodate tudi .html na naslednji način:
// Uporabi kratek URL
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array (
'<sid:\d+> ' => array('anketa/indeks','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => false,
),
Za več informacij preverite dokumentacijo Yii.
Nastavitve beleženja
Yii ponuja različne rešitve za ustvarjanje dnevnikov. Če želite izvedeti več o njih, preverite posebna tema o beleženju. LimeSurvey privzeto uporablja '1' ali '2', kar vsakemu spletnemu uporabniku omogoča ogled dnevnikov. Svoje nastavitve lahko ustvarite neposredno z Yii.
Na primer, hitra rešitev za beleženje napak in opozoril v datoteke je:
return array(
'components' => array(
/* Drugi sestavni del tukaj 'db' na primer */
'log' => array(
'routes' => array(
'fileError' => array(
'class' => 'CFileLogRoute',
'levels' => 'opozorilo, napaka',
'except' => 'exception.CHttpException .404',
),
),
),
/* Drugi sestavni del tukaj 'urlManager', na primer */
),
/* Končni del (z ' runtimePath' 'config' na primer) */
);
application.controller.customInit.max_execution_time in application.controller.customInit.memory_limit se uporabljata za beleženje poskusov spreminjanja nastavitev PHP.
Če poznate ta sporočila dnevnika in jih želite izključiti iz dnevnikov, lahko ti kategoriji dodate možnosti except v konfiguraciji poti dnevnika, kot je prikazano spodaj:
'except' => [
'exception.CHttpException.404',
'application.controller.customInit.max_execution_time',
'application.controller.customInit.memory_limit',
],
limesurvey/tmp/runtime/application.log, ki se nahaja v korenski mapi LimeSurvey. Drugo ime datoteke lahko nastavite z uporabo logFile..
Izvajalna pot
Pot med izvajanjem mora biti berljiv in zapisljiv imenik za »spletni uporabnik«. Vendar pa izvajalna pot vsebuje datoteke z morebitnimi varnostnimi informacijami, ki se nahajajo v javnem spletnem dostopnem območju. LimeSurvey te datoteke zbira v začasnem imeniku korenskega imenika LimeSurvey. Če želite odpraviti dostop do tako pomembnih podatkov, lahko nastavite pot izvajanja zunaj javnega spletnega dostopa tako, da uredite ustrezne vrstice v datoteki /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Splošne nastavitve
- 'sitename: poimenuje vašo anketno mesto. To ime bo prikazano v pregledu anketnega seznama in v skrbniški glavi. Privzeta vrednost je 'LimeSurvey' in jo je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php.
- 'siteadminemail:' To je privzeti e-poštni naslov za skrbnik mesta in se uporablja za sistemska sporočila in kontaktne možnosti. Ta nastavitev se uporablja samo kot privzeta vrednost in jo je mogoče preglasiti v pogovornem oknu globalne nastavitve.
- 'siteadminbounce:' To je e-poštni naslov, na katerega bodo poslana zavrnjena e-poštna sporočila. Ta nastavitev se uporablja samo kot privzeta vrednost in jo lahko preglasi pogovorno okno globalne nastavitve.
- 'siteadminname:' Pravo ime skrbnika spletnega mesta. Ta nastavitev se uporablja samo kot privzeta vrednost in jo je mogoče preglasiti v pogovornem oknu globalne nastavitve.
- 'proxy_host_name:' To je ime gostitelja vašega strežnika proxy (ima omeniti, če ste za proxyjem in želite posodobiti LimeSurvey z ComfortUpdate).
- 'proxy_host_port:' To so vrata vašega proxy strežnika (morajo biti omenjeno, če ste za posrednikom in želite posodobiti LimeSurvey z ComfortUpdate).
Varnost
- maxLoginAttempt: To je število poskusov, ki jih mora uporabnik vnesti pravilno geslo, preden se njegov ali njegov naslov IP blokira/zaklene. Privzeta vrednost je 3 in jo je mogoče spremeniti v config.php.
- timeOutTime: Če uporabnik vnese napačno geslo za<maxLoginAttempt> , se ona ali on zaklene<timeOutTime> sekund. Privzeta vrednost je 10 minut in jo je mogoče spremeniti v config.php.
- maxLoginAttemptParticipants: To je število poskusov, ki jih mora udeleženec vnesti veljaven žeton, preden dobi svoj Naslov IP blokiran/zaklenjen. Privzeta vrednost je 3 in jo je mogoče spremeniti v config.php.
- timeOutParticipants: Če udeleženec vnese nepravilen žeton za<maxLoginAttemptParticipants> , se ona ali on zaklene<timeOutParticipants> sekund. Privzeta vrednost je 10 minut in jo lahko spremenite v config.php.
- surveyPreview_require_Auth: Privzeto nastavljeno na true. Če to nastavite na 'false', lahko katera koli oseba preizkusi vašo anketo z uporabo URL-ja ankete, ne da bi se prijavila v skrbniško ploščo in ne da bi predhodno aktivirala anketo. Ta nastavitev je privzeta vrednost in jo je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php.
- usercontrolSameGroupPolicy: Privzeto je nastavljeno na true. Privzeto bodo neskrbniški uporabniki, določeni v upravljalnem vmesniku LimeSurvey, lahko videli samo uporabnike, ki jih ustvarijo, ali uporabnike, ki pripadajo vsaj eni isti skupini. Privzeto vrednost je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php.
- 'filterxsshtml:' Ta nastavitev omogoča filtriranje sumljivih oznak html, ki se nahajajo v anketah, skupine ter besedila vprašanj in odgovorov v skrbniškem vmesniku. Pustite to na 'false' samo, če popolnoma zaupate uporabnikom, ki ste jih ustvarili za administracijo LimeSurvey, in če želite tem uporabnikom dovoliti uporabo Javascripta, Flash filmov itd. Superskrbniki nikoli ne filtrirajo svojega HTML-ja . Privzeto vrednost je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php.
- 'demoMode:' Če je ta možnost nastavljena na 'true' v config.php , potem bo LimeSurvey prešel v demo način. Demo način spremeni naslednje stvari:
- Onemogoči skrbniške podatke o uporabniku in spreminjanje gesla;
- Onemogoči nalaganje datotek v urejevalnik predlog;
- Onemogoči pošiljanje e-poštnih povabil in opomnikov;!N !** Onemogoči ustvarjanje izpisa baze podatkov;
- Onemogoči možnost spreminjanja naslednjih globalnih nastavitev: ime spletnega mesta, privzeti jezik, privzeti način urejevalnika HTML, filter XSS.
- ''forcedsuperadmin:' Niz ID-jev uporabnikov z vsemi pravicami na vseh LimeSurvey. Te nastavitve je mogoče posodobiti samo v datoteki config.php. Pravic tega uporabnika ne more urejati v globalnih dovoljenjih za uporabnika niti drug prisilni superskrbnik. Privzeto : uporabnik s temi pravicami je uporabnik z id : 1. Prvi uporabnik, ustvarjen tik po namestitvi.
- force_ssl:' prisili LimeSurvey, da deluje prek HTTPS ali blokira HTTPS. Glejte Force HTTPS v skrbniškem GUI za globalne nastavitve.
- ssl_emergency_override:' Ta nastavitev izklopi SSL. Če ste v globalnih nastavitvah vklopili HTTPS/SSL, vendar vaš strežnik nima omogočenega HTTPS, je edini način, da ga izklopite, tako da neposredno spremenite vrednost v bazi podatkov. To vam omogoča, da vsiljeno izklopite HTTPS, medtem ko spreminjate globalne nastavitve za Force Secure. To mora biti vedno napačno, razen v nujnih primerih, ko ga spremenite v resnično, dokler ne odpravite težave. To nastavitev je mogoče nastaviti samo prek datoteke config.php.
- ssl_disable_alert:' Onemogoči opozorilo za super-skrbnika o neprisilnem SSL, če res ne morete ali ne želite vsiliti ssl. To nastavitev je mogoče nastaviti samo prek datoteke config.php.
Zaščita pred skriptiranjem med spletnimi mesti (XSS)
LimeSurvey ne dovoljuje nobenih uporabniških skript na skrbniški strani. Če odkrijete način, s katerim lahko kateri koli uporabnik doda skript XSS na skrbniško stran, si oglejte našo varnostno politiko.
Skripte na javnih straneh upravljajo nastavitve filtra XSS.
- filterxsshtml: Ta nastavitev omogoča filtriranje sumljivih oznak HTML v anketah, skupinah ter besedilih vprašanj in odgovorov v skrbniškem vmesniku. Nastavite jo na 'false' samo, če popolnoma zaupate uporabnikom, ki ste jih ustvarili za upravljanje LimeSurvey, in jim želite omogočiti uporabo Javascripta, Flash filmov itd. HTML superskrbnikov se nikoli ne filtrira. Privzeto vrednost je mogoče preglasiti v pogovornem oknu globalne nastavitve.
- filterxsshtml_forcedall: Vsili
filterxsshtmlna true za vse uporabnike in onemogoči spremembe v skrbniškem GUI. Omogoči filtriranje sumljivih oznak HTML tudi za superskrbnika. - filterxsshtml_allowforcedsuperadmin: Uporablja se samo, če je
filterxsshtml_forcedalltrue. Dovoli dodajanje poljubnega skripta in HTML zaforcedsuperadmin(privzeto skrbnik št. 1). - disablescriptwithxss: Dovoli posodobitev skripta v vprašanju: privzeto true, kar pomeni, da veljajo pravila XSS; nastavite na false, da dovolite vsem uporabnikom. Privzeto vrednost je mogoče preglasiti v pogovornem oknu globalne nastavitve.
- filterxsshtml_enablescript: Uporablja se samo, če je filterxsshtml_forcedall true. Omogoči skript vprašanja za določenega uporabnika:
gui: dovoli spreminjanje nastavitve prek GUI;superadmin: samo superskrbnik;forcedsuperadmin: samo forced superskrbnik; privzeto: noben uporabnik in ni dovoljeno spreminjanje prek GUI
Dovoljeno nalaganje datotek
- allowedthemeimageformats : Vrste slikovnih datotek, ki jih je dovoljeno naložiti v razdelku s temami. Datoteke SVG so privzeto onemogočene zaradi možnega napada XSS.
- allowedthemeuploads : Druge vrste datotek, ki jih je dovoljeno naložiti v razdelku s temami (datoteka zip)
- allowedresourcesuploads : Vrste datotek, ki jih je dovoljeno naložiti v razdelkih z viri in s HTML urejevalnikom
- allowedpluginuploads : Vrsta datotek, dovoljena pri nalaganju zip datoteke vtičnika.
Vnesite samo niz končnic, ločenih z vejicami. Na primer:
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
Opozorilo: Pri dovoljevanju nalaganja datotek bodite vedno previdni. Možne so zlonamerne dejavnosti.
Vtičniki
- usePluginWhitelist : Če je true, vtičnikov, ki niso na seznamu dovoljenih (glejte 'pluginWhitelist'), ni mogoče namestiti ali naložiti. To lahko onemogoči že nameščene vtičnike.
- pluginWhitelist : Seznam imen vtičnikov, ki jih je dovoljeno namestiti in naložiti, ko je 'usePluginWhitelist' true. Jedrni vtičniki so implicitno dovoljeni.
- corePluginBlacklist : Seznam imen jedrnih vtičnikov, ki so prepovedani, ko je 'usePluginWhitelist' true.
- disablePluginUpload : Ko je ta nastavitev true, je funkcija »Nalaganje vtičnika« onemogočena
Nadzor gostitelja
- allowedHosts : za preprečitev vbrizgavanja glave gostitelja (Host Header Injection) lahko nastavite dovoljenega gostitelja za vsa dejanja. Če uporabljate različna gostitelja za javno in skrbniško stran, morate nastaviti oba kot dovoljena gostitelja.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
Viri
- iSessionExpirationTime: Določa čas v sekundah, po katerem poteče seja ankete. Velja samo, če uporabljate podatkovne seje. Če uporabljate podatkovne seje, spremenite parameter v config.php ali preglasite privzeto vrednost v pogovornem oknu globalne nastavitve.
- memory_limit: Določa, koliko pomnilnika lahko uporablja LimeSurvey, v megabajtih. Privzeta vrednost je '256'. Če prejemate napake o prekoračitvi časa ali imate težave pri ustvarjanju statistike ali izvozu datotek, povečajte to omejitev na '512' ali več. Če je vaš spletni strežnik v php.ini nastavil višjo omejitev, bo ta nastavitev prezrta.
Če želite povečati omejitev pomnilnika na 128M, lahko poskusite dodati tudi:
- memory_limit = 128M v glavno datoteko php.ini vašega strežnika (priporočeno, če imate dostop)
- memory_limit = 128M v datoteko php.ini v koren LimeSurvey
- php_value memory_limit 128M v datoteki .htaccess v korenu LimeSurvey
- 'max_execution_time:' Nastavite število sekund, ki jih lahko izvaja skript. Če je to doseženo, skript vrne usodno napako. Da bi lahko LimeSurvey lahko izvažal podatke in statistiko velikih anket, ga poskusi privzeto nastaviti na 1200 sekund. Po potrebi lahko nastavite daljši ali nižji čas. Dostopno samo prek konfiguracijske datoteke php.
Videz
- dropdownthreshold (Obsolete since 2.50): Ko je za
$dropdownsizbrano "R", sme skrbnik nastaviti največje število možnosti, ki bodo prikazane kot radijski gumbi , preden se pretvori nazaj v spustni seznam. Če obstaja vprašanje, ki ima veliko možnosti, je lahko prikaz vseh naenkrat kot izbirnih gumbov videti neroden in lahko uporabnikom postane neintuitiven. Če to nastavite na največ, recimo 25 (kar je privzeto), pomeni, da skrbniki lažje uporabljajo velike sezname za udeleženca ankete. - 'repeatheadings:' Z vrsto vprašanja Array, pogosto boste imeli veliko podvprašanj, ki – ko so prikazana na zaslonu – zavzamejo več kot eno stran. Ta nastavitev vam omogoča, da se odločite, koliko podvprašanj naj bo prikazanih, preden ponovite informacije o glavi vprašanja. Dobra nastavitev za to je okoli 15. Če ne želite, da se naslovi sploh ponavljajo, nastavite to na 0. Ta nastavitev je preglasena v pogovornem oknu globalne nastavitve (New in 2.05 ) .
- 'minrepeatheadings: Najmanjše število preostalih podvprašanj, ki so potrebna pred ponovitvijo naslovov v vprašanjih Array. Privzeta vrednost je 3 in jo lahko urejate v config.php.
- defaulttemplate: Ta nastavitev določa privzeto temo, uporabljeno za 'javni seznam' anket. To nastavitev je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php.
- 'defaulthtmleditormode:' Nastavi privzeti način za integrirani urejevalnik HTML. To nastavitev je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php. Veljavne nastavitve so:
- 'inline' - Inline zamenjava polj z urejevalnikom HTML. Počasen, a priročen in uporabniku prijazen;
- 'popup' - doda ikono, ki po potrebi zažene urejevalnik HTML v pojavnem oknu. Hitreje, vendar je koda HTML prikazana v obliki;
- 'brez'- Brez urejevalnika HTML;
- 'column_style:' Določa, kako so stolpci upodobljeni za odgovore ankete pri uporabi prikazni_stolpci. Urejamo ga lahko v datoteki config.php. Veljavne nastavitve so:
- 'css' - uporablja eno od različnih metod CSS za ustvarjanje stolpcev (za podrobnosti si oglejte slogovno listo predloge);
- 'ul' - stolpci so upodobljeni kot več lebdeči neurejeni seznami (privzeto);
- 'table' - uporablja postavitev, ki temelji na običajnih tabelah;
- NULL - onemogoča uporabo stolpcev.
Jezik & čas
- 'defaultlang: To mora biti nastavljeno na privzeti jezik, ki bo uporabljen v vaših skrbniških skriptih, in tudi na privzeto nastavitev za jezik na seznamu javnih anket. To nastavitev je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php.
- 'timeadjust:' Če je vaš spletni strežnik v drugem časovnem pasu od lokacije, kjer vaše ankete bodo temeljile, tukaj vnesite razliko med vašim strežnikom in domačim časovnim pasom. Na primer, živim v Avstraliji, vendar uporabljam ameriški spletni strežnik. Spletni strežnik je 14 ur za mojim lokalnim časovnim pasom. Torej je moja nastavitev tukaj "14". Z drugimi besedami, k času spletnih strežnikov doda 14 ur. Ta nastavitev je še posebej pomembna, ko ankete označujejo odgovore s časovnim žigom. To nastavitev je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php.
Vedenje ankete
- 'deletenonvalues: To funkcijo uporabljajte previdno. Privzeto (vrednost 1) so nepomembna vprašanja v zbirki podatkov NIČELNA. To zagotavlja, da so podatki v vaši zbirki podatkov interno skladni. Vendar pa obstajajo redki primeri, ko bi morda želeli obdržati nepomembne vrednosti; v tem primeru lahko nastavite vrednost na 0. Na primer, vprašate moško osebo po spolu, in ta pomotoma reče 'female' in nato odgovori nekaj ženskega -specifična vprašanja (vprašanja, ki so pogojena z ženskostjo, zato so relevantna samo za ženske). Nato spozna svojo napako, se podpre, nastavi spol na 'moški' in nadaljuje z anketo. Vprašanja o ženskah so nepomembna. Če
$deletenonvalues==1, bodo te nepomembne vrednosti izbrisane (NULLed) v bazi podatkov. Če$deletenonvalues==0, njegovi napačni odgovori ne bodo izbrisani, tako da bodo še vedno prisotni v bazi podatkov, ko jo analizirate. - shownoanswer: Ko izbirni gumb/izberi vrsto vprašanja, ki vsebuje odgovore, ki jih je mogoče urejati (npr. Seznam, vprašanja niza), ni obvezen in je 'shownoanswer' nastavljen na 1, se pojavi dodatni 'Brez odgovora' prikazan je vnos - tako da se udeleženci lahko odločijo, da ne bodo odgovorili na vprašanje. Nekateri ljudje imajo raje, da to ni na voljo. To nastavitev je mogoče preglasiti v pogovornem oknu globalne nastavitve ali urediti v config.php. Veljavne vrednosti so:
- '0': Ne;
- '1': Da;
- '2': Skrbnik ankete lahko izbira.
- printanswershonorsconditions: Ta nastavitev določa, ali bo funkcija tiskanja odgovorov prikazala vnose iz vprašanj, ki so bila skrita z razvejanjem pogojev (privzeto: 1 = skrij odgovore iz vprašanj, skritih s pogoji).
- ' hide_groupdescr_allinone:' Ta nastavitev je pomembna za ankete vse v enem, ki uporabljajo pogoje . Ko je to nastavljeno na »true«, sta ime in opis skupine skrita, če so skrita vsa vprašanja v skupini. Privzeta vrednost je 'true' - skrije ime in opis skupine, ko so vsa vprašanja v skupini skrita zaradi pogojev. Urejate ga lahko v config.php.
- showpopups: Prikaži pojavna sporočila, če na obvezna ali pogojna vprašanja niste pravilno odgovorili:
- '2' = določeno z možnostjo Tema (privzeto )
- '1'= prikaži pojavno sporočilo;
- '0'= namesto tega prikaži sporočilo na strani;
- '-1'= ne prikaži sporočila (v tem primeru , bodo uporabniki še vedno videli namige za specifična vprašanja, na katera vprašanja je treba odgovoriti).
Obnašanje tipa številskega vprašanja
- 'bFixNumAuto:' Številska polja je mogoče samodejno filtrirati, da se odstranijo vse neštevilske vrednosti. Privzeto je to omogočeno, lahko pa ga globalno onemogočite. Ta nastavitev je povezana z »Samodejno popravi številsko vrednost« v osnovnih možnostih teme. Omogočeno je bilo za Da, onemogočeno za Samo za izraz in Ne.
- bNumRealValue:' Številska polja, uporabljena v upravitelju izrazov, so lahko popravljena ali ne. Privzeto je popravljeno. Če je NUMERIC številsko vprašanje: onemogoči ali 0: {NUMERIC} s slabimi znaki pošlji '' , omogoči ali 1 : {NUMERIC} pošlji vse vnesene znake. Ta nastavitev je povezana z »Samodejno popravi številsko vrednost« v osnovnih možnostih teme. Omogočeno je bilo za »Da« in »Samo za izražanje« ter onemogočeno za »Ne«.
Razvoj in odpravljanje napak
- debug: S to nastavitvijo nastavite poročanje o napakah PHP na E_ALL. To pomeni, da je prikazano vsako najmanjše obvestilo, opozorilo ali napaka, povezana s skriptom. To nastavitev preklopite na '1' le, če iz kakršnega koli razloga odpravljate napake v aplikaciji. Če ste razvijalec, jo preklopite na '2'. V produkciji je ne preklapljajte na '1' ali '2', ker lahko povzroči razkritje poti. Privzeta vrednost je '0' in jo lahko urejate v config.php.
- debugsql: Aktivirajte to nastavitev, če želite na dnu vsake strani prikazati vse poizvedbe SQL, izvedene za skript. Zelo uporabno za optimizacijo števila poizvedb. Za aktivacijo spremenite privzeto vrednost na '1' v datoteki config.php.
- use_asset_manager: Privzeto: način za odpravljanje napak onemogoči upravitelja sredstev (asset manager). Z omogočenim načinom za odpravljanje napak lahko vseeno dovolite uporabo upravitelja sredstev.
- rpc_log: (New in 7.9.0 ) Nastavite na
true, če želite beležiti vsak klic RemoteControl vtmp/runtime/remotecontrol.log. Vsaka vrstica vsebuje poklicano metodo, njene parametre, naslov IP odjemalca, trajanje in začetek odgovora. Gesla so odstranjena, ključi seje so zamenjani s kratkim zgoščenim kodiranjem (hash), dolge vrednosti pa so skrajšane. Dnevnik še vedno vsebuje podatke o anketi, udeležencih in odzivih, ki so bili poslani in prejeti, zato ga omogočite le, medtem ko iščete težavo. Privzeta vrednost jefalse.
V primeru, da v aplikaciji naletite na napako, toplo priporočamo, da aktivirate nastavitev za odpravljanje napak, da dobite podrobnejšo napako, ki jo lahko pošljete s poročilom o napaki:
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Če delate na vtičniku in potrebujete hiter način za izpis spremenljivk na zaslon: lahko uporabite funkcijo traceVar. Če je nastavljeno odpravljanje napak: ta funkcija uporablja CWebLogRoute za prikaz na strani HTML. Uporaba traceVar($MyVariable)
Nastavitve elektronske pošte
Vse spodnje nastavitve je mogoče preglasiti v pogovornem oknu globalne nastavitve.
- 'emailmethod: To določa način pošiljanja e-poštnih sporočil. Na voljo so naslednje možnosti:
- 'mail:' uporablja notranji poštni program PHP;
- 'sendmail:' uporablja poštni program sendmail;
- 'smtp:' uporablja posredovanje SMTP. Uporabite to nastavitev, ko izvajate LimeSurvey na gostitelju, ki ni vaš poštni strežnik.
- 'emailsmtphost: Če uporabljate 'smtp' kot
$emailmethod, morate tukaj navesti svoj strežnik SMTP. Če uporabljate Googlovo pošto, boste morda morali dodati številko vrat, na primer $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Če vaš strežnik SMTP zahteva preverjanje pristnosti, to nastavite na svoje uporabniško ime, sicer mora ostati prazno.
- emailsmtppassword: Če vaš strežnik SMTP zahteva preverjanje pristnosti, to nastavite na svoje geslo, sicer mora ostati prazno.
- emailsmtpssl: Nastavite na 'ssl' ali 'tls', če želite za povezavo SMTP uporabiti SSL/TLS.
- maxemails: Pri pošiljanju povabil ali opomnikov udeležencem ankete ta nastavitev določa, koliko e-poštnih sporočil je mogoče poslati v enem paketu. Različni spletni strežniki imajo različne zmogljivosti za pošiljanje e-pošte in če vaš skript pošiljanje paketa e-poštnih sporočil traja predolgo, lahko skript prekorači časovno omejitev in povzroči napake. Večina spletnih strežnikov lahko v okviru privzete 30-sekundne omejitve za skript PHP hkrati pošlje 100 e-poštnih sporočil. Če se pri pošiljanju velikega števila e-poštnih sporočil pojavijo napake zaradi prekoračitve časovne omejitve skripta, zmanjšajte število v tej nastavitvi. Ko v orodni vrstici za nadzor žetonov kliknete gumb 'Pošlji vabilo po elektronski pošti' (ne gumba na desni strani posameznega žetona), se pošlje <maxemails> vabil. Nato se prikaže seznam naslovov prejemnikov in opozorilo, da je več e-poštnih sporočil v čakalni vrsti, kot jih je bilo mogoče poslati v enem paketu. Nadaljujte s pošiljanjem e-pošte s klikom spodaj. Še ### e-poštnih sporočil je treba poslati., ter gumb za nadaljevanje z naslednjim paketom. To pomeni, da uporabnik po vsakem poslanem paketu sam določi, kdaj bo poslal naslednjega. Ni vam treba čakati z aktivnim zaslonom. Skrbnik se lahko odjavi in se vrne pozneje, da pošlje naslednji paket povabil.
- send_error_saving_results_email: (New in 7.8.0 ) Če odziva ni mogoče shraniti, LimeSurvey odgovore pošlje skrbniku ankete v e-poštnem sporočilu z zadevo »Napaka pri shranjevanju rezultatov«. Nastavite na
false, če želite ustaviti ta sporočila. Udeleženci še vedno vidijo sporočilo o napaki. Privzeta vrednost jetrue. To nastavitev je mogoče spremeniti samo v config.php.
Statistika in brskanje po odzivih
- filterout_incomplete_answers: Nadzira privzeto obnašanje filtriranja nepopolnih odgovorov pri brskanju ali analiziranju odzivov. Za razpravo o nepopolnih odzivih si oglejte naš wiki o brskanju po rezultatih ankete. Ker lahko ti zapisi popačijo statistiko, je v več obrazcih GUI na voljo možnost vklopa ali izklopa tega filtra. Parameter lahko urejate v config.php. Na voljo so naslednje možnosti:
- 'all': omogoča prikaz popolnih in nepopolnih odgovorov;
- 'complete': prikaže samo popolne odgovore;
- 'incomplete': prikaže samo nepopolne odgovore.
- strip_query_from_referer_url: Ta nastavitev določa, ali URL izvorne strani shrani parameter ali ne. Privzeta vrednost je 'false' (v tem primeru URL izvorne strani shrani vse parametre). Vrednost lahko nastavite na 'true' in del URL-ja izvorne strani s parametri bo odstranjen.
- showaggregateddata: ko je aktivirana, so prikazane dodatne statistične vrednosti, kot sta aritmetična sredina in standardni odklon. Poleg tega so podatki združeni za hitrejši pregled. Na primer, rezultati lestvice 1+2 in 4+5 so seštete, da dobite splošno razvrstitev, kot so »dobro« (1/2), »povprečno« (3) in »slabo« (4/5). To vpliva samo na vrsti vprašanj »A« (5-točkovno polje) in »5« (5-točkovna izbira).
- Nastavitve izvoza PDF: Ta funkcija aktivira izvoz PDF za ankete, ki jih lahko natisnete, in za tiskanje odgovorov. Funkcija izvoza PDF je povsem eksperimentalna in rezultat še zdaleč ni popoln. Žal trenutno ni mogoče nuditi podpore - če želite pomagati pri popravku, nas kontaktirajte.
- 'pdfdefaultfont': Predstavlja privzeto pisavo, ki jo bo uporabljala funkcija izvoza PDF. Privzeta vrednost je 'auto'. Če jo želite spremeniti, jo nastavite na eno od osnovnih pisav PDF.
- 'alternatepdffontfile': To je polje z jezikovnimi ključi in njihovimi ustreznimi pisavami. Privzeto pisavo za vsak jezik lahko zamenjate v datoteki config.php;
- 'pdffontsize': določa velikost pisave za navadno besedilo; za naslov ankete je <pdffontsize>+4, za naslov skupine pa <pdffontsize>+2. Urejate jo lahko v datoteki config.php ali v pogovornem oknu globalne nastavitve.
- Nastavitev grafikonov
- 'chartfontfile': Nastavi ime datoteke pisave, ki se uporablja za ustvarjanje statističnih grafikonov. Datoteka mora biti v imeniku fonts v korenski mapi LimeSurvey. Urejate jo lahko v datoteki config.php;
- 'alternatechartfontfile': To je polje z jezikovnimi ključi in njihovimi ustreznimi pisavami. Urejate ga lahko v datoteki config.php.
- showsgqacode: Ta nastavitev se uporablja pri funkciji ankete, ki jo lahko natisnete, in je privzeto 'false'. Če nastavite showsgqacode = 'true';, bodo prikazani ID-ji vsakega vprašanja - in odgovora, če je na voljo. Ti ID-ji se ujemajo z naslovi stolpcev v tabeli Lime_survey_12345, ki vsebuje podatke o odgovorih za določeno anketo. Te ID-je je mogoče uporabiti kot šifrant za ročne poizvedbe po podatkovni zbirki.
LDAP nastavitve
To obsežno poglavje LDAP nastavitve smo prestavili na drugo stran.
Preverjanje pristnosti (avtentikacija)
Od različice LimeSurvey 2.05 naprej bodo za preverjanje pristnosti skrbeli vtičniki. Zaradi tega so lahko spodnje informacije zastarele. Oglejte si wiki o vtičnikih za najnovejše informacije.
Dodelitev pristnosti spletnemu strežniku
Sistemski skrbniki želijo morda svoje skrbnike anket overjati prek osrednjega sistema za overjanje (Active Directory, openLdap, Radius, ...) namesto z notranjo podatkovno zbirko LimeSurvey. Preprost način za to je, da programsko opremo spletnega strežnika nastavite tako, da uporablja ta zunanji sistem za overjanje, nato pa LimeSurvey naročite, naj zaupa identiteti uporabnika, ki jo sporoči spletni strežnik. Za omogočitev te funkcije morate:
- aktivirati vtičnik Webserver v Konfiguracija > Vtičniki in v nastavitvah vtičnika nastaviti ključ strežnika, ki vsebuje uporabniško ime (privzeto: REMOTE_USER);
- omogočiti overjanje na strani spletnega strežnika.
Prosimo ne pozabite da:
- LimeSurvey bo v tem primeru zaobšel svoj sistem za preverjanje pristnosti (z uporabo uporabniškega imena, ki ga bo pridobil iz izbranega spletnega strežnika za avtentikacijo, brez spraševanja po geslu)
- na ta način lahko zamenjate zgolj sistem za preverjanje pristnosti uporabnikov/skrbnikov, ki delajo v odzadju LimeSurvey-a in ne tudi anketnega sistema za povabila (vmesnika za anketirance)
Prenos pooblastil ob preverjanju pristnosti brez samodejnega uvažanja uporabnikov
Ne pozabite, da v tem primeru po privzetih nastavitvah prenos pooblastil pri preverjanju pristnosti ne zaobide LimeSurvey-evega sistema za avtentikacijo: to pomeni, da čeprav ni potrebno upravljati gesel v LimeSurvey-ju, je še vedno potrebno določiti uporabnike v LimeSurvey-evi podatkovni zbirki in jim dodeliti ustrezne pravice, da lahko dostopajo do virov anketnega sistema.
Uporabnik dobi dostop do LimeSurvey le, če:
- je bil overjen na spletnem strežniku;
- je njegovo uporabniško ime določeno kot uporabnik v uporabniški podatkovni zbirki LimeSurvey (uporabnik nato dobi pravice uporabnika, določenega v uporabniški podatkovni zbirki LimeSurvey);
- ima globalno dovoljenje Uporabi overjanje spletnega strežnika.
Prenos pooblastil ob preverjanju pristnosti s samodejnim uvažanjem uporabnikov
Pri upravljanju velike podatkovne zbirke uporabnikov je včasih lažje samodejno uvoziti uporabnike v podatkovno zbirko LimeSurvey:
- auth_webserver_autocreate_user: Če je nastavljeno na 'true', bo LimeSurvey poskušal samodejno uvoziti uporabnike, ki jih je overil spletni strežnik, a še niso v njegovi podatkovni zbirki uporabnikov.
- auth_webserver_autocreate_profile: Polje, ki opisuje privzeti profil, dodeljen uporabniku: polno (navidezno) ime, e-pošto in jezik.
- auth_webserver_autocreate_permissions: Polje z globalnimi dovoljenji, ki bodo dodeljena uporabniku.
Če želite prilagoditi uporabniški profil, da se bo ujemal s prijavljenim uporabnikom, morate v config.php razviti preprosto funkcijo z imenom hook_get_auth_webserver_profile - s to funkcijo lahko iz osrednje podatkovne zbirke uporabniških računov (na primer iz imenika LDAP) pridobite pravo polno ime, e-pošto in jezik določenega uporabnika.
Funkcija hook_get_auth_webserver_profile sprejme uporabniško ime kot edini argument in lahko vrne:
- False ali prazno polje - v tem primeru je uporabniku dostop do LimeSurvey zavrnjen;
- polje z enakimi vnosi kot
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();
Prepisovanje uporabniških imen
V nekaterih primerih imajo uporabniki neko zunanje uporabniško ime, ki je drugačno kot je želeno uporabniško ime v LimeSurvey-u. V takšnih primerih boste morda želeli uporabiti možnost prepisa uporabniškega imena. V LimeSurvey-u se to naredi s pomočjo uporabe parametra auth_webserver_user_map. Za primer si predstavljate, da nimate ustvarjenega uporabniškega imena 'admin' v zunanji podatkovni bazi za preverjanje pristnosti. Da se lahko prijavite v LimeSurvey kot admin, boste morali prepisati zunanje uporabniško ime recimo 'mojeime' z uporabniškim imenom admin v LimeSurvey-u. Ustrezna nastavitev je:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
Po uspešnemu preverjanju pristnosti na spletnem strežniku za avtentikacijo z imenom 'mojeime' boste neposredno pooblaščeni za uporabo LimeSurvey-a kot 'admin' uporabnik.
To je očitno varnostno zelo resna grožnja, zato jo uporabljajte s previdnostjo, in prosimo zaščitite vašo datoteko config.php pred pisanjem iz spletnih strežnikov.
Uporaba gesel za enkratno uporabo
Uporabnik lahko odpre prijavno stran LimeSurvey na default.com/limesurvey/admin in vnese uporabniško ime in enkratno geslo, ki ju je predhodno zapisala zunanja aplikacija v tabelo uporabnikov (stolpec one_time_pw).
To nastavitev je treba vklopiti v datoteki config.php, da omogočite uporabo enkratnih gesel (privzeto = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Več informacij najdete v razdelku "Upravljanje uporabnikov".
Nastavitve šifriranja
Glejte šifriranje podatkov za podrobnosti o tej funkciji.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
Napredne nastavitve URL-jev
- publicurl: To mora biti nastavljeno na lokacijo URL vaših »javnih skript«. Javne skripte so tiste v mapi »limesurvey« (ali kakor koli ste poimenovali imenik, v katerem so shranjene vse druge skripte in imeniki). Ta nastavitev je na voljo v config.php in se uporablja, kadar LimeSurvey potrebuje absoluten URL (na primer pri pošiljanju e-poštnih sporočil z žetoni).
- tempurl: To mora biti nastavljeno na lokacijo URL vašega imenika »/limesurvey/tmp« - ali na imenik, ki ga želite, da LimeSurvey uporablja za strežbo začasnih datotek.
- uploadurl: To mora biti nastavljeno na lokacijo URL vašega imenika »/limesurvey/upload« - ali na imenik, ki ga želite, da LimeSurvey uporablja za strežbo naloženih datotek. To vam omogoča, da naložene datoteke nastavite na drugo domeno URL.
Napredno nastavljanje poti
- homedir: To mora biti nastavljeno na lokacijo fizičnega diska vaših skrbniških skriptov - na primer "/home/usr/htdocs/limesurvey/admin". Temu vnosu ne dodajte poševnice na koncu. Privzeta nastavitev v config.php poskuša zaznati privzeto korensko pot vseh vaših dokumentov z uporabo nastavitve spremenljivke php
{$_SERVER['DOCUMENT_ROOT']}. V večini primerov lahko to pustite in samo spremenite preostanek tega niza, da se ujema z imenom imenika, v katerega ste vstavili skripte LimeSurvey. - publicdir: To mora biti nastavljeno na lokacijo fizičnega diska vaših 'javnih skriptov'.
- tempdir: To mora biti nastavljeno na lokacijo fizičnega diska vašega imenika /limesurvey/tmp, tako da lahko skript bere in piše datoteke.
- uploaddir: To mora biti nastavljeno na lokacijo fizičnega diska vašega imenika /limesurvey/upload, tako da lahko skript bere in piše datoteke.
- sCKEditorURL: URL skripta CKEditor.
Druge napredne nastavitve
Naloži datoteke
- magic_database: Omogoča uporabo drugačne zbirke podatkov MIME za finfo_open. Posodobite jo lahko samo v datoteki config.php. Primer:
/usr/share/misc/magic.mgcza Linux, ki temelji na Red Hatu. - magic_file: Omogoča uporabo druge datoteke za pridobitev polja končnic glede na vrsto MIME, namesto vključene datoteke. Biti mora datoteka PHP, ki vrne polje. Posodobite jo lahko samo v datoteki config.php.
Posodobitev
- 'updatable:' Ta nastavitev je v version.php. Lahko je resnično ali napačno. Če nastavite na true : ko se prijavi uporabnik super skrbnika : LimeSurvey preveri, ali je posodobitev na voljo, in vam prikaže opozorilo. Če je nastavljeno na false : preverjanje se ne izvede in ne morete uporabiti ComfortUpdate.
Žetoni
- allowedcharacters_pattern_token : Te nastavitve omogočajo določitev vzorca regularnega izraza pri filtriranju žetonov.