Änderungen von Dokument Widget-Plugin: Captcha


Von Version 3.1
bearbeitet von gru
am 21.04.2022, 13:46
Änderungskommentar: Neuen Anhang icinga2-agent-kickstart (10).bash hochladen
Auf Version 14.5
bearbeitet von awa
am 29.09.2022, 14:38
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.gru
1 +XWiki.awa
Inhalt
... ... @@ -9,10 +9,10 @@
9 9  == Funktionsbeschreibung ==
10 10  
11 11  {{figure image="2_WidgetCaptcha_Formular_de.png" clear="h3"}}
12 -Beispiel für eine eingefügtes Captcha im Formulars.
12 +Beispiel für ein eingefügtes Captcha in einem Formular.
13 13  {{/figure}}
14 14  
15 -Das Plugin stellt ein neues Widget im Designer zur Verfügung, welches es erlaubt, auf ein Captcha im Formular einzufügen, dass der Nutzer vor dem Absenden des Formulars richig ausfüllen muss. Das Captcha-Widget kann in beliebiger Anzahl an einer beliebigen Positionen im Formular platziert werden.
15 +Das Plugin stellt ein neues Widget im Designer zur Verfügung, welches es erlaubt, ein Captcha im Formular einzufügen, dass der Nutzer vor dem Absenden des Formulars richig ausfüllen muss. Das Captcha-Widget kann in beliebiger Anzahl an einer beliebigen Positionen im Formular platziert werden.
16 16  
17 17  == Installation ==
18 18  
... ... @@ -32,8 +32,46 @@
32 32  
33 33  {{internBaseOptionsElement page="help" headline="h3"/}}
34 34  
35 -== Sichtbarkeit im Word-/PDF-Export und Print-Service-Plugin ==
35 +{{velocity}}
36 +##== Sichtbarkeit im Word-/PDF-Export und Print-Service-Plugin ==
37 +##Das Widget ist so aufgebaut, dass es nicht im Word-/PDF-Export auftaucht und vom Print-Service-Plugin nicht mit gedruckt wird.
38 +{{/velocity}}
36 36  
37 -Das Widget ist so aufgebaut, dass es nicht im Word-/PDF-Export auftaucht und vom Print-Service-Plugin nicht mit gedruckt wird.
40 +== Versionshistorie ==
38 38  
42 +=== 2.1.3 ===
39 39  
44 +* Fix: Behebung verschiedener Probleme, wodurch eine Verwendung von Captcha-Widget in per AJAX eingebundenen Formularen nicht möglich war.
45 +
46 +=== 2.1.2 ===
47 +
48 +* Fix: Behebung eines Problems, wo andere Bilder durch Captcha-Widget überschrieben wurden
49 +
50 +=== 2.1.1 ===
51 +
52 +* Fix: Andere Bilder im Formular werden nicht mehr mit Captcha-Bild überschrieben.
53 +
54 +=== 2.1.0 ===
55 +
56 +* Feature: Möglichkeit zum Aktualisieren des Captcha via einem Refresh-Knopf
57 +* Change: Captcha ist schwieriger für Bots zu lösen
58 +* Erfordert {{formcycle/}} Version 7.1.0 oder höher
59 +
60 +=== 2.0.3 ===
61 +
62 +* Fix: Captcha wird nicht mehr validiert, wenn der Typ der Übermittlungsschaltfläche keine Validierung erfordert
63 +* Erfordert {{formcycle/}} Version 7.0.11 oder höher
64 +
65 +=== 2.0.2 ===
66 +
67 +* Feature: Neues Attribut data-name für die versteckte Textarea
68 +* Feature: Widget in Bedingungseigenschaften im Formulardesigner verwendbar
69 +
70 +=== 2.0.1 ===
71 +
72 +* Fix: Anpassung an der Validierung
73 +* Feature: Hinzufügen des Attributs validate-blur
74 +
75 +=== 2.0.0 ===
76 +
77 +* Feature: Apassungen für {{formcycle/}} Version 7.
icinga2-agent-kickstart (10).bash
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.gru
Größe
... ... @@ -1,1 +1,0 @@
1 -8.3 KB
Inhalt
... ... @@ -1,319 +1,0 @@
1 -#!/bin/bash
2 -
3 -# This generates and signs your required certificates. Please do not
4 -# forget to install the Icinga 2 package and your desired monitoring
5 -# plugins first.
6 -
7 -# Config from Director
8 -ICINGA2_NODENAME='private-cloud-taunusstein-master'
9 -ICINGA2_CA_TICKET='c892a4ef8afe567e67db5beaf363f8c9b498a7ad'
10 -ICINGA2_PARENT_ZONE='monitoring-sat-fsn02.xima-services.de'
11 -ICINGA2_PARENT_ENDPOINTS=('monitoring-sat-fsn02.xima-services.de,monitoring-sat-fsn02.xima-services.de')
12 -ICINGA2_CA_NODE='monitoring.xima-services.de'
13 -ICINGA2_GLOBAL_ZONES=('director-global')
14 -
15 -# Internal defaults
16 -: "${ICINGA2_OSFAMILY:=}"
17 -: "${ICINGA2_HOSTNAME:="$(hostname -f)"}"
18 -: "${ICINGA2_NODENAME:="${ICINGA2_HOSTNAME}"}"
19 -: "${ICINGA2_CA_NODE:=}"
20 -: "${ICINGA2_CA_PORT:=5665}"
21 -: "${ICINGA2_CA_TICKET:=}"
22 -: "${ICINGA2_PARENT_ZONE:=master}"
23 -: "${ICINGA2_PARENT_ENDPOINTS:=()}"
24 -: "${ICINGA2_GLOBAL_ZONES:=director-global}"
25 -: "${ICINGA2_DRYRUN:=}"
26 -: "${ICINGA2_UPDATE_CONFIG:=}"
27 -
28 -# Helper functions
29 -fail() {
30 - echo "ERROR: $1" >&2
31 - exit 1
32 -}
33 -
34 -warn() {
35 - echo "WARNING: $1" >&2
36 -}
37 -
38 -info() {
39 - echo "INFO: $1" >&2
40 -}
41 -
42 -check_command() {
43 - command -v "$@" &>/dev/null
44 -}
45 -
46 -install_config() {
47 - if [ -e "$1" ] && [ ! -e "${1}.orig" ]; then
48 - info "Creating a backup at ${1}.orig"
49 - cp "$1" "${1}.orig"
50 - fi
51 - echo "Writing config to ${1}"
52 - echo "$2" > "${1}"
53 -}
54 -
55 -[ "$BASH_VERSION" ] || fail "This is a Bash script"
56 -
57 -errors=
58 -for key in NODENAME CA_NODE CA_PORT CA_TICKET PARENT_ZONE PARENT_ENDPOINTS; do
59 - var="ICINGA2_${key}"
60 - if [ -z "${!var}" ]; then
61 - warn "The variable $var needs to be configured!"
62 - errors+=1
63 - fi
64 -done
65 -[ -z "$errors" ] || exit 1
66 -
67 -# Detect osfamily
68 -if [ -n "$ICINGA2_OSFAMILY" ]; then
69 - info "Assuming supplied osfamily $ICINGA2_OSFAMILY"
70 -elif check_command rpm && ! check_command dpkg; then
71 - info "This should be a RedHat system"
72 - if [ -e /etc/sysconfig/icinga2 ]; then
73 - # shellcheck disable=SC1091
74 - . /etc/sysconfig/icinga2
75 - fi
76 - ICINGA2_OSFAMILY=redhat
77 -elif check_command dpkg; then
78 - info "This should be a Debian system"
79 - if [ -e /etc/default/icinga2 ]; then
80 - # shellcheck disable=SC1091
81 - . /etc/default/icinga2
82 - fi
83 - ICINGA2_OSFAMILY=debian
84 -elif check_command apk; then
85 - info "This should be a Alpine system"
86 - if [ -e /etc/icinga2/icinga2.sysconfig ]; then
87 - # shellcheck disable=SC1091
88 - . /etc/icinga2/icinga2.sysconfig
89 - fi
90 - ICINGA2_OSFAMILY=alpine
91 -else
92 - fail "Could not determine your os type!"
93 -fi
94 -
95 -# internal defaults
96 -: "${ICINGA2_CONFIG_FILE:=/etc/icinga2/icinga2.conf}"
97 -: "${ICINGA2_CONFIGDIR:="$(dirname "$ICINGA2_CONFIG_FILE")"}"
98 -: "${ICINGA2_DATADIR:=/var/lib/icinga2}"
99 -: "${ICINGA2_SSLDIR_OLD:="${ICINGA2_CONFIGDIR}"/pki}"
100 -: "${ICINGA2_SSLDIR_NEW:="${ICINGA2_DATADIR}"/certs}"
101 -: "${ICINGA2_SSLDIR:=}"
102 -: "${ICINGA2_BIN:=icinga2}"
103 -
104 -case "$ICINGA2_OSFAMILY" in
105 -debian)
106 - : "${ICINGA2_USER:=nagios}"
107 - : "${ICINGA2_GROUP:=nagios}"
108 - ;;
109 -redhat)
110 - : "${ICINGA2_USER:=icinga}"
111 - : "${ICINGA2_GROUP:=icinga}"
112 - ;;
113 -alpine)
114 - : "${ICINGA2_USER:=icinga}"
115 - : "${ICINGA2_GROUP:=icinga}"
116 - ;;
117 -*)
118 - fail "Unknown osfamily '$ICINGA2_OSFAMILY'!"
119 - ;;
120 -esac
121 -
122 -icinga_version() {
123 - "$ICINGA2_BIN" --version 2>/dev/null | grep -oPi '\(version: [rv]?\K\d+\.\d+\.\d+[^\)]*'
124 -}
125 -
126 -version() {
127 - echo "$@" | awk -F. '{ printf("%03d%03d%03d\n", $1,$2,$3); }'
128 -}
129 -
130 -# Make sure icinga2 is installed and running
131 -echo -n "check: icinga2 installed - "
132 -if version=$(icinga_version); then
133 - echo "OK: $version"
134 -else
135 - fail "You need to install icinga2!"
136 -fi
137 -
138 -if [ -z "${ICINGA2_SSLDIR}" ]; then
139 - if [ -f "${ICINGA2_SSLDIR_OLD}/${ICINGA2_NODENAME}.crt" ]; then
140 - info "Using old SSL directory: ${ICINGA2_SSLDIR_OLD}"
141 - info "Because you already have a certificate in ${ICINGA2_SSLDIR_OLD}/${ICINGA2_NODENAME}.crt"
142 - ICINGA2_SSLDIR="${ICINGA2_SSLDIR_OLD}"
143 - elif [ $(version $version) -gt $(version 2.8) ]; then
144 - info "Using new SSL directory: ${ICINGA2_SSLDIR_NEW}"
145 - ICINGA2_SSLDIR="${ICINGA2_SSLDIR_NEW}"
146 - else
147 - info "Using old SSL directory: ${ICINGA2_SSLDIR_OLD}"
148 - ICINGA2_SSLDIR="${ICINGA2_SSLDIR_OLD}"
149 - fi
150 -fi
151 -
152 -if [ ! -d "$ICINGA2_SSLDIR" ]; then
153 - mkdir "$ICINGA2_SSLDIR"
154 - chown "$ICINGA2_USER.$ICINGA2_GROUP" "$ICINGA2_SSLDIR"
155 -fi
156 -
157 -if [ -f "${ICINGA2_SSLDIR}/${ICINGA2_NODENAME}.crt" ]; then
158 - warn "ERROR: a certificate for '${ICINGA2_NODENAME}' already exists"
159 - warn "Please remove ${ICINGA2_SSLDIR}/${ICINGA2_NODENAME}.??? in case you want a"
160 - warn "new certificate to be generated and signed by ${ICINGA2_CA_NODE}"
161 -
162 - if [ -z "${ICINGA2_UPDATE_CONFIG}" ] && [ -z "${ICINGA2_DRYRUN}" ]; then
163 - warn "Aborting here, you can can call the script like this to just update config:"
164 - info " ICINGA2_UPDATE_CONFIG=1 $0"
165 - exit 1
166 - fi
167 -elif [ -z "${ICINGA2_DRYRUN}" ]; then
168 - if ! "$ICINGA2_BIN" pki new-cert --cn "${ICINGA2_NODENAME}" \
169 - --cert "${ICINGA2_SSLDIR}/${ICINGA2_NODENAME}.crt" \
170 - --csr "${ICINGA2_SSLDIR}/${ICINGA2_NODENAME}.csr" \
171 - --key "${ICINGA2_SSLDIR}/${ICINGA2_NODENAME}.key"
172 - then fail "Could not create self signed certificate!"
173 - fi
174 -
175 - if ! "$ICINGA2_BIN" pki save-cert \
176 - --host "${ICINGA2_CA_NODE}" \
177 - --port "${ICINGA2_CA_PORT}" \
178 - --key "${ICINGA2_SSLDIR}/${ICINGA2_NODENAME}.key" \
179 - --trustedcert "${ICINGA2_SSLDIR}/trusted-master.crt"
180 - then fail "Could not retrieve trusted certificate from host ${ICINGA2_CA_NODE}"
181 - fi
182 -
183 - if ! "$ICINGA2_BIN" pki request \
184 - --host "${ICINGA2_CA_NODE}" \
185 - --port "${ICINGA2_CA_PORT}" \
186 - --ticket "${ICINGA2_CA_TICKET}" \
187 - --key "${ICINGA2_SSLDIR}/${ICINGA2_NODENAME}.key" \
188 - --cert "${ICINGA2_SSLDIR}/${ICINGA2_NODENAME}.crt" \
189 - --trustedcert "${ICINGA2_SSLDIR}/trusted-master.crt" \
190 - --ca "${ICINGA2_SSLDIR}/ca.crt"
191 - then fail "Could not retrieve final certificate from host ${ICINGA2_CA_NODE}"
192 - fi
193 -else
194 - info "Would create certificates under ${ICINGA2_SSLDIR}, but in dry-run!"
195 -fi
196 -
197 -# Prepare Config Files
198 -content_config=$(cat << EOF
199 -/** Icinga 2 Config - proposed by Icinga Director */
200 -
201 -include "constants.conf"
202 -
203 -$([ "${ICINGA2_HOSTNAME}" != "${ICINGA2_NODENAME}" ] || echo '// ')const NodeName = "${ICINGA2_NODENAME}"
204 -
205 -include "zones.conf"
206 -include "features-enabled/*.conf"
207 -
208 -include <itl>
209 -include <plugins>
210 -include <plugins-contrib>
211 -include <manubulon>
212 -include <windows-plugins>
213 -include <nscp>
214 -EOF
215 -)
216 -
217 -endpoint_list=''
218 -for item in "${ICINGA2_PARENT_ENDPOINTS[@]}"; do
219 - endpoint=$(echo "$item" | cut -d, -f1)
220 - endpoint_list+="\"${endpoint}\", "
221 -done
222 -
223 -content_zones=$(cat << EOF
224 -/** Icinga 2 Config - proposed by Icinga Director */
225 -
226 -object Endpoint "${ICINGA2_NODENAME}" {}
227 -
228 -object Zone "${ICINGA2_NODENAME}" {
229 - parent = "${ICINGA2_PARENT_ZONE}"
230 - endpoints = [ "${ICINGA2_NODENAME}" ]
231 -}
232 -
233 -object Zone "${ICINGA2_PARENT_ZONE}" {
234 - endpoints = [ ${endpoint_list%, } ]
235 -}
236 -EOF
237 -)
238 -
239 -for item in "${ICINGA2_PARENT_ENDPOINTS[@]}"; do
240 - endpoint=$(echo "$item" | cut -d, -f1)
241 - host=$(echo "$item" | cut -s -d, -f2)
242 -
243 - content_zones+=$(cat << EOF
244 -
245 -object Endpoint "${endpoint}" {
246 -$([ -n "$host" ] && echo " host = \"${host}\"" || echo " //host = \"${endpoint}\"")
247 -}
248 -EOF
249 -)
250 -done
251 -
252 -for zone in "${ICINGA2_GLOBAL_ZONES[@]}"; do
253 - content_zones+=$(cat << EOF
254 -
255 -object Zone "${zone}" {
256 - global = true
257 -}
258 -EOF
259 -)
260 -done
261 -
262 -content_api="/** Icinga 2 Config - proposed by Icinga Director */
263 -
264 -object ApiListener \"api\" {"
265 -
266 -if [ "${ICINGA2_SSLDIR}" = "${ICINGA2_SSLDIR_OLD}" ]; then
267 -content_api+="
268 - cert_path = SysconfDir + \"/icinga2/pki/${ICINGA2_NODENAME}.crt\"
269 - key_path = SysconfDir + \"/icinga2/pki/${ICINGA2_NODENAME}.key\"
270 - ca_path = SysconfDir + \"/icinga2/pki/ca.crt\"
271 -"
272 -fi
273 -content_api+="
274 - accept_commands = true
275 - accept_config = true
276 -}
277 -"
278 -
279 -if [ -z "${ICINGA2_DRYRUN}" ]; then
280 - install_config "$ICINGA2_CONFIGDIR"/icinga2.conf "$content_config"
281 - install_config "$ICINGA2_CONFIGDIR"/zones.conf "$content_zones"
282 - install_config "$ICINGA2_CONFIGDIR"/features-available/api.conf "$content_api"
283 -
284 - "$ICINGA2_BIN" feature enable api
285 -
286 - "$ICINGA2_BIN" daemon -C
287 -
288 - echo "Please restart icinga2:"
289 - case "$ICINGA2_OSFAMILY" in
290 - debian)
291 - echo " systemctl restart icinga2"
292 - ;;
293 - redhat)
294 - echo " systemctl restart icinga2"
295 - ;;
296 - alpine)
297 - echo " rc-service icinga2 restart"
298 - ;;
299 - *)
300 - fail "Unknown osfamily '$ICINGA2_OSFAMILY'!"
301 - ;;
302 - esac
303 -else
304 - output_code() {
305 - sed 's/^/ /m' <<<"$1"
306 - }
307 - echo "### $ICINGA2_CONFIGDIR"/icinga2.conf
308 - echo
309 - output_code "$content_config"
310 - echo
311 - echo "### $ICINGA2_CONFIGDIR"/zones.conf
312 - echo
313 - output_code "$content_zones"
314 - echo
315 - echo "### $ICINGA2_CONFIGDIR"/features-available/api.conf
316 - echo
317 - output_code "$content_api"
318 -fi
319 -
2_WidgetCaptcha_Formular_de.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.gru
Größe
... ... @@ -1,0 +1,1 @@
1 +7.7 KB
Inhalt
2_WidgetCaptcha_Formular_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.gru
Größe
... ... @@ -1,0 +1,1 @@
1 +9.3 KB
Inhalt