Cerber Security & Antispam - Version 8.9.5

Version Description

  • New: A new setting for WP Cerber's anti-spam engine: "Disable bot detection engine for IP addresses in the White IP Access List".
  • New: A new setting for the reCAPTCHA module: "Disable reCAPTCHA for IP addresses in the White IP Access List".
  • Improved: Logging all user session terminations including those that occurred when an admin manually terminate user sessions or block users.
  • Improved: If a user session has been terminated by a website admin, the admins name is logged and shown in the Activity log.
  • Improved: Logging all user password changes including those made on the edit user admin page, and the WooCommerce edit account page.
  • Improved: Logging application passwords changes.
  • Improved: New status labels in the Activity log: "reCAPTCHA verified" is shown when a user solves reCAPTCHA successfully
  • Improved: New status labels in the Activity log: "Logged out everywhere" is shown when a user has completely logged out on all devices and of all locations.
  • Improved: Failed reCAPTCHA verifications are logged with form submission events they are linked to.
  • Improved: A new event is logged: "Password reset request denied". With possible statuses "reCAPTCHA verification failed", "User blocked by administrator", "Username is prohibited".
  • Improved: Handling reset of user passwords is improved to support changes in the WordPress core.
  • Fixed: A cookie-related bug that causes a fatal software error if a user has been deleted or their password has been changed in the WordPress dashboard by the website administrator while the user is being logged in.
  • Fixed: A bug with the WordPress lost password (reset password) form that prevents displaying error messages to a user.
  • Fixed: When the limit on the number of allowed concurrent user sessions is set to one, an attempt to log in with the user name and incorrect password terminates the existing session of the user.
  • Read more
Download this release

Release Info

Developer Gioni
Plugin Icon 128x128 Cerber Security & Antispam
Version 8.9.5
Comparing to
See all releases

Code changes from version 8.9.3 to 8.9.5

Files changed (537) hide show
  1. admin/cerber-admin-settings.php +6 -6
  2. admin/cerber-admin.php +4 -5
  3. admin/cerber-dashboard.php +39 -31
  4. admin/cerber-tools.php +4 -4
  5. admin/cerber-users.php +1 -1
  6. assets/admin.css +270 -253
  7. assets/admin.js +8 -8
  8. assets/bn2ra.png +0 -0
  9. assets/bn3ra.png +0 -0
  10. assets/flags/ad.gif +0 -0
  11. assets/flags/ad.png +0 -0
  12. assets/flags/ae.gif +0 -0
  13. assets/flags/ae.png +0 -0
  14. assets/flags/af.gif +0 -0
  15. assets/flags/af.png +0 -0
  16. assets/flags/ag.gif +0 -0
  17. assets/flags/ag.png +0 -0
  18. assets/flags/ai.gif +0 -0
  19. assets/flags/ai.png +0 -0
  20. assets/flags/al.gif +0 -0
  21. assets/flags/al.png +0 -0
  22. assets/flags/am.gif +0 -0
  23. assets/flags/am.png +0 -0
  24. assets/flags/an.gif +0 -0
  25. assets/flags/ao.gif +0 -0
  26. assets/flags/ao.png +0 -0
  27. assets/flags/aq.gif +0 -0
  28. assets/flags/aq.png +0 -0
  29. assets/flags/ar.gif +0 -0
  30. assets/flags/ar.png +0 -0
  31. assets/flags/as.gif +0 -0
  32. assets/flags/as.png +0 -0
  33. assets/flags/at.gif +0 -0
  34. assets/flags/at.png +0 -0
  35. assets/flags/au.gif +0 -0
  36. assets/flags/au.png +0 -0
  37. assets/flags/aw.gif +0 -0
  38. assets/flags/aw.png +0 -0
  39. assets/flags/ax.gif +0 -0
  40. assets/flags/ax.png +0 -0
  41. assets/flags/az.gif +0 -0
  42. assets/flags/az.png +0 -0
  43. assets/flags/ba.gif +0 -0
  44. assets/flags/ba.png +0 -0
  45. assets/flags/bb.gif +0 -0
  46. assets/flags/bb.png +0 -0
  47. assets/flags/bd.gif +0 -0
  48. assets/flags/bd.png +0 -0
  49. assets/flags/be.gif +0 -0
  50. assets/flags/be.png +0 -0
  51. assets/flags/bf.gif +0 -0
  52. assets/flags/bf.png +0 -0
  53. assets/flags/bg.gif +0 -0
  54. assets/flags/bg.png +0 -0
  55. assets/flags/bh.gif +0 -0
  56. assets/flags/bh.png +0 -0
  57. assets/flags/bi.gif +0 -0
  58. assets/flags/bi.png +0 -0
  59. assets/flags/bj.gif +0 -0
  60. assets/flags/bj.png +0 -0
  61. assets/flags/bl.gif +0 -0
  62. assets/flags/bl.png +0 -0
  63. assets/flags/bm.gif +0 -0
  64. assets/flags/bm.png +0 -0
  65. assets/flags/bn.gif +0 -0
  66. assets/flags/bn.png +0 -0
  67. assets/flags/bo.gif +0 -0
  68. assets/flags/bo.png +0 -0
  69. assets/flags/bq.gif +0 -0
  70. assets/flags/bq.png +0 -0
  71. assets/flags/br.gif +0 -0
  72. assets/flags/br.png +0 -0
  73. assets/flags/bs.gif +0 -0
  74. assets/flags/bs.png +0 -0
  75. assets/flags/bt.gif +0 -0
  76. assets/flags/bt.png +0 -0
  77. assets/flags/bv.gif +0 -0
  78. assets/flags/bv.png +0 -0
  79. assets/flags/bw.gif +0 -0
  80. assets/flags/bw.png +0 -0
  81. assets/flags/by.gif +0 -0
  82. assets/flags/by.png +0 -0
  83. assets/flags/bz.gif +0 -0
  84. assets/flags/bz.png +0 -0
  85. assets/flags/ca.gif +0 -0
  86. assets/flags/ca.png +0 -0
  87. assets/flags/cc.gif +0 -0
  88. assets/flags/cc.png +0 -0
  89. assets/flags/cd.gif +0 -0
  90. assets/flags/cd.png +0 -0
  91. assets/flags/cf.gif +0 -0
  92. assets/flags/cf.png +0 -0
  93. assets/flags/cg.gif +0 -0
  94. assets/flags/cg.png +0 -0
  95. assets/flags/ch.gif +0 -0
  96. assets/flags/ch.png +0 -0
  97. assets/flags/ci.gif +0 -0
  98. assets/flags/ci.png +0 -0
  99. assets/flags/ck.gif +0 -0
  100. assets/flags/ck.png +0 -0
  101. assets/flags/cl.gif +0 -0
  102. assets/flags/cl.png +0 -0
  103. assets/flags/cm.gif +0 -0
  104. assets/flags/cm.png +0 -0
  105. assets/flags/cn.gif +0 -0
  106. assets/flags/cn.png +0 -0
  107. assets/flags/co.gif +0 -0
  108. assets/flags/co.png +0 -0
  109. assets/flags/cr.gif +0 -0
  110. assets/flags/cr.png +0 -0
  111. assets/flags/cs.gif +0 -0
  112. assets/flags/cu.gif +0 -0
  113. assets/flags/cu.png +0 -0
  114. assets/flags/cv.gif +0 -0
  115. assets/flags/cv.png +0 -0
  116. assets/flags/cw.gif +0 -0
  117. assets/flags/cw.png +0 -0
  118. assets/flags/cx.gif +0 -0
  119. assets/flags/cx.png +0 -0
  120. assets/flags/cy.gif +0 -0
  121. assets/flags/cy.png +0 -0
  122. assets/flags/cz.gif +0 -0
  123. assets/flags/cz.png +0 -0
  124. assets/flags/de.gif +0 -0
  125. assets/flags/de.png +0 -0
  126. assets/flags/dj.gif +0 -0
  127. assets/flags/dj.png +0 -0
  128. assets/flags/dk.gif +0 -0
  129. assets/flags/dk.png +0 -0
  130. assets/flags/dm.gif +0 -0
  131. assets/flags/dm.png +0 -0
  132. assets/flags/do.gif +0 -0
  133. assets/flags/do.png +0 -0
  134. assets/flags/dz.gif +0 -0
  135. assets/flags/dz.png +0 -0
  136. assets/flags/ec.gif +0 -0
  137. assets/flags/ec.png +0 -0
  138. assets/flags/ee.gif +0 -0
  139. assets/flags/ee.png +0 -0
  140. assets/flags/eg.gif +0 -0
  141. assets/flags/eg.png +0 -0
  142. assets/flags/eh.gif +0 -0
  143. assets/flags/eh.png +0 -0
  144. assets/flags/er.gif +0 -0
  145. assets/flags/er.png +0 -0
  146. assets/flags/es.gif +0 -0
  147. assets/flags/es.png +0 -0
  148. assets/flags/et.gif +0 -0
  149. assets/flags/et.png +0 -0
  150. assets/flags/eu.gif +0 -0
  151. assets/flags/eu.png +0 -0
  152. assets/flags/ez.gif +0 -0
  153. assets/flags/fi.gif +0 -0
  154. assets/flags/fi.png +0 -0
  155. assets/flags/fj.gif +0 -0
  156. assets/flags/fj.png +0 -0
  157. assets/flags/fk.gif +0 -0
  158. assets/flags/fk.png +0 -0
  159. assets/flags/fm.gif +0 -0
  160. assets/flags/fm.png +0 -0
  161. assets/flags/fo.gif +0 -0
  162. assets/flags/fo.png +0 -0
  163. assets/flags/fr.gif +0 -0
  164. assets/flags/fr.png +0 -0
  165. assets/flags/ga.gif +0 -0
  166. assets/flags/ga.png +0 -0
  167. assets/flags/gb-eng.png +0 -0
  168. assets/flags/gb-nir.png +0 -0
  169. assets/flags/gb-sct.png +0 -0
  170. assets/flags/gb-wls.png +0 -0
  171. assets/flags/gb.gif +0 -0
  172. assets/flags/gb.png +0 -0
  173. assets/flags/gd.gif +0 -0
  174. assets/flags/gd.png +0 -0
  175. assets/flags/ge.gif +0 -0
  176. assets/flags/ge.png +0 -0
  177. assets/flags/gf.gif +0 -0
  178. assets/flags/gf.png +0 -0
  179. assets/flags/gg.gif +0 -0
  180. assets/flags/gg.png +0 -0
  181. assets/flags/gh.gif +0 -0
  182. assets/flags/gh.png +0 -0
  183. assets/flags/gi.gif +0 -0
  184. assets/flags/gi.png +0 -0
  185. assets/flags/gl.gif +0 -0
  186. assets/flags/gl.png +0 -0
  187. assets/flags/gm.gif +0 -0
  188. assets/flags/gm.png +0 -0
  189. assets/flags/gn.gif +0 -0
  190. assets/flags/gn.png +0 -0
  191. assets/flags/gp.gif +0 -0
  192. assets/flags/gp.png +0 -0
  193. assets/flags/gq.gif +0 -0
  194. assets/flags/gq.png +0 -0
  195. assets/flags/gr.gif +0 -0
  196. assets/flags/gr.png +0 -0
  197. assets/flags/gs.gif +0 -0
  198. assets/flags/gs.png +0 -0
  199. assets/flags/gt.gif +0 -0
  200. assets/flags/gt.png +0 -0
  201. assets/flags/gu.gif +0 -0
  202. assets/flags/gu.png +0 -0
  203. assets/flags/gw.gif +0 -0
  204. assets/flags/gw.png +0 -0
  205. assets/flags/gy.gif +0 -0
  206. assets/flags/gy.png +0 -0
  207. assets/flags/hk.gif +0 -0
  208. assets/flags/hk.png +0 -0
  209. assets/flags/hm.gif +0 -0
  210. assets/flags/hm.png +0 -0
  211. assets/flags/hn.gif +0 -0
  212. assets/flags/hn.png +0 -0
  213. assets/flags/hr.gif +0 -0
  214. assets/flags/hr.png +0 -0
  215. assets/flags/ht.gif +0 -0
  216. assets/flags/ht.png +0 -0
  217. assets/flags/hu.gif +0 -0
  218. assets/flags/hu.png +0 -0
  219. assets/flags/id.gif +0 -0
  220. assets/flags/id.png +0 -0
  221. assets/flags/ie.gif +0 -0
  222. assets/flags/ie.png +0 -0
  223. assets/flags/il.gif +0 -0
  224. assets/flags/il.png +0 -0
  225. assets/flags/im.gif +0 -0
  226. assets/flags/im.png +0 -0
  227. assets/flags/in.gif +0 -0
  228. assets/flags/in.png +0 -0
  229. assets/flags/io.gif +0 -0
  230. assets/flags/io.png +0 -0
  231. assets/flags/iq.gif +0 -0
  232. assets/flags/iq.png +0 -0
  233. assets/flags/ir.gif +0 -0
  234. assets/flags/ir.png +0 -0
  235. assets/flags/is.gif +0 -0
  236. assets/flags/is.png +0 -0
  237. assets/flags/it.gif +0 -0
  238. assets/flags/it.png +0 -0
  239. assets/flags/je.gif +0 -0
  240. assets/flags/je.png +0 -0
  241. assets/flags/jm.gif +0 -0
  242. assets/flags/jm.png +0 -0
  243. assets/flags/jo.gif +0 -0
  244. assets/flags/jo.png +0 -0
  245. assets/flags/jp.gif +0 -0
  246. assets/flags/jp.png +0 -0
  247. assets/flags/ke.gif +0 -0
  248. assets/flags/ke.png +0 -0
  249. assets/flags/kg.gif +0 -0
  250. assets/flags/kg.png +0 -0
  251. assets/flags/kh.gif +0 -0
  252. assets/flags/kh.png +0 -0
  253. assets/flags/ki.gif +0 -0
  254. assets/flags/ki.png +0 -0
  255. assets/flags/km.gif +0 -0
  256. assets/flags/km.png +0 -0
  257. assets/flags/kn.gif +0 -0
  258. assets/flags/kn.png +0 -0
  259. assets/flags/kp.gif +0 -0
  260. assets/flags/kp.png +0 -0
  261. assets/flags/kr.gif +0 -0
  262. assets/flags/kr.png +0 -0
  263. assets/flags/kw.gif +0 -0
  264. assets/flags/kw.png +0 -0
  265. assets/flags/ky.gif +0 -0
  266. assets/flags/ky.png +0 -0
  267. assets/flags/kz.gif +0 -0
  268. assets/flags/kz.png +0 -0
  269. assets/flags/la.gif +0 -0
  270. assets/flags/la.png +0 -0
  271. assets/flags/lb.gif +0 -0
  272. assets/flags/lb.png +0 -0
  273. assets/flags/lc.gif +0 -0
  274. assets/flags/lc.png +0 -0
  275. assets/flags/li.gif +0 -0
  276. assets/flags/li.png +0 -0
  277. assets/flags/lk.gif +0 -0
  278. assets/flags/lk.png +0 -0
  279. assets/flags/lr.gif +0 -0
  280. assets/flags/lr.png +0 -0
  281. assets/flags/ls.gif +0 -0
  282. assets/flags/ls.png +0 -0
  283. assets/flags/lt.gif +0 -0
  284. assets/flags/lt.png +0 -0
  285. assets/flags/lu.gif +0 -0
  286. assets/flags/lu.png +0 -0
  287. assets/flags/lv.gif +0 -0
  288. assets/flags/lv.png +0 -0
  289. assets/flags/ly.gif +0 -0
  290. assets/flags/ly.png +0 -0
  291. assets/flags/ma.gif +0 -0
  292. assets/flags/ma.png +0 -0
  293. assets/flags/mc.gif +0 -0
  294. assets/flags/mc.png +0 -0
  295. assets/flags/md.gif +0 -0
  296. assets/flags/md.png +0 -0
  297. assets/flags/me.gif +0 -0
  298. assets/flags/me.png +0 -0
  299. assets/flags/mf.gif +0 -0
  300. assets/flags/mf.png +0 -0
  301. assets/flags/mg.gif +0 -0
  302. assets/flags/mg.png +0 -0
  303. assets/flags/mh.gif +0 -0
  304. assets/flags/mh.png +0 -0
  305. assets/flags/mk.gif +0 -0
  306. assets/flags/mk.png +0 -0
  307. assets/flags/ml.gif +0 -0
  308. assets/flags/ml.png +0 -0
  309. assets/flags/mm.gif +0 -0
  310. assets/flags/mm.png +0 -0
  311. assets/flags/mn.gif +0 -0
  312. assets/flags/mn.png +0 -0
  313. assets/flags/mo.gif +0 -0
  314. assets/flags/mo.png +0 -0
  315. assets/flags/mp.gif +0 -0
  316. assets/flags/mp.png +0 -0
  317. assets/flags/mq.gif +0 -0
  318. assets/flags/mq.png +0 -0
  319. assets/flags/mr.gif +0 -0
  320. assets/flags/mr.png +0 -0
  321. assets/flags/ms.gif +0 -0
  322. assets/flags/ms.png +0 -0
  323. assets/flags/mt.gif +0 -0
  324. assets/flags/mt.png +0 -0
  325. assets/flags/mu.gif +0 -0
  326. assets/flags/mu.png +0 -0
  327. assets/flags/mv.gif +0 -0
  328. assets/flags/mv.png +0 -0
  329. assets/flags/mw.gif +0 -0
  330. assets/flags/mw.png +0 -0
  331. assets/flags/mx.gif +0 -0
  332. assets/flags/mx.png +0 -0
  333. assets/flags/my.gif +0 -0
  334. assets/flags/my.png +0 -0
  335. assets/flags/mz.gif +0 -0
  336. assets/flags/mz.png +0 -0
  337. assets/flags/na.gif +0 -0
  338. assets/flags/na.png +0 -0
  339. assets/flags/nc.gif +0 -0
  340. assets/flags/nc.png +0 -0
  341. assets/flags/ne.gif +0 -0
  342. assets/flags/ne.png +0 -0
  343. assets/flags/nf.gif +0 -0
  344. assets/flags/nf.png +0 -0
  345. assets/flags/ng.gif +0 -0
  346. assets/flags/ng.png +0 -0
  347. assets/flags/ni.gif +0 -0
  348. assets/flags/ni.png +0 -0
  349. assets/flags/nl.gif +0 -0
  350. assets/flags/nl.png +0 -0
  351. assets/flags/no.gif +0 -0
  352. assets/flags/no.png +0 -0
  353. assets/flags/np.gif +0 -0
  354. assets/flags/np.png +0 -0
  355. assets/flags/nr.gif +0 -0
  356. assets/flags/nr.png +0 -0
  357. assets/flags/nu.gif +0 -0
  358. assets/flags/nu.png +0 -0
  359. assets/flags/nz.gif +0 -0
  360. assets/flags/nz.png +0 -0
  361. assets/flags/om.gif +0 -0
  362. assets/flags/om.png +0 -0
  363. assets/flags/pa.gif +0 -0
  364. assets/flags/pa.png +0 -0
  365. assets/flags/pe.gif +0 -0
  366. assets/flags/pe.png +0 -0
  367. assets/flags/pf.gif +0 -0
  368. assets/flags/pf.png +0 -0
  369. assets/flags/pg.gif +0 -0
  370. assets/flags/pg.png +0 -0
  371. assets/flags/ph.gif +0 -0
  372. assets/flags/ph.png +0 -0
  373. assets/flags/pk.gif +0 -0
  374. assets/flags/pk.png +0 -0
  375. assets/flags/pl.gif +0 -0
  376. assets/flags/pl.png +0 -0
  377. assets/flags/pm.gif +0 -0
  378. assets/flags/pm.png +0 -0
  379. assets/flags/pn.gif +0 -0
  380. assets/flags/pn.png +0 -0
  381. assets/flags/pr.gif +0 -0
  382. assets/flags/pr.png +0 -0
  383. assets/flags/ps.gif +0 -0
  384. assets/flags/ps.png +0 -0
  385. assets/flags/pt.gif +0 -0
  386. assets/flags/pt.png +0 -0
  387. assets/flags/pw.gif +0 -0
  388. assets/flags/pw.png +0 -0
  389. assets/flags/py.gif +0 -0
  390. assets/flags/py.png +0 -0
  391. assets/flags/qa.gif +0 -0
  392. assets/flags/qa.png +0 -0
  393. assets/flags/re.gif +0 -0
  394. assets/flags/re.png +0 -0
  395. assets/flags/ro.gif +0 -0
  396. assets/flags/ro.png +0 -0
  397. assets/flags/rs.gif +0 -0
  398. assets/flags/rs.png +0 -0
  399. assets/flags/ru.gif +0 -0
  400. assets/flags/ru.png +0 -0
  401. assets/flags/rw.gif +0 -0
  402. assets/flags/rw.png +0 -0
  403. assets/flags/sa.gif +0 -0
  404. assets/flags/sa.png +0 -0
  405. assets/flags/sb.gif +0 -0
  406. assets/flags/sb.png +0 -0
  407. assets/flags/sc.gif +0 -0
  408. assets/flags/sc.png +0 -0
  409. assets/flags/sd.gif +0 -0
  410. assets/flags/sd.png +0 -0
  411. assets/flags/se.gif +0 -0
  412. assets/flags/se.png +0 -0
  413. assets/flags/sg.gif +0 -0
  414. assets/flags/sg.png +0 -0
  415. assets/flags/sh.gif +0 -0
  416. assets/flags/sh.png +0 -0
  417. assets/flags/si.gif +0 -0
  418. assets/flags/si.png +0 -0
  419. assets/flags/sj.gif +0 -0
  420. assets/flags/sj.png +0 -0
  421. assets/flags/sk.gif +0 -0
  422. assets/flags/sk.png +0 -0
  423. assets/flags/sl.gif +0 -0
  424. assets/flags/sl.png +0 -0
  425. assets/flags/sm.gif +0 -0
  426. assets/flags/sm.png +0 -0
  427. assets/flags/sn.gif +0 -0
  428. assets/flags/sn.png +0 -0
  429. assets/flags/so.gif +0 -0
  430. assets/flags/so.png +0 -0
  431. assets/flags/sr.gif +0 -0
  432. assets/flags/sr.png +0 -0
  433. assets/flags/ss.gif +0 -0
  434. assets/flags/ss.png +0 -0
  435. assets/flags/st.gif +0 -0
  436. assets/flags/st.png +0 -0
  437. assets/flags/sv.gif +0 -0
  438. assets/flags/sv.png +0 -0
  439. assets/flags/sx.gif +0 -0
  440. assets/flags/sx.png +0 -0
  441. assets/flags/sy.gif +0 -0
  442. assets/flags/sy.png +0 -0
  443. assets/flags/sz.gif +0 -0
  444. assets/flags/sz.png +0 -0
  445. assets/flags/tc.gif +0 -0
  446. assets/flags/tc.png +0 -0
  447. assets/flags/td.gif +0 -0
  448. assets/flags/td.png +0 -0
  449. assets/flags/tf.gif +0 -0
  450. assets/flags/tf.png +0 -0
  451. assets/flags/tg.gif +0 -0
  452. assets/flags/tg.png +0 -0
  453. assets/flags/th.gif +0 -0
  454. assets/flags/th.png +0 -0
  455. assets/flags/tj.gif +0 -0
  456. assets/flags/tj.png +0 -0
  457. assets/flags/tk.gif +0 -0
  458. assets/flags/tk.png +0 -0
  459. assets/flags/tl.gif +0 -0
  460. assets/flags/tl.png +0 -0
  461. assets/flags/tm.gif +0 -0
  462. assets/flags/tm.png +0 -0
  463. assets/flags/tn.gif +0 -0
  464. assets/flags/tn.png +0 -0
  465. assets/flags/to.gif +0 -0
  466. assets/flags/to.png +0 -0
  467. assets/flags/tr.gif +0 -0
  468. assets/flags/tr.png +0 -0
  469. assets/flags/tt.gif +0 -0
  470. assets/flags/tt.png +0 -0
  471. assets/flags/tv.gif +0 -0
  472. assets/flags/tv.png +0 -0
  473. assets/flags/tw.gif +0 -0
  474. assets/flags/tw.png +0 -0
  475. assets/flags/tz.gif +0 -0
  476. assets/flags/tz.png +0 -0
  477. assets/flags/ua.gif +0 -0
  478. assets/flags/ua.png +0 -0
  479. assets/flags/ug.gif +0 -0
  480. assets/flags/ug.png +0 -0
  481. assets/flags/um.gif +0 -0
  482. assets/flags/um.png +0 -0
  483. assets/flags/us.gif +0 -0
  484. assets/flags/us.png +0 -0
  485. assets/flags/uy.gif +0 -0
  486. assets/flags/uy.png +0 -0
  487. assets/flags/uz.gif +0 -0
  488. assets/flags/uz.png +0 -0
  489. assets/flags/va.gif +0 -0
  490. assets/flags/va.png +0 -0
  491. assets/flags/vc.gif +0 -0
  492. assets/flags/vc.png +0 -0
  493. assets/flags/ve.gif +0 -0
  494. assets/flags/ve.png +0 -0
  495. assets/flags/vg.gif +0 -0
  496. assets/flags/vg.png +0 -0
  497. assets/flags/vi.gif +0 -0
  498. assets/flags/vi.png +0 -0
  499. assets/flags/vn.gif +0 -0
  500. assets/flags/vn.png +0 -0
  501. assets/flags/vu.gif +0 -0
  502. assets/flags/vu.png +0 -0
  503. assets/flags/wf.gif +0 -0
  504. assets/flags/wf.png +0 -0
  505. assets/flags/ws.gif +0 -0
  506. assets/flags/ws.png +0 -0
  507. assets/flags/xk.png +0 -0
  508. assets/flags/ye.gif +0 -0
  509. assets/flags/ye.png +0 -0
  510. assets/flags/yt.gif +0 -0
  511. assets/flags/yt.png +0 -0
  512. assets/flags/za.gif +0 -0
  513. assets/flags/za.png +0 -0
  514. assets/flags/zm.gif +0 -0
  515. assets/flags/zm.png +0 -0
  516. assets/flags/zw.gif +0 -0
  517. assets/flags/zw.png +0 -0
  518. assets/rateit.png +0 -0
  519. assets/rateit2.png +0 -0
  520. cerber-2fa.php +1 -3
  521. cerber-common.php +118 -50
  522. cerber-ds.php +10 -14
  523. cerber-lab.php +34 -3
  524. cerber-load.php +557 -332
  525. cerber-pluggable.php +36 -6
  526. cerber-ripe.php +1 -1
  527. cerber-scanner.php +4 -11
  528. cerber-settings.php +34 -15
  529. cerber-whois.php +10 -3
  530. changelog.txt +60 -44
  531. languages/wp-cerber-nl_NL.po +809 -744
  532. languages/wp-cerber.pot +657 -604
  533. nexus/cerber-nexus-master.php +5 -4
  534. nexus/cerber-nexus-slave.php +2 -3
  535. nexus/cerber-slave-list.php +1 -1
  536. readme.txt +64 -46
  537. wp-cerber.php +2 -2
admin/cerber-admin-settings.php CHANGED
@@ -768,13 +768,13 @@ add_filter( 'pre_update_option_' . CERBER_OPT_A, function ( $new, $old, $option
768
  Sanitizing/checking user input for reCAPTCHA tab settings
769
  */
770
  add_filter( 'pre_update_option_'.CERBER_OPT_C, function ($new, $old, $option) {
771
- global $wp_cerber;
772
  // Check ability to make external HTTP requests
773
- if ($wp_cerber && !empty($new['sitekey']) && !empty($new['secretkey'])) {
774
- if (!$goo = $wp_cerber->reCaptchaRequest('1')) {
775
- $labels = cerber_get_labels( 'activity' );
776
- cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' ' . $labels[42] );
777
- cerber_log( 42 );
778
  }
779
  }
780
 
768
  Sanitizing/checking user input for reCAPTCHA tab settings
769
  */
770
  add_filter( 'pre_update_option_'.CERBER_OPT_C, function ($new, $old, $option) {
771
+
772
  // Check ability to make external HTTP requests
773
+ if ( ! empty( $new['sitekey'] ) && ! empty( $new['secretkey'] ) ) {
774
+ if ( ( ! $goo = get_wp_cerber()->reCaptchaRequest( '1' ) )
775
+ || ! isset( $goo['success'] ) ) {
776
+ $labels = cerber_get_labels( 'status' );
777
+ cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' ' . $labels[534] );
778
  }
779
  }
780
 
admin/cerber-admin.php CHANGED
@@ -34,9 +34,9 @@
34
  const UIS_LOADER_HTML = '<div class="uis_loader_wrapper"><div class="uis_page_loader"></div></div>';
35
 
36
  add_action( 'admin_init', function () {
37
- global $crb_assets_url, $crb_ajax_loader;
38
- $crb_assets_url = cerber_plugin_dir_url() . 'assets/';
39
- $crb_ajax_loader = $crb_assets_url . 'ajax-loader.gif';
40
 
41
  if ( cerber_is_wp_ajax() ) {
42
  return;
@@ -317,7 +317,6 @@ function cerber_manual_scan() {
317
  *
318
  */
319
  add_action( 'wp_ajax_cerber_view_file', function () {
320
- global $crb_assets_url;
321
 
322
  cerber_check_ajax_permissions();
323
 
@@ -391,7 +390,7 @@ add_action( 'wp_ajax_cerber_view_file', function () {
391
  }
392
 
393
  //$sh_url = plugin_dir_url( __FILE__ ) . 'assets/sh/';
394
- $sh_url = $crb_assets_url . 'sh/';
395
  $sheight = absint( $get['sheight'] ) - 100; // highlighter is un-responsible, so we need tell him the real height
396
 
397
  ?>
34
  const UIS_LOADER_HTML = '<div class="uis_loader_wrapper"><div class="uis_page_loader"></div></div>';
35
 
36
  add_action( 'admin_init', function () {
37
+
38
+ CRB_Globals::$assets_url = cerber_plugin_dir_url() . 'assets/';
39
+ CRB_Globals::$ajax_loader = CRB_Globals::$assets_url . 'ajax-loader.gif';
40
 
41
  if ( cerber_is_wp_ajax() ) {
42
  return;
317
  *
318
  */
319
  add_action( 'wp_ajax_cerber_view_file', function () {
 
320
 
321
  cerber_check_ajax_permissions();
322
 
390
  }
391
 
392
  //$sh_url = plugin_dir_url( __FILE__ ) . 'assets/sh/';
393
+ $sh_url = CRB_Globals::$assets_url . 'sh/';
394
  $sheight = absint( $get['sheight'] ) - 100; // highlighter is un-responsible, so we need tell him the real height
395
 
396
  ?>
admin/cerber-dashboard.php CHANGED
@@ -158,7 +158,6 @@ function cerber_show_admin_page( $title, $tabs = array(), $active_tab = null, $r
158
  Displays lockouts in the Dashboard
159
  */
160
  function cerber_show_lockouts( $args = array(), $echo = true ) {
161
- global $crb_ajax_loader;
162
 
163
  //$wp_cerber->deleteGarbage();
164
 
@@ -481,11 +480,11 @@ function cerber_admin_ajax() {
481
  }
482
  break;
483
  case 'cbfl':
484
- $base = cerber_activity_link( array( 7 ) );
485
  foreach ( $list as $user_id ) {
486
  $u = get_userdata( $user_id );
487
  $val = 0;
488
- $failed = cerber_db_get_var( 'SELECT COUNT(user_id) FROM ' . CERBER_LOG_TABLE . ' WHERE ( user_login = "' . $u->user_login . '" OR user_login = "' . $u->user_email . '" ) AND activity = 7 AND stamp > ' . ( time() - 24 * 3600 ) );
489
  if ( $failed ) {
490
  $val = '<a href="' . $base . '&amp;filter_login=' . $u->user_email . '|' . $u->user_login . '">' . $failed . '</a>';
491
  }
@@ -572,9 +571,8 @@ add_action( 'wp_ajax_cerber_local_ajax', function () {
572
  * @return string
573
  */
574
  function crb_get_ajax_placeholder( $group, $item_id ) {
575
- global $crb_ajax_loader;
576
 
577
- return '<img class="crb-ajax-load" data-ajax_group="' . $group . '" data-item_id="' . $item_id . '" src="' . $crb_ajax_loader . '" />';
578
  }
579
 
580
  /*
@@ -816,6 +814,7 @@ function cerber_admin_request( $is_post = false ) {
816
  if ( ( strlen( $lic ) == LAB_KEY_LENGTH ) || empty( $lic ) ) {
817
  lab_cleanup_cache();
818
  cerber_delete_expired_set( true );
 
819
 
820
  lab_update_key( $lic );
821
 
@@ -1164,7 +1163,6 @@ function crb_make_nav_links( $link_list, $tab = 'activity', $class = '' ) {
1164
  *
1165
  */
1166
  function cerber_show_activity( $args = array(), $echo = true ) {
1167
- global $crb_ajax_loader;
1168
 
1169
  $labels = cerber_get_labels( 'activity' );
1170
  $status_labels = cerber_get_labels( 'status' ) + cerber_get_reason();
@@ -1267,7 +1265,19 @@ function cerber_show_activity( $args = array(), $echo = true ) {
1267
 
1268
  $ip_id = cerber_get_id_ip( $row->ip );
1269
 
1270
- $activity = '<span class="crb-activity actv' . $row->activity . '" title="' . $row->activity . '">' . $labels[ $row->activity ] . '</span>';
 
 
 
 
 
 
 
 
 
 
 
 
1271
 
1272
  if ( empty( $args['no_details'] ) && $row->details ) {
1273
  $details = explode( '|', $row->details );
@@ -1956,9 +1966,11 @@ add_filter( 'manage_users_sortable_columns', function ( $sortable_columns ) {
1956
  Display custom columns on the Users screen
1957
  */
1958
  add_filter( 'manage_users_custom_column', function ( $value, $column, $user_id ) {
1959
- global $wpdb, $user_ID, $crb_ajax_loader;
1960
- $ret = $value;
1961
- switch ( $column ) {
 
 
1962
  case 'cbcc' : // to get this work we need add filter 'preprocess_comment'
1963
  if ( $com = get_comments( array( 'author__in' => $user_id ) ) ) {
1964
  $ret = count( $com );
@@ -2029,8 +2041,8 @@ function cerber_quick_w(){
2029
 
2030
  $s_count = cerber_db_get_var('SELECT COUNT(DISTINCT user_id) FROM '. cerber_get_db_prefix() . CERBER_USS_TABLE );
2031
 
2032
- $failed = cerber_db_get_var('SELECT count(ip) FROM '. CERBER_LOG_TABLE .' WHERE activity IN (7) AND stamp > '.(time() - 24 * 3600));
2033
- $failed_prev = cerber_db_get_var('SELECT count(ip) FROM '. CERBER_LOG_TABLE .' WHERE activity IN (7) AND stamp > '.(time() - 48 * 3600).' AND stamp < '.(time() - 24 * 3600));
2034
 
2035
  $failed_ch = cerber_percent($failed_prev,$failed);
2036
 
@@ -2063,7 +2075,7 @@ function cerber_quick_w(){
2063
 
2064
  echo '<div class="cerber-widget">';
2065
 
2066
- echo '<table style="width:100%;"><tr><td style="width:50%; vertical-align:top;"><table><tr><td class="bigdig">'.$failed.'</td><td class="per">'.$failed_ch.'</td></tr></table><p>'.__('failed attempts','wp-cerber').' '.__('in 24 hours','wp-cerber').'<br/>(<a href="'.$act.'&filter_activity=7">'.__('view all','wp-cerber').'</a>)</p></td>';
2067
  echo '<td style="width:50%; vertical-align:top;"><table><tr><td class="bigdig">'.$locked.'</td><td class="per">'.$locked_ch.'</td></tr></table><p>'.__('lockouts','wp-cerber').' '.__('in 24 hours','wp-cerber').'<br/>(<a href="'.$act.'&filter_activity[]=10&filter_activity[]=11">'.__('view all','wp-cerber').'</a>)</p></td></tr></table>';
2068
 
2069
  echo '<table id="quick-info"><tr><td>'.__('Lockouts at the moment','wp-cerber').'</td><td><b><a href="' . $locks . '">'.$lockouts.'</a></b></td></tr>';
@@ -2143,7 +2155,7 @@ function cerber_show_help() {
2143
  }
2144
 
2145
  function cerber_show_nexus_help() {
2146
- global $crb_assets_url;
2147
  ?>
2148
  <div id="crb-help">
2149
  <table id="admin-help">
@@ -2227,7 +2239,7 @@ function cerber_show_nexus_help() {
2227
  }
2228
 
2229
  function cerber_show_scan_help() {
2230
- global $crb_assets_url;
2231
  ?>
2232
  <div id="crb-help">
2233
  <table id="admin-help">
@@ -2378,7 +2390,7 @@ function cerber_show_scan_help() {
2378
  }
2379
 
2380
  function cerber_show_anti_help() {
2381
- global $crb_assets_url;
2382
  ?>
2383
  <div id="crb-help">
2384
  <table id="admin-help">
@@ -2431,7 +2443,6 @@ function cerber_show_anti_help() {
2431
  }
2432
 
2433
  function cerber_show_general_help() {
2434
- global $crb_assets_url;
2435
 
2436
  ?>
2437
  <div id="crb-help">
@@ -2557,7 +2568,7 @@ function cerber_show_general_help() {
2557
 
2558
  <a href="https://wordpress.org/plugins/plugin-inspector/">
2559
 
2560
- <img src="<?php echo $crb_assets_url . 'inspector.png' ?>"
2561
  style="float: left; width: 128px; margin-right: 20px;"/>
2562
  </a>
2563
  <h3>Plugin for inspecting code of plugins on your site: <a
@@ -2578,7 +2589,7 @@ function cerber_show_general_help() {
2578
 
2579
  <div style="margin: 40px 0 40px 0;">
2580
  <a href="https://wordpress.org/plugins/goo-translate-widget/">
2581
- <img src="<?php echo $crb_assets_url . 'goo-translate.png' ?>"
2582
  style="float: left; width: 128px; margin-right: 20px;"/>
2583
  </a>
2584
 
@@ -2596,7 +2607,6 @@ function cerber_show_general_help() {
2596
  }
2597
 
2598
  function cerber_help() {
2599
- global $crb_assets_url;
2600
 
2601
  if ( lab_lab() ) {
2602
  $support = '<p style="margin: 2em 0 5em 0;">Submit a support ticket on our Help Desk: <a href="https://my.wpcerber.com/">https://my.wpcerber.com</a></p>';
@@ -2610,7 +2620,7 @@ function cerber_help() {
2610
 
2611
  ?>
2612
 
2613
- <img style="width: 120px; float: left; margin-right: 30px; margin-bottom: 30px;" src="<?php echo $crb_assets_url . 'wrench.png' ?>"/>
2614
 
2615
  <h3 style="font-size: 150%;">How to configure the plugin</h3>
2616
 
@@ -2737,7 +2747,6 @@ function cerber_show_dashboard() {
2737
  Admin aside bar
2738
  */
2739
  function cerber_show_aside( $tab ) {
2740
- global $crb_assets_url;
2741
 
2742
  if ( in_array( $tab, array( 'nexus_sites', 'activity', 'lockouts', 'traffic' ) ) ) {
2743
  return;
@@ -2758,7 +2767,7 @@ function cerber_show_aside( $tab ) {
2758
  $images = array( 'bn4ra.png', 'bn5ra.png' );
2759
  $d = (int) date( 'z' );
2760
  $n = ( $d & 1 ) ? 1 : 0;
2761
- $ban = $crb_assets_url . $images[ $n ];
2762
 
2763
  $aside[] = '<a href="https://wpcerber.com/pro/" target="_blank"><img src="'.$ban.'" class="crb-full-width" /></a>';
2764
 
@@ -2779,7 +2788,7 @@ function cerber_show_aside( $tab ) {
2779
  $r[0] = crb_get_review_url( 'tpilot' );
2780
  $r[1] = crb_get_review_url( 'wp' );
2781
  shuffle( $r );
2782
- $aside[] = '<a href="' . $r[0] . '" target="_blank"><img class="crb-full-width" src="' . $crb_assets_url . 'fb2b.png" /></a>';
2783
  }
2784
 
2785
  echo '<div id="crb-aside">' . implode( ' ', $aside ) . '</div>';
@@ -3090,9 +3099,10 @@ function cerber_admin_enqueue($hook) {
3090
 
3091
  add_action( 'admin_enqueue_scripts', 'cerber_admin_assets', 9999 );
3092
  function cerber_admin_assets() {
3093
- global $crb_assets_url;
3094
  //$crb_assets_url = plugin_dir_url( __FILE__ ) . 'assets/';
3095
  //$crb_assets_url = cerber_plugin_dir_url() . 'assets/';
 
3096
 
3097
  if ( cerber_is_admin_page() ) {
3098
 
@@ -3146,9 +3156,7 @@ function cerber_admin_assets() {
3146
  add_action('admin_head', 'cerber_admin_head' );
3147
  add_action('customize_controls_print_scripts', 'cerber_admin_head' ); // @since 5.8.1
3148
  function cerber_admin_head() {
3149
- global $crb_assets_url, $crb_ajax_loader;
3150
 
3151
- //$crb_ajax_loader = $crb_assets_url . 'ajax-loader.gif';
3152
  $crb_ajax_nonce = wp_create_nonce( 'crb-ajax-admin' );
3153
 
3154
  $crb_lab_available = ( lab_lab() ) ? 'true' : 'false';
@@ -3157,7 +3165,7 @@ function cerber_admin_head() {
3157
 
3158
  <script type="text/javascript">
3159
  crb_ajax_nonce = '<?php echo $crb_ajax_nonce; ?>';
3160
- crb_ajax_loader = '<?php echo $crb_ajax_loader; ?>';
3161
  crb_lab_available = <?php echo $crb_lab_available; ?>;
3162
  </script>
3163
 
@@ -3661,12 +3669,12 @@ function crb_admin_geo_selector( $rule_id, $rule, $class = '' ) {
3661
  break;
3662
  case 'geo_restapi':
3663
  if ( $opt['norest'] ) {
3664
- $note = 'REST API is disabled in the Hardening settings of the plugin.';
3665
  }
3666
  break;
3667
  case 'geo_xmlrpc':
3668
  if ( $opt['xmlrpc'] ) {
3669
- $note = 'XML-RPC is disabled in the Hardening settings of the plugin.';
3670
  }
3671
  break;
3672
  }
@@ -3995,7 +4003,7 @@ function cerber_export_traffic( $params = array() ) {
3995
  *
3996
  */
3997
  function cerber_show_traffic( $args = array(), $echo = true ) {
3998
- global $wpdb, $crb_ajax_loader;
3999
 
4000
  $labels = cerber_get_labels( 'activity' );
4001
  $status_labels = cerber_get_labels( 'status' ) + cerber_get_reason();
158
  Displays lockouts in the Dashboard
159
  */
160
  function cerber_show_lockouts( $args = array(), $echo = true ) {
 
161
 
162
  //$wp_cerber->deleteGarbage();
163
 
480
  }
481
  break;
482
  case 'cbfl':
483
+ $base = cerber_activity_link( array( CRB_EV_LFL ) );
484
  foreach ( $list as $user_id ) {
485
  $u = get_userdata( $user_id );
486
  $val = 0;
487
+ $failed = cerber_db_get_var( 'SELECT COUNT(user_id) FROM ' . CERBER_LOG_TABLE . ' WHERE ( user_login = "' . $u->user_login . '" OR user_login = "' . $u->user_email . '" ) AND activity = ' . CRB_EV_LFL . ' AND stamp > ' . ( time() - 24 * 3600 ) );
488
  if ( $failed ) {
489
  $val = '<a href="' . $base . '&amp;filter_login=' . $u->user_email . '|' . $u->user_login . '">' . $failed . '</a>';
490
  }
571
  * @return string
572
  */
573
  function crb_get_ajax_placeholder( $group, $item_id ) {
 
574
 
575
+ return '<img class="crb-ajax-load" data-ajax_group="' . $group . '" data-item_id="' . $item_id . '" src="' . CRB_Globals::$ajax_loader . '" />';
576
  }
577
 
578
  /*
814
  if ( ( strlen( $lic ) == LAB_KEY_LENGTH ) || empty( $lic ) ) {
815
  lab_cleanup_cache();
816
  cerber_delete_expired_set( true );
817
+ lab_get_site_meta();
818
 
819
  lab_update_key( $lic );
820
 
1163
  *
1164
  */
1165
  function cerber_show_activity( $args = array(), $echo = true ) {
 
1166
 
1167
  $labels = cerber_get_labels( 'activity' );
1168
  $status_labels = cerber_get_labels( 'status' ) + cerber_get_reason();
1265
 
1266
  $ip_id = cerber_get_id_ip( $row->ip );
1267
 
1268
+ // TODO refactor this: not as an IF exception
1269
+ if ( $row->activity == 22
1270
+ && $row->ac_by_user
1271
+ && $row->user != $row->ac_by_user
1272
+ && $by_user = get_userdata( $row->ac_by_user ) ) {
1273
+ /* translators: %s is the name of a website administrator who terminated the session. */
1274
+ $ac_label = sprintf( __( 'User session terminated by %s', 'wp-cerber' ), '<a href="' . get_edit_user_link( $row->ac_by_user ) . '">' . $by_user->display_name . '</a>' );
1275
+ }
1276
+ else {
1277
+ $ac_label = $labels[ $row->activity ];
1278
+ }
1279
+
1280
+ $activity = '<span class="crb-activity actv' . $row->activity . '" title="' . $row->activity . '">' . $ac_label . '</span>';
1281
 
1282
  if ( empty( $args['no_details'] ) && $row->details ) {
1283
  $details = explode( '|', $row->details );
1966
  Display custom columns on the Users screen
1967
  */
1968
  add_filter( 'manage_users_custom_column', function ( $value, $column, $user_id ) {
1969
+ global $wpdb, $user_ID;
1970
+
1971
+ $ret = $value;
1972
+
1973
+ switch ( $column ) {
1974
  case 'cbcc' : // to get this work we need add filter 'preprocess_comment'
1975
  if ( $com = get_comments( array( 'author__in' => $user_id ) ) ) {
1976
  $ret = count( $com );
2041
 
2042
  $s_count = cerber_db_get_var('SELECT COUNT(DISTINCT user_id) FROM '. cerber_get_db_prefix() . CERBER_USS_TABLE );
2043
 
2044
+ $failed = cerber_db_get_var( 'SELECT count(ip) FROM ' . CERBER_LOG_TABLE . ' WHERE activity IN (' . CRB_EV_LFL . ') AND stamp > ' . ( time() - 24 * 3600 ) );
2045
+ $failed_prev = cerber_db_get_var( 'SELECT count(ip) FROM ' . CERBER_LOG_TABLE . ' WHERE activity IN (' . CRB_EV_LFL . ') AND stamp > ' . ( time() - 48 * 3600 ) . ' AND stamp < ' . ( time() - 24 * 3600 ) );
2046
 
2047
  $failed_ch = cerber_percent($failed_prev,$failed);
2048
 
2075
 
2076
  echo '<div class="cerber-widget">';
2077
 
2078
+ echo '<table style="width:100%;"><tr><td style="width:50%; vertical-align:top;"><table><tr><td class="bigdig">' . $failed . '</td><td class="per">' . $failed_ch . '</td></tr></table><p>' . __( 'failed attempts', 'wp-cerber' ) . ' ' . __( 'in 24 hours', 'wp-cerber' ) . '<br/>(<a href="' . $act . '&filter_activity=' . CRB_EV_LFL . '">' . __( 'view all', 'wp-cerber' ) . '</a>)</p></td>';
2079
  echo '<td style="width:50%; vertical-align:top;"><table><tr><td class="bigdig">'.$locked.'</td><td class="per">'.$locked_ch.'</td></tr></table><p>'.__('lockouts','wp-cerber').' '.__('in 24 hours','wp-cerber').'<br/>(<a href="'.$act.'&filter_activity[]=10&filter_activity[]=11">'.__('view all','wp-cerber').'</a>)</p></td></tr></table>';
2080
 
2081
  echo '<table id="quick-info"><tr><td>'.__('Lockouts at the moment','wp-cerber').'</td><td><b><a href="' . $locks . '">'.$lockouts.'</a></b></td></tr>';
2155
  }
2156
 
2157
  function cerber_show_nexus_help() {
2158
+
2159
  ?>
2160
  <div id="crb-help">
2161
  <table id="admin-help">
2239
  }
2240
 
2241
  function cerber_show_scan_help() {
2242
+
2243
  ?>
2244
  <div id="crb-help">
2245
  <table id="admin-help">
2390
  }
2391
 
2392
  function cerber_show_anti_help() {
2393
+
2394
  ?>
2395
  <div id="crb-help">
2396
  <table id="admin-help">
2443
  }
2444
 
2445
  function cerber_show_general_help() {
 
2446
 
2447
  ?>
2448
  <div id="crb-help">
2568
 
2569
  <a href="https://wordpress.org/plugins/plugin-inspector/">
2570
 
2571
+ <img src="<?php echo CRB_Globals::$assets_url . 'inspector.png' ?>"
2572
  style="float: left; width: 128px; margin-right: 20px;"/>
2573
  </a>
2574
  <h3>Plugin for inspecting code of plugins on your site: <a
2589
 
2590
  <div style="margin: 40px 0 40px 0;">
2591
  <a href="https://wordpress.org/plugins/goo-translate-widget/">
2592
+ <img src="<?php echo CRB_Globals::$assets_url . 'goo-translate.png' ?>"
2593
  style="float: left; width: 128px; margin-right: 20px;"/>
2594
  </a>
2595
 
2607
  }
2608
 
2609
  function cerber_help() {
 
2610
 
2611
  if ( lab_lab() ) {
2612
  $support = '<p style="margin: 2em 0 5em 0;">Submit a support ticket on our Help Desk: <a href="https://my.wpcerber.com/">https://my.wpcerber.com</a></p>';
2620
 
2621
  ?>
2622
 
2623
+ <img style="width: 120px; float: left; margin-right: 30px; margin-bottom: 30px;" src="<?php echo CRB_Globals::$assets_url . 'wrench.png' ?>"/>
2624
 
2625
  <h3 style="font-size: 150%;">How to configure the plugin</h3>
2626
 
2747
  Admin aside bar
2748
  */
2749
  function cerber_show_aside( $tab ) {
 
2750
 
2751
  if ( in_array( $tab, array( 'nexus_sites', 'activity', 'lockouts', 'traffic' ) ) ) {
2752
  return;
2767
  $images = array( 'bn4ra.png', 'bn5ra.png' );
2768
  $d = (int) date( 'z' );
2769
  $n = ( $d & 1 ) ? 1 : 0;
2770
+ $ban = CRB_Globals::$assets_url . $images[ $n ];
2771
 
2772
  $aside[] = '<a href="https://wpcerber.com/pro/" target="_blank"><img src="'.$ban.'" class="crb-full-width" /></a>';
2773
 
2788
  $r[0] = crb_get_review_url( 'tpilot' );
2789
  $r[1] = crb_get_review_url( 'wp' );
2790
  shuffle( $r );
2791
+ $aside[] = '<a href="' . $r[0] . '" target="_blank"><img class="crb-full-width" src="' . CRB_Globals::$assets_url . 'fb2b.png" /></a>';
2792
  }
2793
 
2794
  echo '<div id="crb-aside">' . implode( ' ', $aside ) . '</div>';
3099
 
3100
  add_action( 'admin_enqueue_scripts', 'cerber_admin_assets', 9999 );
3101
  function cerber_admin_assets() {
3102
+
3103
  //$crb_assets_url = plugin_dir_url( __FILE__ ) . 'assets/';
3104
  //$crb_assets_url = cerber_plugin_dir_url() . 'assets/';
3105
+ $crb_assets_url = CRB_Globals::$assets_url;
3106
 
3107
  if ( cerber_is_admin_page() ) {
3108
 
3156
  add_action('admin_head', 'cerber_admin_head' );
3157
  add_action('customize_controls_print_scripts', 'cerber_admin_head' ); // @since 5.8.1
3158
  function cerber_admin_head() {
 
3159
 
 
3160
  $crb_ajax_nonce = wp_create_nonce( 'crb-ajax-admin' );
3161
 
3162
  $crb_lab_available = ( lab_lab() ) ? 'true' : 'false';
3165
 
3166
  <script type="text/javascript">
3167
  crb_ajax_nonce = '<?php echo $crb_ajax_nonce; ?>';
3168
+ crb_ajax_loader = '<?php echo CRB_Globals::$ajax_loader; ?>';
3169
  crb_lab_available = <?php echo $crb_lab_available; ?>;
3170
  </script>
3171
 
3669
  break;
3670
  case 'geo_restapi':
3671
  if ( $opt['norest'] ) {
3672
+ $note = 'REST API is disabled in the Hardening settings of WP Cerber.';
3673
  }
3674
  break;
3675
  case 'geo_xmlrpc':
3676
  if ( $opt['xmlrpc'] ) {
3677
+ $note = 'XML-RPC is disabled in the Hardening settings of WP Cerber.';
3678
  }
3679
  break;
3680
  }
4003
  *
4004
  */
4005
  function cerber_show_traffic( $args = array(), $echo = true ) {
4006
+ global $wpdb;
4007
 
4008
  $labels = cerber_get_labels( 'activity' );
4009
  $status_labels = cerber_get_labels( 'status' ) + cerber_get_reason();
admin/cerber-tools.php CHANGED
@@ -98,7 +98,7 @@ function cerber_export() {
98
  $file = json_encode( $data );
99
  $file .= '==/' . strlen( $file ) . '/' . crc32( $file ) . '/EOF';
100
 
101
- crb_file_headers( 'wpcerber.config', 'application/octet-stream' );
102
 
103
  echo $file;
104
  exit;
@@ -109,7 +109,7 @@ function cerber_export() {
109
  *
110
  */
111
  function cerber_import() {
112
- global $wpdb, $wp_cerber;
113
 
114
  if ( ! isset( $_POST['cerber_import'] ) || ! cerber_is_http_post() ) {
115
  return;
@@ -199,8 +199,8 @@ function cerber_import() {
199
  if ( isset( $_POST['importset'] ) && $data['options'] && ! empty( $data['options'] ) && is_array( $data['options'] ) ) {
200
  $data['options']['loginpath'] = urldecode( $data['options']['loginpath'] ); // needed for filter cerber_sanitize_m()
201
  if ( $data['home'] != cerber_get_home_url() ) {
202
- $data['options']['sitekey'] = $wp_cerber->getSettings( 'sitekey' );
203
- $data['options']['secretkey'] = $wp_cerber->getSettings( 'secretkey' );
204
  }
205
  cerber_save_settings( $data['options'] ); // @since 2.0
206
  if ( isset( $data['geo-rules'] ) ) {
98
  $file = json_encode( $data );
99
  $file .= '==/' . strlen( $file ) . '/' . crc32( $file ) . '/EOF';
100
 
101
+ crb_file_headers( 'wpcerber.config', 'text/plain' );
102
 
103
  echo $file;
104
  exit;
109
  *
110
  */
111
  function cerber_import() {
112
+ global $wpdb;
113
 
114
  if ( ! isset( $_POST['cerber_import'] ) || ! cerber_is_http_post() ) {
115
  return;
199
  if ( isset( $_POST['importset'] ) && $data['options'] && ! empty( $data['options'] ) && is_array( $data['options'] ) ) {
200
  $data['options']['loginpath'] = urldecode( $data['options']['loginpath'] ); // needed for filter cerber_sanitize_m()
201
  if ( $data['home'] != cerber_get_home_url() ) {
202
+ $data['options']['sitekey'] = crb_get_settings( 'sitekey' );
203
+ $data['options']['secretkey'] = crb_get_settings( 'secretkey' );
204
  }
205
  cerber_save_settings( $data['options'] ); // @since 2.0
206
  if ( isset( $data['geo-rules'] ) ) {
admin/cerber-users.php CHANGED
@@ -1065,7 +1065,7 @@ class CRB_Sessions_Table extends WP_List_Table {
1065
  * @return string
1066
  */
1067
  function column_default( $item, $column_name ) {
1068
- global $crb_ajax_loader;
1069
  //return $item[ $column_name ]; // raw output as is
1070
  switch ( $column_name ) {
1071
  case 'ses_user':
1065
  * @return string
1066
  */
1067
  function column_default( $item, $column_name ) {
1068
+
1069
  //return $item[ $column_name ]; // raw output as is
1070
  switch ( $column_name ) {
1071
  case 'ses_user':
assets/admin.css CHANGED
@@ -1070,9 +1070,22 @@ td.crb-traffic-details table td:nth-child(2) {
1070
  border-left: 4px solid rgba(0, 0, 0, .25);
1071
  }
1072
 
 
1073
  .crb-country {
1074
  padding-left: 24px;
1075
  white-space: nowrap;
 
 
 
 
 
 
 
 
 
 
 
 
1076
  }
1077
 
1078
  /* Activity - new styles (improvements) */
@@ -1082,7 +1095,7 @@ td.crb-traffic-details table td:nth-child(2) {
1082
  border-left: none;
1083
  background-color: initial;
1084
  }
1085
- .crb12, .crb16, .crb17, .crb18, .crb19, .crb41, .crb42, .crb50, .crb51, .crb52, .crb53, .crb54, .crb55, .crb56, .crb57, .crb70, .crb71, .crb72, .crb73, .crb74, .crb75, .crb76, .crb100 {
1086
  border-left: 0.4em solid #FF5733;
1087
  border-left: 0.4em solid #FF4633;
1088
  padding-bottom: 2px;
@@ -2226,7 +2239,7 @@ table.crb-geo-rule td:first-child{
2226
  }
2227
 
2228
  .multi-wrapper .item {
2229
- padding-left: 24px !important;
2230
  }
2231
  .multi-wrapper .item:hover {
2232
  border-radius: 0 !important;
@@ -2456,1006 +2469,1010 @@ input:checked + .crb-slider:before {
2456
 
2457
  /* Flags */
2458
 
 
 
 
 
2459
  a[data-value="AF"]{
2460
- background: url("flags/af.gif") no-repeat left;
2461
  }
2462
 
2463
  a[data-value="AL"]{
2464
- background: url("flags/al.gif") no-repeat left;
2465
  }
2466
 
2467
  a[data-value="AX"]{
2468
- background: url("flags/ax.gif") no-repeat left;
2469
  }
2470
 
2471
  a[data-value="DZ"]{
2472
- background: url("flags/dz.gif") no-repeat left;
2473
  }
2474
 
2475
  a[data-value="AS"]{
2476
- background: url("flags/as.gif") no-repeat left;
2477
  }
2478
 
2479
  a[data-value="AD"]{
2480
- background: url("flags/ad.gif") no-repeat left;
2481
  }
2482
 
2483
  a[data-value="AO"]{
2484
- background: url("flags/ao.gif") no-repeat left;
2485
  }
2486
 
2487
  a[data-value="AI"]{
2488
- background: url("flags/ai.gif") no-repeat left;
2489
  }
2490
 
2491
  a[data-value="AQ"]{
2492
- background: url("flags/aq.gif") no-repeat left;
2493
  }
2494
 
2495
  a[data-value="AG"]{
2496
- background: url("flags/ag.gif") no-repeat left;
2497
  }
2498
 
2499
  a[data-value="AR"]{
2500
- background: url("flags/ar.gif") no-repeat left;
2501
  }
2502
 
2503
  a[data-value="AM"]{
2504
- background: url("flags/am.gif") no-repeat left;
2505
  }
2506
 
2507
  a[data-value="AW"]{
2508
- background: url("flags/aw.gif") no-repeat left;
2509
  }
2510
 
2511
  a[data-value="AU"]{
2512
- background: url("flags/au.gif") no-repeat left;
2513
  }
2514
 
2515
  a[data-value="AT"]{
2516
- background: url("flags/at.gif") no-repeat left;
2517
  }
2518
 
2519
  a[data-value="AZ"]{
2520
- background: url("flags/az.gif") no-repeat left;
2521
  }
2522
 
2523
  a[data-value="BS"]{
2524
- background: url("flags/bs.gif") no-repeat left;
2525
  }
2526
 
2527
  a[data-value="BH"]{
2528
- background: url("flags/bh.gif") no-repeat left;
2529
  }
2530
 
2531
  a[data-value="BD"]{
2532
- background: url("flags/bd.gif") no-repeat left;
2533
  }
2534
 
2535
  a[data-value="BB"]{
2536
- background: url("flags/bb.gif") no-repeat left;
2537
  }
2538
 
2539
  a[data-value="BY"]{
2540
- background: url("flags/by.gif") no-repeat left;
2541
  }
2542
 
2543
  a[data-value="BE"]{
2544
- background: url("flags/be.gif") no-repeat left;
2545
  }
2546
 
2547
  a[data-value="BZ"]{
2548
- background: url("flags/bz.gif") no-repeat left;
2549
  }
2550
 
2551
  a[data-value="BJ"]{
2552
- background: url("flags/bj.gif") no-repeat left;
2553
  }
2554
 
2555
  a[data-value="BM"]{
2556
- background: url("flags/bm.gif") no-repeat left;
2557
  }
2558
 
2559
  a[data-value="BT"]{
2560
- background: url("flags/bt.gif") no-repeat left;
2561
  }
2562
 
2563
  a[data-value="BO"]{
2564
- background: url("flags/bo.gif") no-repeat left;
2565
  }
2566
 
2567
  a[data-value="BQ"]{
2568
- background: url("flags/bq.gif") no-repeat left;
2569
  }
2570
 
2571
  a[data-value="BA"]{
2572
- background: url("flags/ba.gif") no-repeat left;
2573
  }
2574
 
2575
  a[data-value="BW"]{
2576
- background: url("flags/bw.gif") no-repeat left;
2577
  }
2578
 
2579
  a[data-value="BV"]{
2580
- background: url("flags/bv.gif") no-repeat left;
2581
  }
2582
 
2583
  a[data-value="BR"]{
2584
- background: url("flags/br.gif") no-repeat left;
2585
  }
2586
 
2587
  a[data-value="IO"]{
2588
- background: url("flags/io.gif") no-repeat left;
2589
  }
2590
 
2591
  a[data-value="BN"]{
2592
- background: url("flags/bn.gif") no-repeat left;
2593
  }
2594
 
2595
  a[data-value="BG"]{
2596
- background: url("flags/bg.gif") no-repeat left;
2597
  }
2598
 
2599
  a[data-value="BF"]{
2600
- background: url("flags/bf.gif") no-repeat left;
2601
  }
2602
 
2603
  a[data-value="BI"]{
2604
- background: url("flags/bi.gif") no-repeat left;
2605
  }
2606
 
2607
  a[data-value="KH"]{
2608
- background: url("flags/kh.gif") no-repeat left;
2609
  }
2610
 
2611
  a[data-value="CM"]{
2612
- background: url("flags/cm.gif") no-repeat left;
2613
  }
2614
 
2615
  a[data-value="CA"]{
2616
- background: url("flags/ca.gif") no-repeat left;
2617
  }
2618
 
2619
  a[data-value="CV"]{
2620
- background: url("flags/cv.gif") no-repeat left;
2621
  }
2622
 
2623
  a[data-value="KY"]{
2624
- background: url("flags/ky.gif") no-repeat left;
2625
  }
2626
 
2627
  a[data-value="CF"]{
2628
- background: url("flags/cf.gif") no-repeat left;
2629
  }
2630
 
2631
  a[data-value="TD"]{
2632
- background: url("flags/td.gif") no-repeat left;
2633
  }
2634
 
2635
  a[data-value="CL"]{
2636
- background: url("flags/cl.gif") no-repeat left;
2637
  }
2638
 
2639
  a[data-value="CN"]{
2640
- background: url("flags/cn.gif") no-repeat left;
2641
  }
2642
 
2643
  a[data-value="CX"]{
2644
- background: url("flags/cx.gif") no-repeat left;
2645
  }
2646
 
2647
  a[data-value="CC"]{
2648
- background: url("flags/cc.gif") no-repeat left;
2649
  }
2650
 
2651
  a[data-value="CO"]{
2652
- background: url("flags/co.gif") no-repeat left;
2653
  }
2654
 
2655
  a[data-value="KM"]{
2656
- background: url("flags/km.gif") no-repeat left;
2657
  }
2658
 
2659
  a[data-value="CG"]{
2660
- background: url("flags/cg.gif") no-repeat left;
2661
  }
2662
 
2663
  a[data-value="CD"]{
2664
- background: url("flags/cd.gif") no-repeat left;
2665
  }
2666
 
2667
  a[data-value="CK"]{
2668
- background: url("flags/ck.gif") no-repeat left;
2669
  }
2670
 
2671
  a[data-value="CR"]{
2672
- background: url("flags/cr.gif") no-repeat left;
2673
  }
2674
 
2675
  a[data-value="CI"]{
2676
- background: url("flags/ci.gif") no-repeat left;
2677
  }
2678
 
2679
  a[data-value="HR"]{
2680
- background: url("flags/hr.gif") no-repeat left;
2681
  }
2682
 
2683
  a[data-value="CU"]{
2684
- background: url("flags/cu.gif") no-repeat left;
2685
  }
2686
 
2687
  a[data-value="CW"]{
2688
- background: url("flags/cw.gif") no-repeat left;
2689
  }
2690
 
2691
  a[data-value="CY"]{
2692
- background: url("flags/cy.gif") no-repeat left;
2693
  }
2694
 
2695
  a[data-value="CZ"]{
2696
- background: url("flags/cz.gif") no-repeat left;
2697
  }
2698
 
2699
  a[data-value="DK"]{
2700
- background: url("flags/dk.gif") no-repeat left;
2701
  }
2702
 
2703
  a[data-value="DJ"]{
2704
- background: url("flags/dj.gif") no-repeat left;
2705
  }
2706
 
2707
  a[data-value="DM"]{
2708
- background: url("flags/dm.gif") no-repeat left;
2709
  }
2710
 
2711
  a[data-value="DO"]{
2712
- background: url("flags/do.gif") no-repeat left;
2713
  }
2714
 
2715
  a[data-value="EC"]{
2716
- background: url("flags/ec.gif") no-repeat left;
2717
  }
2718
 
2719
  a[data-value="EG"]{
2720
- background: url("flags/eg.gif") no-repeat left;
2721
  }
2722
 
2723
  a[data-value="SV"]{
2724
- background: url("flags/sv.gif") no-repeat left;
2725
  }
2726
 
2727
  a[data-value="GQ"]{
2728
- background: url("flags/gq.gif") no-repeat left;
2729
  }
2730
 
2731
  a[data-value="ER"]{
2732
- background: url("flags/er.gif") no-repeat left;
2733
  }
2734
 
2735
  a[data-value="EE"]{
2736
- background: url("flags/ee.gif") no-repeat left;
2737
  }
2738
 
2739
  a[data-value="ET"]{
2740
- background: url("flags/et.gif") no-repeat left;
2741
  }
2742
 
2743
  a[data-value="EU"]{
2744
- background: url("flags/eu.gif") no-repeat left;
2745
  }
2746
 
2747
  a[data-value="EZ"]{
2748
- background: url("flags/ez.gif") no-repeat left;
2749
  }
2750
 
2751
  a[data-value="FK"]{
2752
- background: url("flags/fk.gif") no-repeat left;
2753
  }
2754
 
2755
  a[data-value="FO"]{
2756
- background: url("flags/fo.gif") no-repeat left;
2757
  }
2758
 
2759
  a[data-value="FJ"]{
2760
- background: url("flags/fj.gif") no-repeat left;
2761
  }
2762
 
2763
  a[data-value="FI"]{
2764
- background: url("flags/fi.gif") no-repeat left;
2765
  }
2766
 
2767
  a[data-value="FR"]{
2768
- background: url("flags/fr.gif") no-repeat left;
2769
  }
2770
 
2771
  a[data-value="GF"]{
2772
- background: url("flags/gf.gif") no-repeat left;
2773
  }
2774
 
2775
  a[data-value="PF"]{
2776
- background: url("flags/pf.gif") no-repeat left;
2777
  }
2778
 
2779
  a[data-value="TF"]{
2780
- background: url("flags/tf.gif") no-repeat left;
2781
  }
2782
 
2783
  a[data-value="GA"]{
2784
- background: url("flags/ga.gif") no-repeat left;
2785
  }
2786
 
2787
  a[data-value="GM"]{
2788
- background: url("flags/gm.gif") no-repeat left;
2789
  }
2790
 
2791
  a[data-value="GE"]{
2792
- background: url("flags/ge.gif") no-repeat left;
2793
  }
2794
 
2795
  a[data-value="DE"]{
2796
- background: url("flags/de.gif") no-repeat left;
2797
  }
2798
 
2799
  a[data-value="GH"]{
2800
- background: url("flags/gh.gif") no-repeat left;
2801
  }
2802
 
2803
  a[data-value="GI"]{
2804
- background: url("flags/gi.gif") no-repeat left;
2805
  }
2806
 
2807
  a[data-value="GR"]{
2808
- background: url("flags/gr.gif") no-repeat left;
2809
  }
2810
 
2811
  a[data-value="GL"]{
2812
- background: url("flags/gl.gif") no-repeat left;
2813
  }
2814
 
2815
  a[data-value="GD"]{
2816
- background: url("flags/gd.gif") no-repeat left;
2817
  }
2818
 
2819
  a[data-value="GP"]{
2820
- background: url("flags/gp.gif") no-repeat left;
2821
  }
2822
 
2823
  a[data-value="GU"]{
2824
- background: url("flags/gu.gif") no-repeat left;
2825
  }
2826
 
2827
  a[data-value="GT"]{
2828
- background: url("flags/gt.gif") no-repeat left;
2829
  }
2830
 
2831
  a[data-value="GG"]{
2832
- background: url("flags/gg.gif") no-repeat left;
2833
  }
2834
 
2835
  a[data-value="GN"]{
2836
- background: url("flags/gn.gif") no-repeat left;
2837
  }
2838
 
2839
  a[data-value="GW"]{
2840
- background: url("flags/gw.gif") no-repeat left;
2841
  }
2842
 
2843
  a[data-value="GY"]{
2844
- background: url("flags/gy.gif") no-repeat left;
2845
  }
2846
 
2847
  a[data-value="HT"]{
2848
- background: url("flags/ht.gif") no-repeat left;
2849
  }
2850
 
2851
  a[data-value="HM"]{
2852
- background: url("flags/hm.gif") no-repeat left;
2853
  }
2854
 
2855
  a[data-value="VA"]{
2856
- background: url("flags/va.gif") no-repeat left;
2857
  }
2858
 
2859
  a[data-value="HN"]{
2860
- background: url("flags/hn.gif") no-repeat left;
2861
  }
2862
 
2863
  a[data-value="HK"]{
2864
- background: url("flags/hk.gif") no-repeat left;
2865
  }
2866
 
2867
  a[data-value="HU"]{
2868
- background: url("flags/hu.gif") no-repeat left;
2869
  }
2870
 
2871
  a[data-value="IS"]{
2872
- background: url("flags/is.gif") no-repeat left;
2873
  }
2874
 
2875
  a[data-value="IN"]{
2876
- background: url("flags/in.gif") no-repeat left;
2877
  }
2878
 
2879
  a[data-value="ID"]{
2880
- background: url("flags/id.gif") no-repeat left;
2881
  }
2882
 
2883
  a[data-value="IR"]{
2884
- background: url("flags/ir.gif") no-repeat left;
2885
  }
2886
 
2887
  a[data-value="IQ"]{
2888
- background: url("flags/iq.gif") no-repeat left;
2889
  }
2890
 
2891
  a[data-value="IE"]{
2892
- background: url("flags/ie.gif") no-repeat left;
2893
  }
2894
 
2895
  a[data-value="IM"]{
2896
- background: url("flags/im.gif") no-repeat left;
2897
  }
2898
 
2899
  a[data-value="IL"]{
2900
- background: url("flags/il.gif") no-repeat left;
2901
  }
2902
 
2903
  a[data-value="IT"]{
2904
- background: url("flags/it.gif") no-repeat left;
2905
  }
2906
 
2907
  a[data-value="JM"]{
2908
- background: url("flags/jm.gif") no-repeat left;
2909
  }
2910
 
2911
  a[data-value="JP"]{
2912
- background: url("flags/jp.gif") no-repeat left;
2913
  }
2914
 
2915
  a[data-value="JE"]{
2916
- background: url("flags/je.gif") no-repeat left;
2917
  }
2918
 
2919
  a[data-value="JO"]{
2920
- background: url("flags/jo.gif") no-repeat left;
2921
  }
2922
 
2923
  a[data-value="KZ"]{
2924
- background: url("flags/kz.gif") no-repeat left;
2925
  }
2926
 
2927
  a[data-value="KE"]{
2928
- background: url("flags/ke.gif") no-repeat left;
2929
  }
2930
 
2931
  a[data-value="KI"]{
2932
- background: url("flags/ki.gif") no-repeat left;
2933
  }
2934
 
2935
  a[data-value="KP"]{
2936
- background: url("flags/kp.gif") no-repeat left;
2937
  }
2938
 
2939
  a[data-value="KR"]{
2940
- background: url("flags/kr.gif") no-repeat left;
2941
  }
2942
 
2943
  a[data-value="KW"]{
2944
- background: url("flags/kw.gif") no-repeat left;
2945
  }
2946
 
2947
  a[data-value="KG"]{
2948
- background: url("flags/kg.gif") no-repeat left;
2949
  }
2950
 
2951
  a[data-value="LA"]{
2952
- background: url("flags/la.gif") no-repeat left;
2953
  }
2954
 
2955
  a[data-value="LV"]{
2956
- background: url("flags/lv.gif") no-repeat left;
2957
  }
2958
 
2959
  a[data-value="LB"]{
2960
- background: url("flags/lb.gif") no-repeat left;
2961
  }
2962
 
2963
  a[data-value="LS"]{
2964
- background: url("flags/ls.gif") no-repeat left;
2965
  }
2966
 
2967
  a[data-value="LR"]{
2968
- background: url("flags/lr.gif") no-repeat left;
2969
  }
2970
 
2971
  a[data-value="LY"]{
2972
- background: url("flags/ly.gif") no-repeat left;
2973
  }
2974
 
2975
  a[data-value="LI"]{
2976
- background: url("flags/li.gif") no-repeat left;
2977
  }
2978
 
2979
  a[data-value="LT"]{
2980
- background: url("flags/lt.gif") no-repeat left;
2981
  }
2982
 
2983
  a[data-value="LU"]{
2984
- background: url("flags/lu.gif") no-repeat left;
2985
  }
2986
 
2987
  a[data-value="MO"]{
2988
- background: url("flags/mo.gif") no-repeat left;
2989
  }
2990
 
2991
  a[data-value="MK"]{
2992
- background: url("flags/mk.gif") no-repeat left;
2993
  }
2994
 
2995
  a[data-value="MG"]{
2996
- background: url("flags/mg.gif") no-repeat left;
2997
  }
2998
 
2999
  a[data-value="MW"]{
3000
- background: url("flags/mw.gif") no-repeat left;
3001
  }
3002
 
3003
  a[data-value="MY"]{
3004
- background: url("flags/my.gif") no-repeat left;
3005
  }
3006
 
3007
  a[data-value="MV"]{
3008
- background: url("flags/mv.gif") no-repeat left;
3009
  }
3010
 
3011
  a[data-value="ML"]{
3012
- background: url("flags/ml.gif") no-repeat left;
3013
  }
3014
 
3015
  a[data-value="MT"]{
3016
- background: url("flags/mt.gif") no-repeat left;
3017
  }
3018
 
3019
  a[data-value="MH"]{
3020
- background: url("flags/mh.gif") no-repeat left;
3021
  }
3022
 
3023
  a[data-value="MQ"]{
3024
- background: url("flags/mq.gif") no-repeat left;
3025
  }
3026
 
3027
  a[data-value="MR"]{
3028
- background: url("flags/mr.gif") no-repeat left;
3029
  }
3030
 
3031
  a[data-value="MU"]{
3032
- background: url("flags/mu.gif") no-repeat left;
3033
  }
3034
 
3035
  a[data-value="YT"]{
3036
- background: url("flags/yt.gif") no-repeat left;
3037
  }
3038
 
3039
  a[data-value="MX"]{
3040
- background: url("flags/mx.gif") no-repeat left;
3041
  }
3042
 
3043
  a[data-value="FM"]{
3044
- background: url("flags/fm.gif") no-repeat left;
3045
  }
3046
 
3047
  a[data-value="MD"]{
3048
- background: url("flags/md.gif") no-repeat left;
3049
  }
3050
 
3051
  a[data-value="MC"]{
3052
- background: url("flags/mc.gif") no-repeat left;
3053
  }
3054
 
3055
  a[data-value="MN"]{
3056
- background: url("flags/mn.gif") no-repeat left;
3057
  }
3058
 
3059
  a[data-value="ME"]{
3060
- background: url("flags/me.gif") no-repeat left;
3061
  }
3062
 
3063
  a[data-value="MS"]{
3064
- background: url("flags/ms.gif") no-repeat left;
3065
  }
3066
 
3067
  a[data-value="MA"]{
3068
- background: url("flags/ma.gif") no-repeat left;
3069
  }
3070
 
3071
  a[data-value="MZ"]{
3072
- background: url("flags/mz.gif") no-repeat left;
3073
  }
3074
 
3075
  a[data-value="MM"]{
3076
- background: url("flags/mm.gif") no-repeat left;
3077
  }
3078
 
3079
  a[data-value="NA"]{
3080
- background: url("flags/na.gif") no-repeat left;
3081
  }
3082
 
3083
  a[data-value="NR"]{
3084
- background: url("flags/nr.gif") no-repeat left;
3085
  }
3086
 
3087
  a[data-value="NP"]{
3088
- background: url("flags/np.gif") no-repeat left;
3089
  }
3090
 
3091
  a[data-value="NL"]{
3092
- background: url("flags/nl.gif") no-repeat left;
3093
  }
3094
 
3095
  a[data-value="NC"]{
3096
- background: url("flags/nc.gif") no-repeat left;
3097
  }
3098
 
3099
  a[data-value="NZ"]{
3100
- background: url("flags/nz.gif") no-repeat left;
3101
  }
3102
 
3103
  a[data-value="NI"]{
3104
- background: url("flags/ni.gif") no-repeat left;
3105
  }
3106
 
3107
  a[data-value="NE"]{
3108
- background: url("flags/ne.gif") no-repeat left;
3109
  }
3110
 
3111
  a[data-value="NG"]{
3112
- background: url("flags/ng.gif") no-repeat left;
3113
  }
3114
 
3115
  a[data-value="NU"]{
3116
- background: url("flags/nu.gif") no-repeat left;
3117
  }
3118
 
3119
  a[data-value="NF"]{
3120
- background: url("flags/nf.gif") no-repeat left;
3121
  }
3122
 
3123
  a[data-value="MP"]{
3124
- background: url("flags/mp.gif") no-repeat left;
3125
  }
3126
 
3127
  a[data-value="NO"]{
3128
- background: url("flags/no.gif") no-repeat left;
3129
  }
3130
 
3131
  a[data-value="OM"]{
3132
- background: url("flags/om.gif") no-repeat left;
3133
  }
3134
 
3135
  a[data-value="PK"]{
3136
- background: url("flags/pk.gif") no-repeat left;
3137
  }
3138
 
3139
  a[data-value="PW"]{
3140
- background: url("flags/pw.gif") no-repeat left;
3141
  }
3142
 
3143
  a[data-value="PS"]{
3144
- background: url("flags/ps.gif") no-repeat left;
3145
  }
3146
 
3147
  a[data-value="PA"]{
3148
- background: url("flags/pa.gif") no-repeat left;
3149
  }
3150
 
3151
  a[data-value="PG"]{
3152
- background: url("flags/pg.gif") no-repeat left;
3153
  }
3154
 
3155
  a[data-value="PY"]{
3156
- background: url("flags/py.gif") no-repeat left;
3157
  }
3158
 
3159
  a[data-value="PE"]{
3160
- background: url("flags/pe.gif") no-repeat left;
3161
  }
3162
 
3163
  a[data-value="PH"]{
3164
- background: url("flags/ph.gif") no-repeat left;
3165
  }
3166
 
3167
  a[data-value="PN"]{
3168
- background: url("flags/pn.gif") no-repeat left;
3169
  }
3170
 
3171
  a[data-value="PL"]{
3172
- background: url("flags/pl.gif") no-repeat left;
3173
  }
3174
 
3175
  a[data-value="PT"]{
3176
- background: url("flags/pt.gif") no-repeat left;
3177
  }
3178
 
3179
  a[data-value="PR"]{
3180
- background: url("flags/pr.gif") no-repeat left;
3181
  }
3182
 
3183
  a[data-value="QA"]{
3184
- background: url("flags/qa.gif") no-repeat left;
3185
  }
3186
 
3187
  a[data-value="RE"]{
3188
- background: url("flags/re.gif") no-repeat left;
3189
  }
3190
 
3191
  a[data-value="RO"]{
3192
- background: url("flags/ro.gif") no-repeat left;
3193
  }
3194
 
3195
  a[data-value="RU"]{
3196
- background: url("flags/ru.gif") no-repeat left;
3197
  }
3198
 
3199
  a[data-value="RW"]{
3200
- background: url("flags/rw.gif") no-repeat left;
3201
  }
3202
 
3203
  a[data-value="BL"]{
3204
- background: url("flags/bl.gif") no-repeat left;
3205
  }
3206
 
3207
  a[data-value="SH"]{
3208
- background: url("flags/sh.gif") no-repeat left;
3209
  }
3210
 
3211
  a[data-value="KN"]{
3212
- background: url("flags/kn.gif") no-repeat left;
3213
  }
3214
 
3215
  a[data-value="LC"]{
3216
- background: url("flags/lc.gif") no-repeat left;
3217
  }
3218
 
3219
  a[data-value="MF"]{
3220
- background: url("flags/mf.gif") no-repeat left;
3221
  }
3222
 
3223
  a[data-value="PM"]{
3224
- background: url("flags/pm.gif") no-repeat left;
3225
  }
3226
 
3227
  a[data-value="VC"]{
3228
- background: url("flags/vc.gif") no-repeat left;
3229
  }
3230
 
3231
  a[data-value="WS"]{
3232
- background: url("flags/ws.gif") no-repeat left;
3233
  }
3234
 
3235
  a[data-value="SM"]{
3236
- background: url("flags/sm.gif") no-repeat left;
3237
  }
3238
 
3239
  a[data-value="ST"]{
3240
- background: url("flags/st.gif") no-repeat left;
3241
  }
3242
 
3243
  a[data-value="SA"]{
3244
- background: url("flags/sa.gif") no-repeat left;
3245
  }
3246
 
3247
  a[data-value="SN"]{
3248
- background: url("flags/sn.gif") no-repeat left;
3249
  }
3250
 
3251
  a[data-value="RS"]{
3252
- background: url("flags/rs.gif") no-repeat left;
3253
  }
3254
 
3255
  a[data-value="SC"]{
3256
- background: url("flags/sc.gif") no-repeat left;
3257
  }
3258
 
3259
  a[data-value="SL"]{
3260
- background: url("flags/sl.gif") no-repeat left;
3261
  }
3262
 
3263
  a[data-value="SG"]{
3264
- background: url("flags/sg.gif") no-repeat left;
3265
  }
3266
 
3267
  a[data-value="SX"]{
3268
- background: url("flags/sx.gif") no-repeat left;
3269
  }
3270
 
3271
  a[data-value="SK"]{
3272
- background: url("flags/sk.gif") no-repeat left;
3273
  }
3274
 
3275
  a[data-value="SI"]{
3276
- background: url("flags/si.gif") no-repeat left;
3277
  }
3278
 
3279
  a[data-value="SB"]{
3280
- background: url("flags/sb.gif") no-repeat left;
3281
  }
3282
 
3283
  a[data-value="SO"]{
3284
- background: url("flags/so.gif") no-repeat left;
3285
  }
3286
 
3287
  a[data-value="ZA"]{
3288
- background: url("flags/za.gif") no-repeat left;
3289
  }
3290
 
3291
  a[data-value="GS"]{
3292
- background: url("flags/gs.gif") no-repeat left;
3293
  }
3294
 
3295
  a[data-value="SS"]{
3296
- background: url("flags/ss.gif") no-repeat left;
3297
  }
3298
 
3299
  a[data-value="ES"]{
3300
- background: url("flags/es.gif") no-repeat left;
3301
  }
3302
 
3303
  a[data-value="LK"]{
3304
- background: url("flags/lk.gif") no-repeat left;
3305
  }
3306
 
3307
  a[data-value="SD"]{
3308
- background: url("flags/sd.gif") no-repeat left;
3309
  }
3310
 
3311
  a[data-value="SR"]{
3312
- background: url("flags/sr.gif") no-repeat left;
3313
  }
3314
 
3315
  a[data-value="SJ"]{
3316
- background: url("flags/sj.gif") no-repeat left;
3317
  }
3318
 
3319
  a[data-value="SZ"]{
3320
- background: url("flags/sz.gif") no-repeat left;
3321
  }
3322
 
3323
  a[data-value="SE"]{
3324
- background: url("flags/se.gif") no-repeat left;
3325
  }
3326
 
3327
  a[data-value="CH"]{
3328
- background: url("flags/ch.gif") no-repeat left;
3329
  }
3330
 
3331
  a[data-value="SY"]{
3332
- background: url("flags/sy.gif") no-repeat left;
3333
  }
3334
 
3335
  a[data-value="TW"]{
3336
- background: url("flags/tw.gif") no-repeat left;
3337
  }
3338
 
3339
  a[data-value="TJ"]{
3340
- background: url("flags/tj.gif") no-repeat left;
3341
  }
3342
 
3343
  a[data-value="TZ"]{
3344
- background: url("flags/tz.gif") no-repeat left;
3345
  }
3346
 
3347
  a[data-value="TH"]{
3348
- background: url("flags/th.gif") no-repeat left;
3349
  }
3350
 
3351
  a[data-value="TL"]{
3352
- background: url("flags/tl.gif") no-repeat left;
3353
  }
3354
 
3355
  a[data-value="TG"]{
3356
- background: url("flags/tg.gif") no-repeat left;
3357
  }
3358
 
3359
  a[data-value="TK"]{
3360
- background: url("flags/tk.gif") no-repeat left;
3361
  }
3362
 
3363
  a[data-value="TO"]{
3364
- background: url("flags/to.gif") no-repeat left;
3365
  }
3366
 
3367
  a[data-value="TT"]{
3368
- background: url("flags/tt.gif") no-repeat left;
3369
  }
3370
 
3371
  a[data-value="TN"]{
3372
- background: url("flags/tn.gif") no-repeat left;
3373
  }
3374
 
3375
  a[data-value="TR"]{
3376
- background: url("flags/tr.gif") no-repeat left;
3377
  }
3378
 
3379
  a[data-value="TM"]{
3380
- background: url("flags/tm.gif") no-repeat left;
3381
  }
3382
 
3383
  a[data-value="TC"]{
3384
- background: url("flags/tc.gif") no-repeat left;
3385
  }
3386
 
3387
  a[data-value="TV"]{
3388
- background: url("flags/tv.gif") no-repeat left;
3389
  }
3390
 
3391
  a[data-value="UG"]{
3392
- background: url("flags/ug.gif") no-repeat left;
3393
  }
3394
 
3395
  a[data-value="UA"]{
3396
- background: url("flags/ua.gif") no-repeat left;
3397
  }
3398
 
3399
  a[data-value="AE"]{
3400
- background: url("flags/ae.gif") no-repeat left;
3401
  }
3402
 
3403
  a[data-value="GB"]{
3404
- background: url("flags/gb.gif") no-repeat left;
3405
  }
3406
 
3407
  a[data-value="US"]{
3408
- background: url("flags/us.gif") no-repeat left;
3409
  }
3410
 
3411
  a[data-value="UM"]{
3412
- background: url("flags/um.gif") no-repeat left;
3413
  }
3414
 
3415
  a[data-value="UY"]{
3416
- background: url("flags/uy.gif") no-repeat left;
3417
  }
3418
 
3419
  a[data-value="UZ"]{
3420
- background: url("flags/uz.gif") no-repeat left;
3421
  }
3422
 
3423
  a[data-value="VU"]{
3424
- background: url("flags/vu.gif") no-repeat left;
3425
  }
3426
 
3427
  a[data-value="VE"]{
3428
- background: url("flags/ve.gif") no-repeat left;
3429
  }
3430
 
3431
  a[data-value="VN"]{
3432
- background: url("flags/vn.gif") no-repeat left;
3433
  }
3434
 
3435
  a[data-value="VG"]{
3436
- background: url("flags/vg.gif") no-repeat left;
3437
  }
3438
 
3439
  a[data-value="VI"]{
3440
- background: url("flags/vi.gif") no-repeat left;
3441
  }
3442
 
3443
  a[data-value="WF"]{
3444
- background: url("flags/wf.gif") no-repeat left;
3445
  }
3446
 
3447
  a[data-value="EH"]{
3448
- background: url("flags/eh.gif") no-repeat left;
3449
  }
3450
 
3451
  a[data-value="YE"]{
3452
- background: url("flags/ye.gif") no-repeat left;
3453
  }
3454
 
3455
  a[data-value="ZM"]{
3456
- background: url("flags/zm.gif") no-repeat left;
3457
  }
3458
 
3459
  a[data-value="ZW"]{
3460
- background: url("flags/zw.gif") no-repeat left;
3461
  }
1070
  border-left: 4px solid rgba(0, 0, 0, .25);
1071
  }
1072
 
1073
+ /*
1074
  .crb-country {
1075
  padding-left: 24px;
1076
  white-space: nowrap;
1077
+ }*/
1078
+
1079
+ .crb-country-label {
1080
+ display: flex;
1081
+ align-items: center;
1082
+ white-space: nowrap;
1083
+ }
1084
+
1085
+ .crb-country-flag {
1086
+ width: 21px;
1087
+ margin-right: 8px;
1088
+ border: solid 1px #ececec;
1089
  }
1090
 
1091
  /* Activity - new styles (improvements) */
1095
  border-left: none;
1096
  background-color: initial;
1097
  }
1098
+ .crb12, .crb16, .crb17, .crb18, .crb19, .crb25, .crb41, .crb42, .crb50, .crb51, .crb52, .crb53, .crb54, .crb55, .crb56, .crb57, .crb70, .crb71, .crb72, .crb73, .crb74, .crb75, .crb76, .crb100 {
1099
  border-left: 0.4em solid #FF5733;
1100
  border-left: 0.4em solid #FF4633;
1101
  padding-bottom: 2px;
2239
  }
2240
 
2241
  .multi-wrapper .item {
2242
+ padding-left: 30px !important;
2243
  }
2244
  .multi-wrapper .item:hover {
2245
  border-radius: 0 !important;
2469
 
2470
  /* Flags */
2471
 
2472
+ .multi-wrapper .item {
2473
+ background-size: 20px auto;
2474
+ }
2475
+
2476
  a[data-value="AF"]{
2477
+ background: url("flags/af.png") no-repeat left;
2478
  }
2479
 
2480
  a[data-value="AL"]{
2481
+ background: url("flags/al.png") no-repeat left;
2482
  }
2483
 
2484
  a[data-value="AX"]{
2485
+ background: url("flags/ax.png") no-repeat left;
2486
  }
2487
 
2488
  a[data-value="DZ"]{
2489
+ background: url("flags/dz.png") no-repeat left;
2490
  }
2491
 
2492
  a[data-value="AS"]{
2493
+ background: url("flags/as.png") no-repeat left;
2494
  }
2495
 
2496
  a[data-value="AD"]{
2497
+ background: url("flags/ad.png") no-repeat left;
2498
  }
2499
 
2500
  a[data-value="AO"]{
2501
+ background: url("flags/ao.png") no-repeat left;
2502
  }
2503
 
2504
  a[data-value="AI"]{
2505
+ background: url("flags/ai.png") no-repeat left;
2506
  }
2507
 
2508
  a[data-value="AQ"]{
2509
+ background: url("flags/aq.png") no-repeat left;
2510
  }
2511
 
2512
  a[data-value="AG"]{
2513
+ background: url("flags/ag.png") no-repeat left;
2514
  }
2515
 
2516
  a[data-value="AR"]{
2517
+ background: url("flags/ar.png") no-repeat left;
2518
  }
2519
 
2520
  a[data-value="AM"]{
2521
+ background: url("flags/am.png") no-repeat left;
2522
  }
2523
 
2524
  a[data-value="AW"]{
2525
+ background: url("flags/aw.png") no-repeat left;
2526
  }
2527
 
2528
  a[data-value="AU"]{
2529
+ background: url("flags/au.png") no-repeat left;
2530
  }
2531
 
2532
  a[data-value="AT"]{
2533
+ background: url("flags/at.png") no-repeat left;
2534
  }
2535
 
2536
  a[data-value="AZ"]{
2537
+ background: url("flags/az.png") no-repeat left;
2538
  }
2539
 
2540
  a[data-value="BS"]{
2541
+ background: url("flags/bs.png") no-repeat left;
2542
  }
2543
 
2544
  a[data-value="BH"]{
2545
+ background: url("flags/bh.png") no-repeat left;
2546
  }
2547
 
2548
  a[data-value="BD"]{
2549
+ background: url("flags/bd.png") no-repeat left;
2550
  }
2551
 
2552
  a[data-value="BB"]{
2553
+ background: url("flags/bb.png") no-repeat left;
2554
  }
2555
 
2556
  a[data-value="BY"]{
2557
+ background: url("flags/by.png") no-repeat left;
2558
  }
2559
 
2560
  a[data-value="BE"]{
2561
+ background: url("flags/be.png") no-repeat left;
2562
  }
2563
 
2564
  a[data-value="BZ"]{
2565
+ background: url("flags/bz.png") no-repeat left;
2566
  }
2567
 
2568
  a[data-value="BJ"]{
2569
+ background: url("flags/bj.png") no-repeat left;
2570
  }
2571
 
2572
  a[data-value="BM"]{
2573
+ background: url("flags/bm.png") no-repeat left;
2574
  }
2575
 
2576
  a[data-value="BT"]{
2577
+ background: url("flags/bt.png") no-repeat left;
2578
  }
2579
 
2580
  a[data-value="BO"]{
2581
+ background: url("flags/bo.png") no-repeat left;
2582
  }
2583
 
2584
  a[data-value="BQ"]{
2585
+ background: url("flags/bq.png") no-repeat left;
2586
  }
2587
 
2588
  a[data-value="BA"]{
2589
+ background: url("flags/ba.png") no-repeat left;
2590
  }
2591
 
2592
  a[data-value="BW"]{
2593
+ background: url("flags/bw.png") no-repeat left;
2594
  }
2595
 
2596
  a[data-value="BV"]{
2597
+ background: url("flags/bv.png") no-repeat left;
2598
  }
2599
 
2600
  a[data-value="BR"]{
2601
+ background: url("flags/br.png") no-repeat left;
2602
  }
2603
 
2604
  a[data-value="IO"]{
2605
+ background: url("flags/io.png") no-repeat left;
2606
  }
2607
 
2608
  a[data-value="BN"]{
2609
+ background: url("flags/bn.png") no-repeat left;
2610
  }
2611
 
2612
  a[data-value="BG"]{
2613
+ background: url("flags/bg.png") no-repeat left;
2614
  }
2615
 
2616
  a[data-value="BF"]{
2617
+ background: url("flags/bf.png") no-repeat left;
2618
  }
2619
 
2620
  a[data-value="BI"]{
2621
+ background: url("flags/bi.png") no-repeat left;
2622
  }
2623
 
2624
  a[data-value="KH"]{
2625
+ background: url("flags/kh.png") no-repeat left;
2626
  }
2627
 
2628
  a[data-value="CM"]{
2629
+ background: url("flags/cm.png") no-repeat left;
2630
  }
2631
 
2632
  a[data-value="CA"]{
2633
+ background: url("flags/ca.png") no-repeat left;
2634
  }
2635
 
2636
  a[data-value="CV"]{
2637
+ background: url("flags/cv.png") no-repeat left;
2638
  }
2639
 
2640
  a[data-value="KY"]{
2641
+ background: url("flags/ky.png") no-repeat left;
2642
  }
2643
 
2644
  a[data-value="CF"]{
2645
+ background: url("flags/cf.png") no-repeat left;
2646
  }
2647
 
2648
  a[data-value="TD"]{
2649
+ background: url("flags/td.png") no-repeat left;
2650
  }
2651
 
2652
  a[data-value="CL"]{
2653
+ background: url("flags/cl.png") no-repeat left;
2654
  }
2655
 
2656
  a[data-value="CN"]{
2657
+ background: url("flags/cn.png") no-repeat left;
2658
  }
2659
 
2660
  a[data-value="CX"]{
2661
+ background: url("flags/cx.png") no-repeat left;
2662
  }
2663
 
2664
  a[data-value="CC"]{
2665
+ background: url("flags/cc.png") no-repeat left;
2666
  }
2667
 
2668
  a[data-value="CO"]{
2669
+ background: url("flags/co.png") no-repeat left;
2670
  }
2671
 
2672
  a[data-value="KM"]{
2673
+ background: url("flags/km.png") no-repeat left;
2674
  }
2675
 
2676
  a[data-value="CG"]{
2677
+ background: url("flags/cg.png") no-repeat left;
2678
  }
2679
 
2680
  a[data-value="CD"]{
2681
+ background: url("flags/cd.png") no-repeat left;
2682
  }
2683
 
2684
  a[data-value="CK"]{
2685
+ background: url("flags/ck.png") no-repeat left;
2686
  }
2687
 
2688
  a[data-value="CR"]{
2689
+ background: url("flags/cr.png") no-repeat left;
2690
  }
2691
 
2692
  a[data-value="CI"]{
2693
+ background: url("flags/ci.png") no-repeat left;
2694
  }
2695
 
2696
  a[data-value="HR"]{
2697
+ background: url("flags/hr.png") no-repeat left;
2698
  }
2699
 
2700
  a[data-value="CU"]{
2701
+ background: url("flags/cu.png") no-repeat left;
2702
  }
2703
 
2704
  a[data-value="CW"]{
2705
+ background: url("flags/cw.png") no-repeat left;
2706
  }
2707
 
2708
  a[data-value="CY"]{
2709
+ background: url("flags/cy.png") no-repeat left;
2710
  }
2711
 
2712
  a[data-value="CZ"]{
2713
+ background: url("flags/cz.png") no-repeat left;
2714
  }
2715
 
2716
  a[data-value="DK"]{
2717
+ background: url("flags/dk.png") no-repeat left;
2718
  }
2719
 
2720
  a[data-value="DJ"]{
2721
+ background: url("flags/dj.png") no-repeat left;
2722
  }
2723
 
2724
  a[data-value="DM"]{
2725
+ background: url("flags/dm.png") no-repeat left;
2726
  }
2727
 
2728
  a[data-value="DO"]{
2729
+ background: url("flags/do.png") no-repeat left;
2730
  }
2731
 
2732
  a[data-value="EC"]{
2733
+ background: url("flags/ec.png") no-repeat left;
2734
  }
2735
 
2736
  a[data-value="EG"]{
2737
+ background: url("flags/eg.png") no-repeat left;
2738
  }
2739
 
2740
  a[data-value="SV"]{
2741
+ background: url("flags/sv.png") no-repeat left;
2742
  }
2743
 
2744
  a[data-value="GQ"]{
2745
+ background: url("flags/gq.png") no-repeat left;
2746
  }
2747
 
2748
  a[data-value="ER"]{
2749
+ background: url("flags/er.png") no-repeat left;
2750
  }
2751
 
2752
  a[data-value="EE"]{
2753
+ background: url("flags/ee.png") no-repeat left;
2754
  }
2755
 
2756
  a[data-value="ET"]{
2757
+ background: url("flags/et.png") no-repeat left;
2758
  }
2759
 
2760
  a[data-value="EU"]{
2761
+ background: url("flags/eu.png") no-repeat left;
2762
  }
2763
 
2764
  a[data-value="EZ"]{
2765
+ background: url("flags/ez.png") no-repeat left;
2766
  }
2767
 
2768
  a[data-value="FK"]{
2769
+ background: url("flags/fk.png") no-repeat left;
2770
  }
2771
 
2772
  a[data-value="FO"]{
2773
+ background: url("flags/fo.png") no-repeat left;
2774
  }
2775
 
2776
  a[data-value="FJ"]{
2777
+ background: url("flags/fj.png") no-repeat left;
2778
  }
2779
 
2780
  a[data-value="FI"]{
2781
+ background: url("flags/fi.png") no-repeat left;
2782
  }
2783
 
2784
  a[data-value="FR"]{
2785
+ background: url("flags/fr.png") no-repeat left;
2786
  }
2787
 
2788
  a[data-value="GF"]{
2789
+ background: url("flags/gf.png") no-repeat left;
2790
  }
2791
 
2792
  a[data-value="PF"]{
2793
+ background: url("flags/pf.png") no-repeat left;
2794
  }
2795
 
2796
  a[data-value="TF"]{
2797
+ background: url("flags/tf.png") no-repeat left;
2798
  }
2799
 
2800
  a[data-value="GA"]{
2801
+ background: url("flags/ga.png") no-repeat left;
2802
  }
2803
 
2804
  a[data-value="GM"]{
2805
+ background: url("flags/gm.png") no-repeat left;
2806
  }
2807
 
2808
  a[data-value="GE"]{
2809
+ background: url("flags/ge.png") no-repeat left;
2810
  }
2811
 
2812
  a[data-value="DE"]{
2813
+ background: url("flags/de.png") no-repeat left;
2814
  }
2815
 
2816
  a[data-value="GH"]{
2817
+ background: url("flags/gh.png") no-repeat left;
2818
  }
2819
 
2820
  a[data-value="GI"]{
2821
+ background: url("flags/gi.png") no-repeat left;
2822
  }
2823
 
2824
  a[data-value="GR"]{
2825
+ background: url("flags/gr.png") no-repeat left;
2826
  }
2827
 
2828
  a[data-value="GL"]{
2829
+ background: url("flags/gl.png") no-repeat left;
2830
  }
2831
 
2832
  a[data-value="GD"]{
2833
+ background: url("flags/gd.png") no-repeat left;
2834
  }
2835
 
2836
  a[data-value="GP"]{
2837
+ background: url("flags/gp.png") no-repeat left;
2838
  }
2839
 
2840
  a[data-value="GU"]{
2841
+ background: url("flags/gu.png") no-repeat left;
2842
  }
2843
 
2844
  a[data-value="GT"]{
2845
+ background: url("flags/gt.png") no-repeat left;
2846
  }
2847
 
2848
  a[data-value="GG"]{
2849
+ background: url("flags/gg.png") no-repeat left;
2850
  }
2851
 
2852
  a[data-value="GN"]{
2853
+ background: url("flags/gn.png") no-repeat left;
2854
  }
2855
 
2856
  a[data-value="GW"]{
2857
+ background: url("flags/gw.png") no-repeat left;
2858
  }
2859
 
2860
  a[data-value="GY"]{
2861
+ background: url("flags/gy.png") no-repeat left;
2862
  }
2863
 
2864
  a[data-value="HT"]{
2865
+ background: url("flags/ht.png") no-repeat left;
2866
  }
2867
 
2868
  a[data-value="HM"]{
2869
+ background: url("flags/hm.png") no-repeat left;
2870
  }
2871
 
2872
  a[data-value="VA"]{
2873
+ background: url("flags/va.png") no-repeat left;
2874
  }
2875
 
2876
  a[data-value="HN"]{
2877
+ background: url("flags/hn.png") no-repeat left;
2878
  }
2879
 
2880
  a[data-value="HK"]{
2881
+ background: url("flags/hk.png") no-repeat left;
2882
  }
2883
 
2884
  a[data-value="HU"]{
2885
+ background: url("flags/hu.png") no-repeat left;
2886
  }
2887
 
2888
  a[data-value="IS"]{
2889
+ background: url("flags/is.png") no-repeat left;
2890
  }
2891
 
2892
  a[data-value="IN"]{
2893
+ background: url("flags/in.png") no-repeat left;
2894
  }
2895
 
2896
  a[data-value="ID"]{
2897
+ background: url("flags/id.png") no-repeat left;
2898
  }
2899
 
2900
  a[data-value="IR"]{
2901
+ background: url("flags/ir.png") no-repeat left;
2902
  }
2903
 
2904
  a[data-value="IQ"]{
2905
+ background: url("flags/iq.png") no-repeat left;
2906
  }
2907
 
2908
  a[data-value="IE"]{
2909
+ background: url("flags/ie.png") no-repeat left;
2910
  }
2911
 
2912
  a[data-value="IM"]{
2913
+ background: url("flags/im.png") no-repeat left;
2914
  }
2915
 
2916
  a[data-value="IL"]{
2917
+ background: url("flags/il.png") no-repeat left;
2918
  }
2919
 
2920
  a[data-value="IT"]{
2921
+ background: url("flags/it.png") no-repeat left;
2922
  }
2923
 
2924
  a[data-value="JM"]{
2925
+ background: url("flags/jm.png") no-repeat left;
2926
  }
2927
 
2928
  a[data-value="JP"]{
2929
+ background: url("flags/jp.png") no-repeat left;
2930
  }
2931
 
2932
  a[data-value="JE"]{
2933
+ background: url("flags/je.png") no-repeat left;
2934
  }
2935
 
2936
  a[data-value="JO"]{
2937
+ background: url("flags/jo.png") no-repeat left;
2938
  }
2939
 
2940
  a[data-value="KZ"]{
2941
+ background: url("flags/kz.png") no-repeat left;
2942
  }
2943
 
2944
  a[data-value="KE"]{
2945
+ background: url("flags/ke.png") no-repeat left;
2946
  }
2947
 
2948
  a[data-value="KI"]{
2949
+ background: url("flags/ki.png") no-repeat left;
2950
  }
2951
 
2952
  a[data-value="KP"]{
2953
+ background: url("flags/kp.png") no-repeat left;
2954
  }
2955
 
2956
  a[data-value="KR"]{
2957
+ background: url("flags/kr.png") no-repeat left;
2958
  }
2959
 
2960
  a[data-value="KW"]{
2961
+ background: url("flags/kw.png") no-repeat left;
2962
  }
2963
 
2964
  a[data-value="KG"]{
2965
+ background: url("flags/kg.png") no-repeat left;
2966
  }
2967
 
2968
  a[data-value="LA"]{
2969
+ background: url("flags/la.png") no-repeat left;
2970
  }
2971
 
2972
  a[data-value="LV"]{
2973
+ background: url("flags/lv.png") no-repeat left;
2974
  }
2975
 
2976
  a[data-value="LB"]{
2977
+ background: url("flags/lb.png") no-repeat left;
2978
  }
2979
 
2980
  a[data-value="LS"]{
2981
+ background: url("flags/ls.png") no-repeat left;
2982
  }
2983
 
2984
  a[data-value="LR"]{
2985
+ background: url("flags/lr.png") no-repeat left;
2986
  }
2987
 
2988
  a[data-value="LY"]{
2989
+ background: url("flags/ly.png") no-repeat left;
2990
  }
2991
 
2992
  a[data-value="LI"]{
2993
+ background: url("flags/li.png") no-repeat left;
2994
  }
2995
 
2996
  a[data-value="LT"]{
2997
+ background: url("flags/lt.png") no-repeat left;
2998
  }
2999
 
3000
  a[data-value="LU"]{
3001
+ background: url("flags/lu.png") no-repeat left;
3002
  }
3003
 
3004
  a[data-value="MO"]{
3005
+ background: url("flags/mo.png") no-repeat left;
3006
  }
3007
 
3008
  a[data-value="MK"]{
3009
+ background: url("flags/mk.png") no-repeat left;
3010
  }
3011
 
3012
  a[data-value="MG"]{
3013
+ background: url("flags/mg.png") no-repeat left;
3014
  }
3015
 
3016
  a[data-value="MW"]{
3017
+ background: url("flags/mw.png") no-repeat left;
3018
  }
3019
 
3020
  a[data-value="MY"]{
3021
+ background: url("flags/my.png") no-repeat left;
3022
  }
3023
 
3024
  a[data-value="MV"]{
3025
+ background: url("flags/mv.png") no-repeat left;
3026
  }
3027
 
3028
  a[data-value="ML"]{
3029
+ background: url("flags/ml.png") no-repeat left;
3030
  }
3031
 
3032
  a[data-value="MT"]{
3033
+ background: url("flags/mt.png") no-repeat left;
3034
  }
3035
 
3036
  a[data-value="MH"]{
3037
+ background: url("flags/mh.png") no-repeat left;
3038
  }
3039
 
3040
  a[data-value="MQ"]{
3041
+ background: url("flags/mq.png") no-repeat left;
3042
  }
3043
 
3044
  a[data-value="MR"]{
3045
+ background: url("flags/mr.png") no-repeat left;
3046
  }
3047
 
3048
  a[data-value="MU"]{
3049
+ background: url("flags/mu.png") no-repeat left;
3050
  }
3051
 
3052
  a[data-value="YT"]{
3053
+ background: url("flags/yt.png") no-repeat left;
3054
  }
3055
 
3056
  a[data-value="MX"]{
3057
+ background: url("flags/mx.png") no-repeat left;
3058
  }
3059
 
3060
  a[data-value="FM"]{
3061
+ background: url("flags/fm.png") no-repeat left;
3062
  }
3063
 
3064
  a[data-value="MD"]{
3065
+ background: url("flags/md.png") no-repeat left;
3066
  }
3067
 
3068
  a[data-value="MC"]{
3069
+ background: url("flags/mc.png") no-repeat left;
3070
  }
3071
 
3072
  a[data-value="MN"]{
3073
+ background: url("flags/mn.png") no-repeat left;
3074
  }
3075
 
3076
  a[data-value="ME"]{
3077
+ background: url("flags/me.png") no-repeat left;
3078
  }
3079
 
3080
  a[data-value="MS"]{
3081
+ background: url("flags/ms.png") no-repeat left;
3082
  }
3083
 
3084
  a[data-value="MA"]{
3085
+ background: url("flags/ma.png") no-repeat left;
3086
  }
3087
 
3088
  a[data-value="MZ"]{
3089
+ background: url("flags/mz.png") no-repeat left;
3090
  }
3091
 
3092
  a[data-value="MM"]{
3093
+ background: url("flags/mm.png") no-repeat left;
3094
  }
3095
 
3096
  a[data-value="NA"]{
3097
+ background: url("flags/na.png") no-repeat left;
3098
  }
3099
 
3100
  a[data-value="NR"]{
3101
+ background: url("flags/nr.png") no-repeat left;
3102
  }
3103
 
3104
  a[data-value="NP"]{
3105
+ background: url("flags/np.png") no-repeat left;
3106
  }
3107
 
3108
  a[data-value="NL"]{
3109
+ background: url("flags/nl.png") no-repeat left;
3110
  }
3111
 
3112
  a[data-value="NC"]{
3113
+ background: url("flags/nc.png") no-repeat left;
3114
  }
3115
 
3116
  a[data-value="NZ"]{
3117
+ background: url("flags/nz.png") no-repeat left;
3118
  }
3119
 
3120
  a[data-value="NI"]{
3121
+ background: url("flags/ni.png") no-repeat left;
3122
  }
3123
 
3124
  a[data-value="NE"]{
3125
+ background: url("flags/ne.png") no-repeat left;
3126
  }
3127
 
3128
  a[data-value="NG"]{
3129
+ background: url("flags/ng.png") no-repeat left;
3130
  }
3131
 
3132
  a[data-value="NU"]{
3133
+ background: url("flags/nu.png") no-repeat left;
3134
  }
3135
 
3136
  a[data-value="NF"]{
3137
+ background: url("flags/nf.png") no-repeat left;
3138
  }
3139
 
3140
  a[data-value="MP"]{
3141
+ background: url("flags/mp.png") no-repeat left;
3142
  }
3143
 
3144
  a[data-value="NO"]{
3145
+ background: url("flags/no.png") no-repeat left;
3146
  }
3147
 
3148
  a[data-value="OM"]{
3149
+ background: url("flags/om.png") no-repeat left;
3150
  }
3151
 
3152
  a[data-value="PK"]{
3153
+ background: url("flags/pk.png") no-repeat left;
3154
  }
3155
 
3156
  a[data-value="PW"]{
3157
+ background: url("flags/pw.png") no-repeat left;
3158
  }
3159
 
3160
  a[data-value="PS"]{
3161
+ background: url("flags/ps.png") no-repeat left;
3162
  }
3163
 
3164
  a[data-value="PA"]{
3165
+ background: url("flags/pa.png") no-repeat left;
3166
  }
3167
 
3168
  a[data-value="PG"]{
3169
+ background: url("flags/pg.png") no-repeat left;
3170
  }
3171
 
3172
  a[data-value="PY"]{
3173
+ background: url("flags/py.png") no-repeat left;
3174
  }
3175
 
3176
  a[data-value="PE"]{
3177
+ background: url("flags/pe.png") no-repeat left;
3178
  }
3179
 
3180
  a[data-value="PH"]{
3181
+ background: url("flags/ph.png") no-repeat left;
3182
  }
3183
 
3184
  a[data-value="PN"]{
3185
+ background: url("flags/pn.png") no-repeat left;
3186
  }
3187
 
3188
  a[data-value="PL"]{
3189
+ background: url("flags/pl.png") no-repeat left;
3190
  }
3191
 
3192
  a[data-value="PT"]{
3193
+ background: url("flags/pt.png") no-repeat left;
3194
  }
3195
 
3196
  a[data-value="PR"]{
3197
+ background: url("flags/pr.png") no-repeat left;
3198
  }
3199
 
3200
  a[data-value="QA"]{
3201
+ background: url("flags/qa.png") no-repeat left;
3202
  }
3203
 
3204
  a[data-value="RE"]{
3205
+ background: url("flags/re.png") no-repeat left;
3206
  }
3207
 
3208
  a[data-value="RO"]{
3209
+ background: url("flags/ro.png") no-repeat left;
3210
  }
3211
 
3212
  a[data-value="RU"]{
3213
+ background: url("flags/ru.png") no-repeat left;
3214
  }
3215
 
3216
  a[data-value="RW"]{
3217
+ background: url("flags/rw.png") no-repeat left;
3218
  }
3219
 
3220
  a[data-value="BL"]{
3221
+ background: url("flags/bl.png") no-repeat left;
3222
  }
3223
 
3224
  a[data-value="SH"]{
3225
+ background: url("flags/sh.png") no-repeat left;
3226
  }
3227
 
3228
  a[data-value="KN"]{
3229
+ background: url("flags/kn.png") no-repeat left;
3230
  }
3231
 
3232
  a[data-value="LC"]{
3233
+ background: url("flags/lc.png") no-repeat left;
3234
  }
3235
 
3236
  a[data-value="MF"]{
3237
+ background: url("flags/mf.png") no-repeat left;
3238
  }
3239
 
3240
  a[data-value="PM"]{
3241
+ background: url("flags/pm.png") no-repeat left;
3242
  }
3243
 
3244
  a[data-value="VC"]{
3245
+ background: url("flags/vc.png") no-repeat left;
3246
  }
3247
 
3248
  a[data-value="WS"]{
3249
+ background: url("flags/ws.png") no-repeat left;
3250
  }
3251
 
3252
  a[data-value="SM"]{
3253
+ background: url("flags/sm.png") no-repeat left;
3254
  }
3255
 
3256
  a[data-value="ST"]{
3257
+ background: url("flags/st.png") no-repeat left;
3258
  }
3259
 
3260
  a[data-value="SA"]{
3261
+ background: url("flags/sa.png") no-repeat left;
3262
  }
3263
 
3264
  a[data-value="SN"]{
3265
+ background: url("flags/sn.png") no-repeat left;
3266
  }
3267
 
3268
  a[data-value="RS"]{
3269
+ background: url("flags/rs.png") no-repeat left;
3270
  }
3271
 
3272
  a[data-value="SC"]{
3273
+ background: url("flags/sc.png") no-repeat left;
3274
  }
3275
 
3276
  a[data-value="SL"]{
3277
+ background: url("flags/sl.png") no-repeat left;
3278
  }
3279
 
3280
  a[data-value="SG"]{
3281
+ background: url("flags/sg.png") no-repeat left;
3282
  }
3283
 
3284
  a[data-value="SX"]{
3285
+ background: url("flags/sx.png") no-repeat left;
3286
  }
3287
 
3288
  a[data-value="SK"]{
3289
+ background: url("flags/sk.png") no-repeat left;
3290
  }
3291
 
3292
  a[data-value="SI"]{
3293
+ background: url("flags/si.png") no-repeat left;
3294
  }
3295
 
3296
  a[data-value="SB"]{
3297
+ background: url("flags/sb.png") no-repeat left;
3298
  }
3299
 
3300
  a[data-value="SO"]{
3301
+ background: url("flags/so.png") no-repeat left;
3302
  }
3303
 
3304
  a[data-value="ZA"]{
3305
+ background: url("flags/za.png") no-repeat left;
3306
  }
3307
 
3308
  a[data-value="GS"]{
3309
+ background: url("flags/gs.png") no-repeat left;
3310
  }
3311
 
3312
  a[data-value="SS"]{
3313
+ background: url("flags/ss.png") no-repeat left;
3314
  }
3315
 
3316
  a[data-value="ES"]{
3317
+ background: url("flags/es.png") no-repeat left;
3318
  }
3319
 
3320
  a[data-value="LK"]{
3321
+ background: url("flags/lk.png") no-repeat left;
3322
  }
3323
 
3324
  a[data-value="SD"]{
3325
+ background: url("flags/sd.png") no-repeat left;
3326
  }
3327
 
3328
  a[data-value="SR"]{
3329
+ background: url("flags/sr.png") no-repeat left;
3330
  }
3331
 
3332
  a[data-value="SJ"]{
3333
+ background: url("flags/sj.png") no-repeat left;
3334
  }
3335
 
3336
  a[data-value="SZ"]{
3337
+ background: url("flags/sz.png") no-repeat left;
3338
  }
3339
 
3340
  a[data-value="SE"]{
3341
+ background: url("flags/se.png") no-repeat left;
3342
  }
3343
 
3344
  a[data-value="CH"]{
3345
+ background: url("flags/ch.png") no-repeat left;
3346
  }
3347
 
3348
  a[data-value="SY"]{
3349
+ background: url("flags/sy.png") no-repeat left;
3350
  }
3351
 
3352
  a[data-value="TW"]{
3353
+ background: url("flags/tw.png") no-repeat left;
3354
  }
3355
 
3356
  a[data-value="TJ"]{
3357
+ background: url("flags/tj.png") no-repeat left;
3358
  }
3359
 
3360
  a[data-value="TZ"]{
3361
+ background: url("flags/tz.png") no-repeat left;
3362
  }
3363
 
3364
  a[data-value="TH"]{
3365
+ background: url("flags/th.png") no-repeat left;
3366
  }
3367
 
3368
  a[data-value="TL"]{
3369
+ background: url("flags/tl.png") no-repeat left;
3370
  }
3371
 
3372
  a[data-value="TG"]{
3373
+ background: url("flags/tg.png") no-repeat left;
3374
  }
3375
 
3376
  a[data-value="TK"]{
3377
+ background: url("flags/tk.png") no-repeat left;
3378
  }
3379
 
3380
  a[data-value="TO"]{
3381
+ background: url("flags/to.png") no-repeat left;
3382
  }
3383
 
3384
  a[data-value="TT"]{
3385
+ background: url("flags/tt.png") no-repeat left;
3386
  }
3387
 
3388
  a[data-value="TN"]{
3389
+ background: url("flags/tn.png") no-repeat left;
3390
  }
3391
 
3392
  a[data-value="TR"]{
3393
+ background: url("flags/tr.png") no-repeat left;
3394
  }
3395
 
3396
  a[data-value="TM"]{
3397
+ background: url("flags/tm.png") no-repeat left;
3398
  }
3399
 
3400
  a[data-value="TC"]{
3401
+ background: url("flags/tc.png") no-repeat left;
3402
  }
3403
 
3404
  a[data-value="TV"]{
3405
+ background: url("flags/tv.png") no-repeat left;
3406
  }
3407
 
3408
  a[data-value="UG"]{
3409
+ background: url("flags/ug.png") no-repeat left;
3410
  }
3411
 
3412
  a[data-value="UA"]{
3413
+ background: url("flags/ua.png") no-repeat left;
3414
  }
3415
 
3416
  a[data-value="AE"]{
3417
+ background: url("flags/ae.png") no-repeat left;
3418
  }
3419
 
3420
  a[data-value="GB"]{
3421
+ background: url("flags/gb.png") no-repeat left;
3422
  }
3423
 
3424
  a[data-value="US"]{
3425
+ background: url("flags/us.png") no-repeat left;
3426
  }
3427
 
3428
  a[data-value="UM"]{
3429
+ background: url("flags/um.png") no-repeat left;
3430
  }
3431
 
3432
  a[data-value="UY"]{
3433
+ background: url("flags/uy.png") no-repeat left;
3434
  }
3435
 
3436
  a[data-value="UZ"]{
3437
+ background: url("flags/uz.png") no-repeat left;
3438
  }
3439
 
3440
  a[data-value="VU"]{
3441
+ background: url("flags/vu.png") no-repeat left;
3442
  }
3443
 
3444
  a[data-value="VE"]{
3445
+ background: url("flags/ve.png") no-repeat left;
3446
  }
3447
 
3448
  a[data-value="VN"]{
3449
+ background: url("flags/vn.png") no-repeat left;
3450
  }
3451
 
3452
  a[data-value="VG"]{
3453
+ background: url("flags/vg.png") no-repeat left;
3454
  }
3455
 
3456
  a[data-value="VI"]{
3457
+ background: url("flags/vi.png") no-repeat left;
3458
  }
3459
 
3460
  a[data-value="WF"]{
3461
+ background: url("flags/wf.png") no-repeat left;
3462
  }
3463
 
3464
  a[data-value="EH"]{
3465
+ background: url("flags/eh.png") no-repeat left;
3466
  }
3467
 
3468
  a[data-value="YE"]{
3469
+ background: url("flags/ye.png") no-repeat left;
3470
  }
3471
 
3472
  a[data-value="ZM"]{
3473
+ background: url("flags/zm.png") no-repeat left;
3474
  }
3475
 
3476
  a[data-value="ZW"]{
3477
+ background: url("flags/zw.png") no-repeat left;
3478
  }
assets/admin.js CHANGED
@@ -7,7 +7,7 @@ jQuery(document).ready(function ($) {
7
 
8
  /* Select2 */
9
 
10
- var crb_se2 = crb_admin.find('select.crb-select2-ajax');
11
  if (crb_se2.length) {
12
  crb_se2.select2({
13
  allowClear: true,
@@ -61,7 +61,7 @@ jQuery(document).ready(function ($) {
61
 
62
 
63
  /* WP Comments page */
64
- var comtable = 'table.wp-list-table.comments';
65
 
66
  if (typeof crb_lab_available !== 'undefined' && crb_lab_available && $(comtable).length) {
67
  $(comtable + " td.column-author").each(function (index) {
@@ -315,7 +315,7 @@ jQuery(document).ready(function ($) {
315
  // GEO
316
 
317
  $("form#crb-geo-rules .crb-geo-switcher").on('change', function () {
318
- var to_show = '#crb-geo-wrap_' + $(this).data('rule-id');
319
  if ($(this).val() !== '---first') {
320
  to_show += '_' + $(this).val()
321
  }
@@ -327,15 +327,15 @@ jQuery(document).ready(function ($) {
327
 
328
  // Search and highlighting pieces of text, case-sensitive
329
  function cerber_highlight_text(id, text, limit) {
330
- var inputText = document.getElementById(id);
331
  if (inputText === null) {
332
  return;
333
  }
334
 
335
- var innerHTML = inputText.innerHTML;
336
- var i = 0;
337
- var list = [];
338
- var index = innerHTML.indexOf(text);
339
  while (index >= 0 && i < limit) {
340
  list.push(index);
341
  index = innerHTML.indexOf(text, index + 1);
7
 
8
  /* Select2 */
9
 
10
+ let crb_se2 = crb_admin.find('select.crb-select2-ajax');
11
  if (crb_se2.length) {
12
  crb_se2.select2({
13
  allowClear: true,
61
 
62
 
63
  /* WP Comments page */
64
+ let comtable = 'table.wp-list-table.comments';
65
 
66
  if (typeof crb_lab_available !== 'undefined' && crb_lab_available && $(comtable).length) {
67
  $(comtable + " td.column-author").each(function (index) {
315
  // GEO
316
 
317
  $("form#crb-geo-rules .crb-geo-switcher").on('change', function () {
318
+ let to_show = '#crb-geo-wrap_' + $(this).data('rule-id');
319
  if ($(this).val() !== '---first') {
320
  to_show += '_' + $(this).val()
321
  }
327
 
328
  // Search and highlighting pieces of text, case-sensitive
329
  function cerber_highlight_text(id, text, limit) {
330
+ let inputText = document.getElementById(id);
331
  if (inputText === null) {
332
  return;
333
  }
334
 
335
+ let innerHTML = inputText.innerHTML;
336
+ let i = 0;
337
+ let list = [];
338
+ let index = innerHTML.indexOf(text);
339
  while (index >= 0 && i < limit) {
340
  list.push(index);
341
  index = innerHTML.indexOf(text, index + 1);
assets/bn2ra.png DELETED
Binary file
assets/bn3ra.png DELETED
Binary file
assets/flags/ad.gif DELETED
Binary file
assets/flags/ad.png ADDED
Binary file
assets/flags/ae.gif DELETED
Binary file
assets/flags/ae.png ADDED
Binary file
assets/flags/af.gif DELETED
Binary file
assets/flags/af.png ADDED
Binary file
assets/flags/ag.gif DELETED
Binary file
assets/flags/ag.png ADDED
Binary file
assets/flags/ai.gif DELETED
Binary file
assets/flags/ai.png ADDED
Binary file
assets/flags/al.gif DELETED
Binary file
assets/flags/al.png ADDED
Binary file
assets/flags/am.gif DELETED
Binary file
assets/flags/am.png ADDED
Binary file
assets/flags/an.gif DELETED
Binary file
assets/flags/ao.gif DELETED
Binary file
assets/flags/ao.png ADDED
Binary file
assets/flags/aq.gif DELETED
Binary file
assets/flags/aq.png ADDED
Binary file
assets/flags/ar.gif DELETED
Binary file
assets/flags/ar.png ADDED
Binary file
assets/flags/as.gif DELETED
Binary file
assets/flags/as.png ADDED
Binary file
assets/flags/at.gif DELETED
Binary file
assets/flags/at.png ADDED
Binary file
assets/flags/au.gif DELETED
Binary file
assets/flags/au.png ADDED
Binary file
assets/flags/aw.gif DELETED
Binary file
assets/flags/aw.png ADDED
Binary file
assets/flags/ax.gif DELETED
Binary file
assets/flags/ax.png ADDED
Binary file
assets/flags/az.gif DELETED
Binary file
assets/flags/az.png ADDED
Binary file
assets/flags/ba.gif DELETED
Binary file
assets/flags/ba.png ADDED
Binary file
assets/flags/bb.gif DELETED
Binary file
assets/flags/bb.png ADDED
Binary file
assets/flags/bd.gif DELETED
Binary file
assets/flags/bd.png ADDED
Binary file
assets/flags/be.gif DELETED
Binary file
assets/flags/be.png ADDED
Binary file
assets/flags/bf.gif DELETED
Binary file
assets/flags/bf.png ADDED
Binary file
assets/flags/bg.gif DELETED
Binary file
assets/flags/bg.png ADDED
Binary file
assets/flags/bh.gif DELETED
Binary file
assets/flags/bh.png ADDED
Binary file
assets/flags/bi.gif DELETED
Binary file
assets/flags/bi.png ADDED
Binary file
assets/flags/bj.gif DELETED
Binary file
assets/flags/bj.png ADDED
Binary file
assets/flags/bl.gif DELETED
Binary file
assets/flags/bl.png ADDED
Binary file
assets/flags/bm.gif DELETED
Binary file
assets/flags/bm.png ADDED
Binary file
assets/flags/bn.gif DELETED
Binary file
assets/flags/bn.png ADDED
Binary file
assets/flags/bo.gif DELETED
Binary file
assets/flags/bo.png ADDED
Binary file
assets/flags/bq.gif DELETED
Binary file
assets/flags/bq.png ADDED
Binary file
assets/flags/br.gif DELETED
Binary file
assets/flags/br.png ADDED
Binary file
assets/flags/bs.gif DELETED
Binary file
assets/flags/bs.png ADDED
Binary file
assets/flags/bt.gif DELETED
Binary file
assets/flags/bt.png ADDED
Binary file
assets/flags/bv.gif DELETED
Binary file
assets/flags/bv.png ADDED
Binary file
assets/flags/bw.gif DELETED
Binary file
assets/flags/bw.png ADDED
Binary file
assets/flags/by.gif DELETED
Binary file
assets/flags/by.png ADDED
Binary file
assets/flags/bz.gif DELETED
Binary file
assets/flags/bz.png ADDED
Binary file
assets/flags/ca.gif DELETED
Binary file
assets/flags/ca.png ADDED
Binary file
assets/flags/cc.gif DELETED
Binary file
assets/flags/cc.png ADDED
Binary file
assets/flags/cd.gif DELETED
Binary file
assets/flags/cd.png ADDED
Binary file
assets/flags/cf.gif DELETED
Binary file
assets/flags/cf.png ADDED
Binary file
assets/flags/cg.gif DELETED
Binary file
assets/flags/cg.png ADDED
Binary file
assets/flags/ch.gif DELETED
Binary file
assets/flags/ch.png ADDED
Binary file
assets/flags/ci.gif DELETED
Binary file
assets/flags/ci.png ADDED
Binary file
assets/flags/ck.gif DELETED
Binary file
assets/flags/ck.png ADDED
Binary file
assets/flags/cl.gif DELETED
Binary file
assets/flags/cl.png ADDED
Binary file
assets/flags/cm.gif DELETED
Binary file
assets/flags/cm.png ADDED
Binary file
assets/flags/cn.gif DELETED
Binary file
assets/flags/cn.png ADDED
Binary file
assets/flags/co.gif DELETED
Binary file
assets/flags/co.png ADDED
Binary file
assets/flags/cr.gif DELETED
Binary file
assets/flags/cr.png ADDED
Binary file
assets/flags/cs.gif DELETED
Binary file
assets/flags/cu.gif DELETED
Binary file
assets/flags/cu.png ADDED
Binary file
assets/flags/cv.gif DELETED
Binary file
assets/flags/cv.png ADDED
Binary file
assets/flags/cw.gif DELETED
Binary file
assets/flags/cw.png ADDED
Binary file
assets/flags/cx.gif DELETED
Binary file
assets/flags/cx.png ADDED
Binary file
assets/flags/cy.gif DELETED
Binary file
assets/flags/cy.png ADDED
Binary file
assets/flags/cz.gif DELETED
Binary file
assets/flags/cz.png ADDED
Binary file
assets/flags/de.gif DELETED
Binary file
assets/flags/de.png ADDED
Binary file
assets/flags/dj.gif DELETED
Binary file
assets/flags/dj.png ADDED
Binary file
assets/flags/dk.gif DELETED
Binary file
assets/flags/dk.png ADDED
Binary file
assets/flags/dm.gif DELETED
Binary file
assets/flags/dm.png ADDED
Binary file
assets/flags/do.gif DELETED
Binary file
assets/flags/do.png ADDED
Binary file
assets/flags/dz.gif DELETED
Binary file
assets/flags/dz.png ADDED
Binary file
assets/flags/ec.gif DELETED
Binary file
assets/flags/ec.png ADDED
Binary file
assets/flags/ee.gif DELETED
Binary file
assets/flags/ee.png ADDED
Binary file
assets/flags/eg.gif DELETED
Binary file
assets/flags/eg.png ADDED
Binary file
assets/flags/eh.gif DELETED
Binary file
assets/flags/eh.png ADDED
Binary file
assets/flags/er.gif DELETED
Binary file
assets/flags/er.png ADDED
Binary file
assets/flags/es.gif DELETED
Binary file
assets/flags/es.png ADDED
Binary file
assets/flags/et.gif DELETED
Binary file
assets/flags/et.png ADDED
Binary file
assets/flags/eu.gif DELETED
Binary file
assets/flags/eu.png ADDED
Binary file
assets/flags/ez.gif DELETED
Binary file
assets/flags/fi.gif DELETED
Binary file
assets/flags/fi.png ADDED
Binary file
assets/flags/fj.gif DELETED
Binary file
assets/flags/fj.png ADDED
Binary file
assets/flags/fk.gif DELETED
Binary file
assets/flags/fk.png ADDED
Binary file
assets/flags/fm.gif DELETED
Binary file
assets/flags/fm.png ADDED
Binary file
assets/flags/fo.gif DELETED
Binary file
assets/flags/fo.png ADDED
Binary file
assets/flags/fr.gif DELETED
Binary file
assets/flags/fr.png ADDED
Binary file
assets/flags/ga.gif DELETED
Binary file
assets/flags/ga.png ADDED
Binary file
assets/flags/gb-eng.png ADDED
Binary file
assets/flags/gb-nir.png ADDED
Binary file
assets/flags/gb-sct.png ADDED
Binary file
assets/flags/gb-wls.png ADDED
Binary file
assets/flags/gb.gif DELETED
Binary file
assets/flags/gb.png ADDED
Binary file
assets/flags/gd.gif DELETED
Binary file
assets/flags/gd.png ADDED
Binary file
assets/flags/ge.gif DELETED
Binary file
assets/flags/ge.png ADDED
Binary file
assets/flags/gf.gif DELETED
Binary file
assets/flags/gf.png ADDED
Binary file
assets/flags/gg.gif DELETED
Binary file
assets/flags/gg.png ADDED
Binary file
assets/flags/gh.gif DELETED
Binary file
assets/flags/gh.png ADDED
Binary file
assets/flags/gi.gif DELETED
Binary file
assets/flags/gi.png ADDED
Binary file
assets/flags/gl.gif DELETED
Binary file
assets/flags/gl.png ADDED
Binary file
assets/flags/gm.gif DELETED
Binary file
assets/flags/gm.png ADDED
Binary file
assets/flags/gn.gif DELETED
Binary file
assets/flags/gn.png ADDED
Binary file
assets/flags/gp.gif DELETED
Binary file
assets/flags/gp.png ADDED
Binary file
assets/flags/gq.gif DELETED
Binary file
assets/flags/gq.png ADDED
Binary file
assets/flags/gr.gif DELETED
Binary file
assets/flags/gr.png ADDED
Binary file
assets/flags/gs.gif DELETED
Binary file
assets/flags/gs.png ADDED
Binary file
assets/flags/gt.gif DELETED
Binary file
assets/flags/gt.png ADDED
Binary file
assets/flags/gu.gif DELETED
Binary file
assets/flags/gu.png ADDED
Binary file
assets/flags/gw.gif DELETED
Binary file
assets/flags/gw.png ADDED
Binary file
assets/flags/gy.gif DELETED
Binary file
assets/flags/gy.png ADDED
Binary file
assets/flags/hk.gif DELETED
Binary file
assets/flags/hk.png ADDED
Binary file
assets/flags/hm.gif DELETED
Binary file
assets/flags/hm.png ADDED
Binary file
assets/flags/hn.gif DELETED
Binary file
assets/flags/hn.png ADDED
Binary file
assets/flags/hr.gif DELETED
Binary file
assets/flags/hr.png ADDED
Binary file
assets/flags/ht.gif DELETED
Binary file
assets/flags/ht.png ADDED
Binary file
assets/flags/hu.gif DELETED
Binary file
assets/flags/hu.png ADDED
Binary file
assets/flags/id.gif DELETED
Binary file
assets/flags/id.png ADDED
Binary file
assets/flags/ie.gif DELETED
Binary file
assets/flags/ie.png ADDED
Binary file
assets/flags/il.gif DELETED
Binary file
assets/flags/il.png ADDED
Binary file
assets/flags/im.gif DELETED
Binary file
assets/flags/im.png ADDED
Binary file
assets/flags/in.gif DELETED
Binary file
assets/flags/in.png ADDED
Binary file
assets/flags/io.gif DELETED
Binary file
assets/flags/io.png ADDED
Binary file
assets/flags/iq.gif DELETED
Binary file
assets/flags/iq.png ADDED
Binary file
assets/flags/ir.gif DELETED
Binary file
assets/flags/ir.png ADDED
Binary file
assets/flags/is.gif DELETED
Binary file
assets/flags/is.png ADDED
Binary file
assets/flags/it.gif DELETED
Binary file
assets/flags/it.png ADDED
Binary file
assets/flags/je.gif DELETED
Binary file
assets/flags/je.png ADDED
Binary file
assets/flags/jm.gif DELETED
Binary file
assets/flags/jm.png ADDED
Binary file
assets/flags/jo.gif DELETED
Binary file
assets/flags/jo.png ADDED
Binary file
assets/flags/jp.gif DELETED
Binary file
assets/flags/jp.png ADDED
Binary file
assets/flags/ke.gif DELETED
Binary file
assets/flags/ke.png ADDED
Binary file
assets/flags/kg.gif DELETED
Binary file
assets/flags/kg.png ADDED
Binary file
assets/flags/kh.gif DELETED
Binary file
assets/flags/kh.png ADDED
Binary file
assets/flags/ki.gif DELETED
Binary file
assets/flags/ki.png ADDED
Binary file
assets/flags/km.gif DELETED
Binary file
assets/flags/km.png ADDED
Binary file
assets/flags/kn.gif DELETED
Binary file
assets/flags/kn.png ADDED
Binary file
assets/flags/kp.gif DELETED
Binary file
assets/flags/kp.png ADDED
Binary file
assets/flags/kr.gif DELETED
Binary file
assets/flags/kr.png ADDED
Binary file
assets/flags/kw.gif DELETED
Binary file
assets/flags/kw.png ADDED
Binary file
assets/flags/ky.gif DELETED
Binary file
assets/flags/ky.png ADDED
Binary file
assets/flags/kz.gif DELETED
Binary file
assets/flags/kz.png ADDED
Binary file
assets/flags/la.gif DELETED
Binary file
assets/flags/la.png ADDED
Binary file
assets/flags/lb.gif DELETED
Binary file
assets/flags/lb.png ADDED
Binary file
assets/flags/lc.gif DELETED
Binary file
assets/flags/lc.png ADDED
Binary file
assets/flags/li.gif DELETED
Binary file
assets/flags/li.png ADDED
Binary file
assets/flags/lk.gif DELETED
Binary file
assets/flags/lk.png ADDED
Binary file
assets/flags/lr.gif DELETED
Binary file
assets/flags/lr.png ADDED
Binary file
assets/flags/ls.gif DELETED
Binary file
assets/flags/ls.png ADDED
Binary file
assets/flags/lt.gif DELETED
Binary file
assets/flags/lt.png ADDED
Binary file
assets/flags/lu.gif DELETED
Binary file
assets/flags/lu.png ADDED
Binary file
assets/flags/lv.gif DELETED
Binary file
assets/flags/lv.png ADDED
Binary file
assets/flags/ly.gif DELETED
Binary file
assets/flags/ly.png ADDED
Binary file
assets/flags/ma.gif DELETED
Binary file
assets/flags/ma.png ADDED
Binary file
assets/flags/mc.gif DELETED
Binary file
assets/flags/mc.png ADDED
Binary file
assets/flags/md.gif DELETED
Binary file
assets/flags/md.png ADDED
Binary file
assets/flags/me.gif DELETED
Binary file
assets/flags/me.png ADDED
Binary file
assets/flags/mf.gif DELETED
Binary file
assets/flags/mf.png ADDED
Binary file
assets/flags/mg.gif DELETED
Binary file
assets/flags/mg.png ADDED
Binary file
assets/flags/mh.gif DELETED
Binary file
assets/flags/mh.png ADDED
Binary file
assets/flags/mk.gif DELETED
Binary file
assets/flags/mk.png ADDED
Binary file
assets/flags/ml.gif DELETED
Binary file
assets/flags/ml.png ADDED
Binary file
assets/flags/mm.gif DELETED
Binary file
assets/flags/mm.png ADDED
Binary file
assets/flags/mn.gif DELETED
Binary file
assets/flags/mn.png ADDED
Binary file
assets/flags/mo.gif DELETED
Binary file
assets/flags/mo.png ADDED
Binary file
assets/flags/mp.gif DELETED
Binary file
assets/flags/mp.png ADDED
Binary file
assets/flags/mq.gif DELETED
Binary file
assets/flags/mq.png ADDED
Binary file
assets/flags/mr.gif DELETED
Binary file
assets/flags/mr.png ADDED
Binary file
assets/flags/ms.gif DELETED
Binary file
assets/flags/ms.png ADDED
Binary file
assets/flags/mt.gif DELETED
Binary file
assets/flags/mt.png ADDED
Binary file
assets/flags/mu.gif DELETED
Binary file
assets/flags/mu.png ADDED
Binary file
assets/flags/mv.gif DELETED
Binary file
assets/flags/mv.png ADDED
Binary file
assets/flags/mw.gif DELETED
Binary file
assets/flags/mw.png ADDED
Binary file
assets/flags/mx.gif DELETED
Binary file
assets/flags/mx.png ADDED
Binary file
assets/flags/my.gif DELETED
Binary file
assets/flags/my.png ADDED
Binary file
assets/flags/mz.gif DELETED
Binary file
assets/flags/mz.png ADDED
Binary file
assets/flags/na.gif DELETED
Binary file
assets/flags/na.png ADDED
Binary file
assets/flags/nc.gif DELETED
Binary file
assets/flags/nc.png ADDED
Binary file
assets/flags/ne.gif DELETED
Binary file
assets/flags/ne.png ADDED
Binary file
assets/flags/nf.gif DELETED
Binary file
assets/flags/nf.png ADDED
Binary file
assets/flags/ng.gif DELETED
Binary file
assets/flags/ng.png ADDED
Binary file
assets/flags/ni.gif DELETED
Binary file
assets/flags/ni.png ADDED
Binary file
assets/flags/nl.gif DELETED
Binary file
assets/flags/nl.png ADDED
Binary file
assets/flags/no.gif DELETED
Binary file
assets/flags/no.png ADDED
Binary file
assets/flags/np.gif DELETED
Binary file
assets/flags/np.png ADDED
Binary file
assets/flags/nr.gif DELETED
Binary file
assets/flags/nr.png ADDED
Binary file
assets/flags/nu.gif DELETED
Binary file
assets/flags/nu.png ADDED
Binary file
assets/flags/nz.gif DELETED
Binary file
assets/flags/nz.png ADDED
Binary file
assets/flags/om.gif DELETED
Binary file
assets/flags/om.png ADDED
Binary file
assets/flags/pa.gif DELETED
Binary file
assets/flags/pa.png ADDED
Binary file
assets/flags/pe.gif DELETED
Binary file
assets/flags/pe.png ADDED
Binary file
assets/flags/pf.gif DELETED
Binary file
assets/flags/pf.png ADDED
Binary file
assets/flags/pg.gif DELETED
Binary file
assets/flags/pg.png ADDED
Binary file
assets/flags/ph.gif DELETED
Binary file
assets/flags/ph.png ADDED
Binary file
assets/flags/pk.gif DELETED
Binary file
assets/flags/pk.png ADDED
Binary file
assets/flags/pl.gif DELETED
Binary file
assets/flags/pl.png ADDED
Binary file
assets/flags/pm.gif DELETED
Binary file
assets/flags/pm.png ADDED
Binary file
assets/flags/pn.gif DELETED
Binary file
assets/flags/pn.png ADDED
Binary file
assets/flags/pr.gif DELETED
Binary file
assets/flags/pr.png ADDED
Binary file
assets/flags/ps.gif DELETED
Binary file
assets/flags/ps.png ADDED
Binary file
assets/flags/pt.gif DELETED
Binary file
assets/flags/pt.png ADDED
Binary file
assets/flags/pw.gif DELETED
Binary file
assets/flags/pw.png ADDED
Binary file
assets/flags/py.gif DELETED
Binary file
assets/flags/py.png ADDED
Binary file
assets/flags/qa.gif DELETED
Binary file
assets/flags/qa.png ADDED
Binary file
assets/flags/re.gif DELETED
Binary file
assets/flags/re.png ADDED
Binary file
assets/flags/ro.gif DELETED
Binary file
assets/flags/ro.png ADDED
Binary file
assets/flags/rs.gif DELETED
Binary file
assets/flags/rs.png ADDED
Binary file
assets/flags/ru.gif DELETED
Binary file
assets/flags/ru.png ADDED
Binary file
assets/flags/rw.gif DELETED
Binary file
assets/flags/rw.png ADDED
Binary file
assets/flags/sa.gif DELETED
Binary file
assets/flags/sa.png ADDED
Binary file
assets/flags/sb.gif DELETED
Binary file
assets/flags/sb.png ADDED
Binary file
assets/flags/sc.gif DELETED
Binary file
assets/flags/sc.png ADDED
Binary file
assets/flags/sd.gif DELETED
Binary file
assets/flags/sd.png ADDED
Binary file
assets/flags/se.gif DELETED
Binary file
assets/flags/se.png ADDED
Binary file
assets/flags/sg.gif DELETED
Binary file
assets/flags/sg.png ADDED
Binary file
assets/flags/sh.gif DELETED
Binary file
assets/flags/sh.png ADDED
Binary file
assets/flags/si.gif DELETED
Binary file
assets/flags/si.png ADDED
Binary file
assets/flags/sj.gif DELETED
Binary file
assets/flags/sj.png ADDED
Binary file
assets/flags/sk.gif DELETED
Binary file
assets/flags/sk.png ADDED
Binary file
assets/flags/sl.gif DELETED
Binary file
assets/flags/sl.png ADDED
Binary file
assets/flags/sm.gif DELETED
Binary file
assets/flags/sm.png ADDED
Binary file
assets/flags/sn.gif DELETED
Binary file
assets/flags/sn.png ADDED
Binary file
assets/flags/so.gif DELETED
Binary file
assets/flags/so.png ADDED
Binary file
assets/flags/sr.gif DELETED
Binary file
assets/flags/sr.png ADDED
Binary file
assets/flags/ss.gif DELETED
Binary file
assets/flags/ss.png ADDED
Binary file
assets/flags/st.gif DELETED
Binary file
assets/flags/st.png ADDED
Binary file
assets/flags/sv.gif DELETED
Binary file
assets/flags/sv.png ADDED
Binary file
assets/flags/sx.gif DELETED
Binary file
assets/flags/sx.png ADDED
Binary file
assets/flags/sy.gif DELETED
Binary file
assets/flags/sy.png ADDED
Binary file
assets/flags/sz.gif DELETED
Binary file
assets/flags/sz.png ADDED
Binary file
assets/flags/tc.gif DELETED
Binary file
assets/flags/tc.png ADDED
Binary file
assets/flags/td.gif DELETED
Binary file
assets/flags/td.png ADDED
Binary file
assets/flags/tf.gif DELETED
Binary file
assets/flags/tf.png ADDED
Binary file
assets/flags/tg.gif DELETED
Binary file
assets/flags/tg.png ADDED
Binary file
assets/flags/th.gif DELETED
Binary file
assets/flags/th.png ADDED
Binary file
assets/flags/tj.gif DELETED
Binary file
assets/flags/tj.png ADDED
Binary file
assets/flags/tk.gif DELETED
Binary file
assets/flags/tk.png ADDED
Binary file
assets/flags/tl.gif DELETED
Binary file
assets/flags/tl.png ADDED
Binary file
assets/flags/tm.gif DELETED
Binary file
assets/flags/tm.png ADDED
Binary file
assets/flags/tn.gif DELETED
Binary file
assets/flags/tn.png ADDED
Binary file
assets/flags/to.gif DELETED
Binary file
assets/flags/to.png ADDED
Binary file
assets/flags/tr.gif DELETED
Binary file
assets/flags/tr.png ADDED
Binary file
assets/flags/tt.gif DELETED
Binary file
assets/flags/tt.png ADDED
Binary file
assets/flags/tv.gif DELETED
Binary file
assets/flags/tv.png ADDED
Binary file
assets/flags/tw.gif DELETED
Binary file
assets/flags/tw.png ADDED
Binary file
assets/flags/tz.gif DELETED
Binary file
assets/flags/tz.png ADDED
Binary file
assets/flags/ua.gif DELETED
Binary file
assets/flags/ua.png ADDED
Binary file
assets/flags/ug.gif DELETED
Binary file
assets/flags/ug.png ADDED
Binary file
assets/flags/um.gif DELETED
Binary file
assets/flags/um.png ADDED
Binary file
assets/flags/us.gif DELETED
Binary file
assets/flags/us.png ADDED
Binary file
assets/flags/uy.gif DELETED
Binary file
assets/flags/uy.png ADDED
Binary file
assets/flags/uz.gif DELETED
Binary file
assets/flags/uz.png ADDED
Binary file
assets/flags/va.gif DELETED
Binary file
assets/flags/va.png ADDED
Binary file
assets/flags/vc.gif DELETED
Binary file
assets/flags/vc.png ADDED
Binary file
assets/flags/ve.gif DELETED
Binary file
assets/flags/ve.png ADDED
Binary file
assets/flags/vg.gif DELETED
Binary file
assets/flags/vg.png ADDED
Binary file
assets/flags/vi.gif DELETED
Binary file
assets/flags/vi.png ADDED
Binary file
assets/flags/vn.gif DELETED
Binary file
assets/flags/vn.png ADDED
Binary file
assets/flags/vu.gif DELETED
Binary file
assets/flags/vu.png ADDED
Binary file
assets/flags/wf.gif DELETED
Binary file
assets/flags/wf.png ADDED
Binary file
assets/flags/ws.gif DELETED
Binary file
assets/flags/ws.png ADDED
Binary file
assets/flags/xk.png ADDED
Binary file
assets/flags/ye.gif DELETED
Binary file
assets/flags/ye.png ADDED
Binary file
assets/flags/yt.gif DELETED
Binary file
assets/flags/yt.png ADDED
Binary file
assets/flags/za.gif DELETED
Binary file
assets/flags/za.png ADDED
Binary file
assets/flags/zm.gif DELETED
Binary file
assets/flags/zm.png ADDED
Binary file
assets/flags/zw.gif DELETED
Binary file
assets/flags/zw.png ADDED
Binary file
assets/rateit.png DELETED
Binary file
assets/rateit2.png DELETED
Binary file
cerber-2fa.php CHANGED
@@ -234,7 +234,6 @@ final class CRB_2FA {
234
  *
235
  */
236
  static function restrict_and_verify( $user_id = null ) {
237
- global $cerber_act_status;
238
  static $done = false;
239
 
240
  if ( $done ) {
@@ -334,8 +333,7 @@ final class CRB_2FA {
334
 
335
  self::delete_2fa( $user_id );
336
 
337
- $cerber_act_status = 27;
338
- cerber_log( 5, $twofactor['login'], $user_id );
339
  cerber_login_history( $user_id, true );
340
 
341
  cerber_2fa_checker( true );
234
  *
235
  */
236
  static function restrict_and_verify( $user_id = null ) {
 
237
  static $done = false;
238
 
239
  if ( $done ) {
333
 
334
  self::delete_2fa( $user_id );
335
 
336
+ cerber_log( 5, $twofactor['login'], $user_id, 27 );
 
337
  cerber_login_history( $user_id, true );
338
 
339
  cerber_2fa_checker( true );
cerber-common.php CHANGED
@@ -42,10 +42,20 @@ const CRB_SANITIZE_ID = '[a-z\d\_\-\.\:\*\/]+';
42
  const CRB_SANITIZE_KEY = '/[^a-z_\-\d.:\/]/i';
43
  const CRB_GROOVE = 'cerber_groove';
44
 
45
- const CRB_EV_LFL = 53;
 
46
 
 
 
 
 
 
 
 
 
47
  const CRB_STS_51 = 51;
48
  const CRB_STS_52 = 52;
 
49
 
50
  /**
51
  * Known WP scripts
@@ -449,7 +459,7 @@ function cerber_check_environment() {
449
  cerber_admin_notice( sprintf( __( 'WP Cerber requires PHP %s or higher. You are running %s', 'wp-cerber' ), CERBER_REQ_PHP, phpversion() ) );
450
  }
451
 
452
- if ( version_compare( CERBER_REQ_WP, cerber_get_wp_version(), '>' ) ) {
453
  cerber_admin_notice( sprintf( __( 'WP Cerber requires WordPress %s or higher. You are running %s', 'wp-cerber' ), CERBER_REQ_WP, cerber_get_wp_version() ) );
454
  }
455
 
@@ -1149,7 +1159,6 @@ function cerber_is_route_allowed() {
1149
  }
1150
 
1151
  function cerber_is_rest_permitted() {
1152
- global $cerber_req_status, $wp_cerber_user_id;
1153
 
1154
  // Exception: application passwords route @since WP Cerber 8.8 & WP 5.6 -> permissions are checked in the WP core
1155
  if ( preg_match( '#^wp/v\d+/users/\d+/application-passwords#', crb_get_rest_path() ) ) {
@@ -1175,7 +1184,7 @@ function cerber_is_rest_permitted() {
1175
  return true;
1176
  }
1177
 
1178
- $wp_cerber_user_id = get_current_user_id();
1179
 
1180
  if ( $opt['restauth'] && is_user_logged_in() ) {
1181
  return true;
@@ -1186,7 +1195,7 @@ function cerber_is_rest_permitted() {
1186
  $namespace = substr( $rest_path, 0, strpos( $rest_path, '/' ) );
1187
  foreach ( $opt['restwhite'] as $exception ) {
1188
  if ( $exception == $namespace ) {
1189
- $cerber_req_status = 503;
1190
 
1191
  return true;
1192
  }
@@ -1298,6 +1307,11 @@ function crb_user_has_role_strict( $roles, $user_id ) {
1298
  return ( ! array_diff( $user_roles, $roles ) );
1299
  }
1300
 
 
 
 
 
 
1301
  function crb_is_user_blocked( $uid ) {
1302
  if ( $uid
1303
  && ( $m = get_user_meta( $uid, CERBER_BUKEY, 1 ) )
@@ -1378,15 +1392,8 @@ function crb_check_user_limits( $user_id ) {
1378
  else {
1379
  $started = array_column( $list, 'started' );
1380
  array_multisort( $started, SORT_ASC, SORT_NUMERIC, $list );
1381
-
1382
- // Doesn't work
1383
- /* $manager = WP_Session_Tokens::get_instance( $user_id );
1384
- $manager->destroy( $list[0]['wp_session_token'] );
1385
- */
1386
-
1387
- if ( crb_sessions_kill( $list[0]['wp_session_token'], $user_id, false ) ) {
1388
- cerber_log( 22, '', $user_id, 38 );
1389
- }
1390
  }
1391
  }
1392
 
@@ -1555,7 +1562,7 @@ function cerber_get_labels( $type = 'activity' ) {
1555
  $act[3] = __( 'User deleted', 'wp-cerber' );
1556
  $act[5] = __( 'Logged in', 'wp-cerber' );
1557
  $act[6] = __( 'Logged out', 'wp-cerber' );
1558
- $act[7] = __( 'Login failed', 'wp-cerber' );
1559
 
1560
  // Cerber actions - IP specific - lockouts
1561
  $act[10] = __( 'IP blocked', 'wp-cerber' );
@@ -1576,19 +1583,23 @@ function cerber_get_labels( $type = 'activity' ) {
1576
 
1577
  // Other events
1578
  $act[20] = __( 'Password changed', 'wp-cerber' );
1579
- $act[21] = __( 'Password reset requested', 'wp-cerber' );
1580
  $act[22] = __( 'User session terminated', 'wp-cerber' );
1581
 
 
 
 
1582
  $act[40] = __( 'reCAPTCHA verification failed', 'wp-cerber' );
1583
  $act[41] = __( 'reCAPTCHA settings are incorrect', 'wp-cerber' );
1584
  $act[42] = __( 'Request to the Google reCAPTCHA service failed', 'wp-cerber' );
 
1585
 
1586
  $act[50] = __( 'Attempt to access prohibited URL', 'wp-cerber' );
1587
  $act[51] = __( 'Attempt to log in with non-existing username', 'wp-cerber' );
1588
  $act[52] = __( 'Attempt to log in with prohibited username', 'wp-cerber' );
1589
 
1590
  // WP Cerber's actions - denied
1591
- $act[ CRB_EV_LFL ] = __( 'Attempt to log in denied', 'wp-cerber' );
1592
  $act[54] = __( 'Attempt to register denied', 'wp-cerber' );
1593
  $act[55] = __( 'Probing for vulnerable code', 'wp-cerber' );
1594
  $act[56] = __( 'Attempt to upload malicious file denied', 'wp-cerber' );
@@ -1606,6 +1617,7 @@ function cerber_get_labels( $type = 'activity' ) {
1606
  $act[100] = __( 'Malicious request denied', 'wp-cerber' );
1607
 
1608
  // APIs
 
1609
  $act[150] = __( 'User application password created', 'wp-cerber' );
1610
  $act[151] = __( 'API request authorized', 'wp-cerber' );
1611
  $act[152] = __( 'API request authorization failed', 'wp-cerber' );
@@ -1622,7 +1634,7 @@ function cerber_get_labels( $type = 'activity' ) {
1622
 
1623
  $sts = &$labels['status'];
1624
 
1625
- $sts[11] = __( 'Bot detected', 'wp-cerber' );
1626
  $sts[12] = __( 'Citadel mode is active', 'wp-cerber' );
1627
  $sts[13] = __( 'Locked out', 'wp-cerber' );
1628
  $sts[13] = __( 'IP address is locked out', 'wp-cerber' );
@@ -1638,12 +1650,12 @@ function cerber_get_labels( $type = 'activity' ) {
1638
  $sts[22] = __( 'Malicious code detected', 'wp-cerber' );
1639
  $sts[23] = __( 'Suspicious SQL code detected', 'wp-cerber' );
1640
  $sts[24] = __( 'Suspicious JavaScript code detected', 'wp-cerber' );
1641
- $sts[25] = __( 'Blocked by administrator', 'wp-cerber' );
1642
  $sts[26] = __( 'Site policy enforcement', 'wp-cerber' );
1643
  $sts[27] = __( '2FA code verified', 'wp-cerber' );
1644
  $sts[28] = __( 'Initiated by the user', 'wp-cerber' );
1645
-
1646
- $sts[30] = 'Username is prohibited';
1647
  $sts[31] = __( 'Email address is prohibited', 'wp-cerber' );
1648
  $sts[32] = 'User role is prohibited';
1649
  $sts[33] = __( 'Permission denied', 'wp-cerber' );
@@ -1669,6 +1681,14 @@ function cerber_get_labels( $type = 'activity' ) {
1669
  $sts[511] = $sts[500]; // DS
1670
  $sts[512] = $sts[500]; // DS
1671
 
 
 
 
 
 
 
 
 
1672
  cerber_cache_set( 'labels', $labels );
1673
  }
1674
 
@@ -1692,19 +1712,19 @@ function crb_get_activity_set( $slice = 'malicious', $implode = false ) {
1692
 
1693
  switch ( $slice ) {
1694
  case 'malicious':
1695
- $ret = array( 16, 17, 40, 50, 51, 52, CRB_EV_LFL, 54, 55, 56, 100 );
1696
  break;
1697
  case 'black': // Like 'malicious' but will cause an IP lockout when hit the limit
1698
- $ret = array( 16, 17, 40, 50, 51, 52, CRB_EV_LFL, 55, 56, 100, 300 );
1699
  break;
1700
  case 'suspicious': // Uses when an admin inspects logs with filter_set = 1
1701
- $ret = array( 10, 11, 16, 17, 40, 50, 51, 52, CRB_EV_LFL, 54, 55, 56, 57, 100, 70, 71, 72, 73, 74, 75, 76, 300 );
1702
  break;
1703
  case 'dashboard': // Important events for the plugin dashboard
1704
- $ret = array( 1, 2, 3, 5, 12, 16, 17, 18, 19, 22, 40, 41, 42, 50, 51, 52, CRB_EV_LFL, 54, 55, 56, 57, 72, 73, 74, 75, 76, 100, 150, 200, 300, 400 );
1705
  break;
1706
  case 'login_issues':
1707
- $ret = array( 7, 21, 51, 52, CRB_EV_LFL, 152 );
1708
  break;
1709
  case 'blocked': // IP or subnet was blocked
1710
  $ret = array( 10, 11 );
@@ -1765,7 +1785,7 @@ function cerber_db_error_log( $errors = array() ) {
1765
  $errors = array( array( $wpdb->last_error, $wpdb->last_query, microtime( true ) ) );
1766
  }
1767
 
1768
- if ( $others = cerber_db_get_errors( true ) ) {
1769
  $errors = array_merge( $errors, $others );
1770
  }
1771
  }
@@ -1782,6 +1802,7 @@ function cerber_db_error_log( $errors = array() ) {
1782
  }
1783
 
1784
  /**
 
1785
  *
1786
  * @param string|array $msg
1787
  */
@@ -1798,9 +1819,8 @@ function cerber_admin_message( $msg ) {
1798
  }
1799
 
1800
  function crb_admin_add_msg( $msg, $type = 'admin_message' ) {
1801
- global $cerber_doing_upgrade;
1802
 
1803
- if ( ! $msg || $cerber_doing_upgrade ) {
1804
  return;
1805
  }
1806
 
@@ -2191,23 +2211,32 @@ function cerber_real_escape( $str ) {
2191
  }
2192
 
2193
  /**
2194
- * @param false $erase
 
2195
  *
2196
  * @return array
2197
  */
2198
- function cerber_db_get_errors( $erase = false ) {
2199
- global $cerber_db_errors;
2200
 
2201
- if ( ! isset( $cerber_db_errors ) ) {
2202
- $cerber_db_errors = array();
2203
  }
2204
 
2205
- if ( ! $erase ) {
2206
- return $cerber_db_errors;
 
 
2207
  }
2208
 
2209
- $ret = $cerber_db_errors;
2210
- $cerber_db_errors = array();
 
 
 
 
 
 
 
2211
 
2212
  return $ret;
2213
  }
@@ -2223,7 +2252,7 @@ function cerber_db_get_errors( $erase = false ) {
2223
  * @since 6.0
2224
  */
2225
  function cerber_db_query( $query ) {
2226
- global $wpdb, $cerber_db_errors, $cerber_db_requests;
2227
 
2228
  $db = cerber_get_db();
2229
 
@@ -2231,7 +2260,7 @@ function cerber_db_query( $query ) {
2231
  || empty( $db->dbh )
2232
  || ! ( $db->dbh instanceof MySQLi ) ) {
2233
 
2234
- $cerber_db_errors[] = 'No active DB handler. Query: ' . $query;
2235
 
2236
  return false;
2237
  }
@@ -2246,7 +2275,7 @@ function cerber_db_query( $query ) {
2246
  if ( ! $ret = mysqli_query( $db->dbh, $query ) ) {
2247
  $err = mysqli_error( $db->dbh );
2248
  if ( $err ) {
2249
- $cerber_db_errors[] = array( $err, $query, microtime( true ) );
2250
  }
2251
  }
2252
 
@@ -2260,7 +2289,7 @@ function cerber_db_query( $query ) {
2260
  }
2261
 
2262
  $stat = array( $query, $elapsed, $backtrace, $started, array( $err ) );
2263
- $cerber_db_requests[] = $stat;
2264
 
2265
  $wpdb->queries[] = $stat;
2266
  }
@@ -2448,11 +2477,11 @@ function cerber_db_prepare( $table, $field, &$value ) {
2448
  * @return bool|wpdb
2449
  */
2450
  function cerber_get_db() {
2451
- global $wpdb, $cerber_db_errors;
2452
  static $db;
2453
 
2454
- if ( ! isset( $cerber_db_errors ) ) {
2455
- $cerber_db_errors = array();
2456
  }
2457
 
2458
  if ( empty( $db )
@@ -2463,7 +2492,7 @@ function cerber_get_db() {
2463
  || empty( $wpdb->dbh )
2464
  || ! ( $wpdb->dbh instanceof MySQLi ) ) {
2465
  if ( ! $db = cerber_db_connect() ) {
2466
- $cerber_db_errors[] = 'Unable to connect to the DB';
2467
 
2468
  return false;
2469
  }
@@ -2864,7 +2893,6 @@ function crb_update_cookie_dependent() {
2864
  return;
2865
  }
2866
 
2867
- //add_action( 'init', function () {
2868
  register_shutdown_function( function () {
2869
  cerber_htaccess_sync( 'main' ); // keep the .htaccess rule is up to date
2870
  } );
@@ -3179,6 +3207,17 @@ function cerber_get_extension( $file_name ) {
3179
  return '';
3180
  }
3181
 
 
 
 
 
 
 
 
 
 
 
 
3182
  /**
3183
  * Returns an unaltered $wp_version variable
3184
  *
@@ -3188,7 +3227,6 @@ function cerber_get_wp_version() {
3188
  static $ver;
3189
 
3190
  if ( ! $ver ) {
3191
- global $wp_version;
3192
  include( ABSPATH . WPINC . DIRECTORY_SEPARATOR . 'version.php' );
3193
  $ver = $wp_version;
3194
  }
@@ -3364,7 +3402,7 @@ function cerber_diag_log( $msg, $source = '', $error = false ) {
3364
 
3365
  foreach ( $msg as $line ) {
3366
  if ( is_array( $line ) ) {
3367
- $line = print_r( $line, 1 ); // workaround for $cerber_db_errors
3368
  }
3369
  //$ret = @fwrite( $log, '[' .cerber_get_remote_ip(). '][' . cerber_date( time() ) . ']' . $source . ' ' . $line . PHP_EOL );
3370
  $ret = @fwrite( $log, '[' . cerber_date( time(), false ) . ']' . $source . ' ' . $line . PHP_EOL );
@@ -4060,4 +4098,34 @@ function crb_get_table_hash( $table, $hash_fields, $order_by ) {
4060
  }
4061
 
4062
  return $hashes[ $key ];
4063
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  const CRB_SANITIZE_KEY = '/[^a-z_\-\d.:\/]/i';
43
  const CRB_GROOVE = 'cerber_groove';
44
 
45
+ const CRB_EV_LFL = 7;
46
+ const CRB_EV_LDN = 53;
47
 
48
+ const CRB_EV_PRS = 21;
49
+ const CRB_EV_PRD = 25;
50
+
51
+ const CRB_STS_25 = 25;
52
+ const CRB_STS_29 = 29;
53
+ const CRB_STS_30 = 30;
54
+
55
+ const CRB_STS_11 = 11;
56
  const CRB_STS_51 = 51;
57
  const CRB_STS_52 = 52;
58
+ const CRB_STS_532 = 532;
59
 
60
  /**
61
  * Known WP scripts
459
  cerber_admin_notice( sprintf( __( 'WP Cerber requires PHP %s or higher. You are running %s', 'wp-cerber' ), CERBER_REQ_PHP, phpversion() ) );
460
  }
461
 
462
+ if ( ! crb_wp_version_compare( CERBER_REQ_WP ) ) {
463
  cerber_admin_notice( sprintf( __( 'WP Cerber requires WordPress %s or higher. You are running %s', 'wp-cerber' ), CERBER_REQ_WP, cerber_get_wp_version() ) );
464
  }
465
 
1159
  }
1160
 
1161
  function cerber_is_rest_permitted() {
 
1162
 
1163
  // Exception: application passwords route @since WP Cerber 8.8 & WP 5.6 -> permissions are checked in the WP core
1164
  if ( preg_match( '#^wp/v\d+/users/\d+/application-passwords#', crb_get_rest_path() ) ) {
1184
  return true;
1185
  }
1186
 
1187
+ CRB_Globals::$user_id = get_current_user_id();
1188
 
1189
  if ( $opt['restauth'] && is_user_logged_in() ) {
1190
  return true;
1195
  $namespace = substr( $rest_path, 0, strpos( $rest_path, '/' ) );
1196
  foreach ( $opt['restwhite'] as $exception ) {
1197
  if ( $exception == $namespace ) {
1198
+ CRB_Globals::$req_status = 503;
1199
 
1200
  return true;
1201
  }
1307
  return ( ! array_diff( $user_roles, $roles ) );
1308
  }
1309
 
1310
+ /**
1311
+ * @param int $uid User ID
1312
+ *
1313
+ * @return false|array
1314
+ */
1315
  function crb_is_user_blocked( $uid ) {
1316
  if ( $uid
1317
  && ( $m = get_user_meta( $uid, CERBER_BUKEY, 1 ) )
1392
  else {
1393
  $started = array_column( $list, 'started' );
1394
  array_multisort( $started, SORT_ASC, SORT_NUMERIC, $list );
1395
+ CRB_Globals::$session_status = 38;
1396
+ crb_sessions_kill( $list[0]['wp_session_token'], $user_id, false );
 
 
 
 
 
 
 
1397
  }
1398
  }
1399
 
1562
  $act[3] = __( 'User deleted', 'wp-cerber' );
1563
  $act[5] = __( 'Logged in', 'wp-cerber' );
1564
  $act[6] = __( 'Logged out', 'wp-cerber' );
1565
+ $act[ CRB_EV_LFL ] = __( 'Login failed', 'wp-cerber' );
1566
 
1567
  // Cerber actions - IP specific - lockouts
1568
  $act[10] = __( 'IP blocked', 'wp-cerber' );
1583
 
1584
  // Other events
1585
  $act[20] = __( 'Password changed', 'wp-cerber' );
1586
+ $act[ CRB_EV_PRS ] = __( 'Password reset requested', 'wp-cerber' );
1587
  $act[22] = __( 'User session terminated', 'wp-cerber' );
1588
 
1589
+ $act[ CRB_EV_PRD ] = __( 'Password reset request denied', 'wp-cerber' );
1590
+
1591
+ // Not in use and replaced by statuses 532 - 534 since 8.9.4.
1592
  $act[40] = __( 'reCAPTCHA verification failed', 'wp-cerber' );
1593
  $act[41] = __( 'reCAPTCHA settings are incorrect', 'wp-cerber' );
1594
  $act[42] = __( 'Request to the Google reCAPTCHA service failed', 'wp-cerber' );
1595
+ // --------------------------
1596
 
1597
  $act[50] = __( 'Attempt to access prohibited URL', 'wp-cerber' );
1598
  $act[51] = __( 'Attempt to log in with non-existing username', 'wp-cerber' );
1599
  $act[52] = __( 'Attempt to log in with prohibited username', 'wp-cerber' );
1600
 
1601
  // WP Cerber's actions - denied
1602
+ $act[ CRB_EV_LDN ] = __( 'Attempt to log in denied', 'wp-cerber' );
1603
  $act[54] = __( 'Attempt to register denied', 'wp-cerber' );
1604
  $act[55] = __( 'Probing for vulnerable code', 'wp-cerber' );
1605
  $act[56] = __( 'Attempt to upload malicious file denied', 'wp-cerber' );
1617
  $act[100] = __( 'Malicious request denied', 'wp-cerber' );
1618
 
1619
  // APIs
1620
+ $act[149] = __( 'User application password updated', 'wp-cerber' );
1621
  $act[150] = __( 'User application password created', 'wp-cerber' );
1622
  $act[151] = __( 'API request authorized', 'wp-cerber' );
1623
  $act[152] = __( 'API request authorization failed', 'wp-cerber' );
1634
 
1635
  $sts = &$labels['status'];
1636
 
1637
+ $sts[CRB_STS_11] = __( 'Bot detected', 'wp-cerber' );
1638
  $sts[12] = __( 'Citadel mode is active', 'wp-cerber' );
1639
  $sts[13] = __( 'Locked out', 'wp-cerber' );
1640
  $sts[13] = __( 'IP address is locked out', 'wp-cerber' );
1650
  $sts[22] = __( 'Malicious code detected', 'wp-cerber' );
1651
  $sts[23] = __( 'Suspicious SQL code detected', 'wp-cerber' );
1652
  $sts[24] = __( 'Suspicious JavaScript code detected', 'wp-cerber' );
1653
+ $sts[CRB_STS_25] = __( 'Blocked by administrator', 'wp-cerber' );
1654
  $sts[26] = __( 'Site policy enforcement', 'wp-cerber' );
1655
  $sts[27] = __( '2FA code verified', 'wp-cerber' );
1656
  $sts[28] = __( 'Initiated by the user', 'wp-cerber' );
1657
+ $sts[CRB_STS_29] = __( 'User blocked by administrator', 'wp-cerber' );
1658
+ $sts[CRB_STS_30] = __( 'Username is prohibited', 'wp-cerber' );
1659
  $sts[31] = __( 'Email address is prohibited', 'wp-cerber' );
1660
  $sts[32] = 'User role is prohibited';
1661
  $sts[33] = __( 'Permission denied', 'wp-cerber' );
1681
  $sts[511] = $sts[500]; // DS
1682
  $sts[512] = $sts[500]; // DS
1683
 
1684
+ // @since 8.9.4
1685
+ $sts[530] = __( 'Logged out everywhere', 'wp-cerber' );
1686
+
1687
+ $sts[531] = __( 'reCAPTCHA verified', 'wp-cerber' );
1688
+ $sts[CRB_STS_532] = __( 'reCAPTCHA verification failed', 'wp-cerber' );
1689
+ $sts[533] = __( 'reCAPTCHA settings are incorrect', 'wp-cerber' );
1690
+ $sts[534] = __( 'Request to the Google reCAPTCHA service failed', 'wp-cerber' );
1691
+
1692
  cerber_cache_set( 'labels', $labels );
1693
  }
1694
 
1712
 
1713
  switch ( $slice ) {
1714
  case 'malicious':
1715
+ $ret = array( 16, 17, CRB_EV_PRD, 40, 50, 51, 52, CRB_EV_LDN, 54, 55, 56, 100 );
1716
  break;
1717
  case 'black': // Like 'malicious' but will cause an IP lockout when hit the limit
1718
+ $ret = array( 16, 17, 40, 50, 51, 52, CRB_EV_LDN, 55, 56, 100, 300 );
1719
  break;
1720
  case 'suspicious': // Uses when an admin inspects logs with filter_set = 1
1721
+ $ret = array( 10, 11, 16, 17, CRB_EV_PRD, 40, 50, 51, 52, CRB_EV_LDN, 54, 55, 56, 57, 100, 70, 71, 72, 73, 74, 75, 76, 300 );
1722
  break;
1723
  case 'dashboard': // Important events for the plugin dashboard
1724
+ $ret = array( 1, 2, 3, 5, 12, 16, 17, 18, 19, 22, 40, 41, 42, 50, 51, 52, CRB_EV_LDN, 54, 55, 56, 57, 72, 73, 74, 75, 76, 100, 149, 150, 200, 300, 400 );
1725
  break;
1726
  case 'login_issues':
1727
+ $ret = array( CRB_EV_LFL, CRB_EV_PRS, CRB_EV_PRD, 51, 52, CRB_EV_LDN, 152 );
1728
  break;
1729
  case 'blocked': // IP or subnet was blocked
1730
  $ret = array( 10, 11 );
1785
  $errors = array( array( $wpdb->last_error, $wpdb->last_query, microtime( true ) ) );
1786
  }
1787
 
1788
+ if ( $others = cerber_db_get_errors( true, false ) ) {
1789
  $errors = array_merge( $errors, $others );
1790
  }
1791
  }
1802
  }
1803
 
1804
  /**
1805
+ * Add admin error message(s) to be displayed in the dashboard
1806
  *
1807
  * @param string|array $msg
1808
  */
1819
  }
1820
 
1821
  function crb_admin_add_msg( $msg, $type = 'admin_message' ) {
 
1822
 
1823
+ if ( ! $msg || CRB_Globals::$doing_upgrade ) {
1824
  return;
1825
  }
1826
 
2211
  }
2212
 
2213
  /**
2214
+ * @param bool $erase
2215
+ * @param bool $flat If true returns an array of error messages, otherwise a multidimensional array
2216
  *
2217
  * @return array
2218
  */
2219
+ function cerber_db_get_errors( $erase = false, $flat = true ) {
 
2220
 
2221
+ if ( ! isset( CRB_Globals::$db_errors ) ) {
2222
+ CRB_Globals::$db_errors = array();
2223
  }
2224
 
2225
+ $ret = CRB_Globals::$db_errors;
2226
+
2227
+ if ( $erase ) {
2228
+ CRB_Globals::$db_errors = array();
2229
  }
2230
 
2231
+ if ( $flat ) {
2232
+ $ret = array_map( function ( $e ) {
2233
+ if ( is_array( $e ) ) {
2234
+ return implode( ' ', $e );
2235
+ }
2236
+
2237
+ return $e;
2238
+ }, $ret );
2239
+ }
2240
 
2241
  return $ret;
2242
  }
2252
  * @since 6.0
2253
  */
2254
  function cerber_db_query( $query ) {
2255
+ global $wpdb;
2256
 
2257
  $db = cerber_get_db();
2258
 
2260
  || empty( $db->dbh )
2261
  || ! ( $db->dbh instanceof MySQLi ) ) {
2262
 
2263
+ CRB_Globals::$db_errors[] = 'No active DB handler. Query: ' . $query;
2264
 
2265
  return false;
2266
  }
2275
  if ( ! $ret = mysqli_query( $db->dbh, $query ) ) {
2276
  $err = mysqli_error( $db->dbh );
2277
  if ( $err ) {
2278
+ CRB_Globals::$db_errors[] = array( $err, $query, microtime( true ) );
2279
  }
2280
  }
2281
 
2289
  }
2290
 
2291
  $stat = array( $query, $elapsed, $backtrace, $started, array( $err ) );
2292
+ CRB_Globals::$db_requests[] = $stat;
2293
 
2294
  $wpdb->queries[] = $stat;
2295
  }
2477
  * @return bool|wpdb
2478
  */
2479
  function cerber_get_db() {
2480
+ global $wpdb;
2481
  static $db;
2482
 
2483
+ if ( ! isset( CRB_Globals::$db_errors ) ) {
2484
+ CRB_Globals::$db_errors = array();
2485
  }
2486
 
2487
  if ( empty( $db )
2492
  || empty( $wpdb->dbh )
2493
  || ! ( $wpdb->dbh instanceof MySQLi ) ) {
2494
  if ( ! $db = cerber_db_connect() ) {
2495
+ CRB_Globals::$db_errors[] = 'Unable to connect to the DB';
2496
 
2497
  return false;
2498
  }
2893
  return;
2894
  }
2895
 
 
2896
  register_shutdown_function( function () {
2897
  cerber_htaccess_sync( 'main' ); // keep the .htaccess rule is up to date
2898
  } );
3207
  return '';
3208
  }
3209
 
3210
+ /**
3211
+ * True if version of WP is equal or greater than specified one
3212
+ *
3213
+ * @param string $ver
3214
+ *
3215
+ * @return bool|int
3216
+ */
3217
+ function crb_wp_version_compare( $ver ) {
3218
+ return version_compare( cerber_get_wp_version(), $ver, '>=' );
3219
+ }
3220
+
3221
  /**
3222
  * Returns an unaltered $wp_version variable
3223
  *
3227
  static $ver;
3228
 
3229
  if ( ! $ver ) {
 
3230
  include( ABSPATH . WPINC . DIRECTORY_SEPARATOR . 'version.php' );
3231
  $ver = $wp_version;
3232
  }
3402
 
3403
  foreach ( $msg as $line ) {
3404
  if ( is_array( $line ) ) {
3405
+ $line = print_r( $line, 1 ); // workaround for CRB_Globals::$db_errors
3406
  }
3407
  //$ret = @fwrite( $log, '[' .cerber_get_remote_ip(). '][' . cerber_date( time() ) . ']' . $source . ' ' . $line . PHP_EOL );
3408
  $ret = @fwrite( $log, '[' . cerber_date( time(), false ) . ']' . $source . ' ' . $line . PHP_EOL );
4098
  }
4099
 
4100
  return $hashes[ $key ];
4101
+ }
4102
+
4103
+ /**
4104
+ * A replacement for global PHP variables. It doesn't make them good (less ugly), but it helps to trace their usage easily (within IDE).
4105
+ *
4106
+ * @since 8.9.4
4107
+ *
4108
+ */
4109
+ class CRB_Globals {
4110
+ static $session_status;
4111
+ static $act_status;
4112
+ static $do_not_log = array();
4113
+ static $reset_pwd_msg;
4114
+ static $reset_pwd_denied = false;
4115
+ static $user_id;
4116
+ static $req_status = 0;
4117
+ static $assets_url = '';
4118
+ static $ajax_loader = '';
4119
+ static $logged;
4120
+ static $blocked;
4121
+ static $db_requests = array();
4122
+ static $db_errors = array();
4123
+ static $bot_status = 0;
4124
+
4125
+ static $doing_upgrade;
4126
+
4127
+ static function set_bot_status( $val ) {
4128
+ self::$bot_status = $val;
4129
+ self::$act_status = $val; // For backward compatibility
4130
+ }
4131
+ }
cerber-ds.php CHANGED
@@ -381,21 +381,20 @@ final class CRB_DS {
381
  * @return bool true if this operation is permitted
382
  */
383
  private static function acc_new( $user_id ) {
384
- global $cerber_act_status;
385
 
386
- $set = crb_get_settings();
387
  self::$user_blocked = false;
388
 
389
  // Due to lack of a hook in the wp_insert_user() we are forced to check permissions and use wp_delete_user() after the user was created
390
  if ( ! is_user_logged_in() ) {
391
  if ( ! crb_user_has_role_strict( $set['ds_regs_roles'], $user_id ) ) {
392
- $cerber_act_status = 32;
393
  self::$user_blocked = true;
394
  }
395
  }
396
  else {
397
  if ( ! cerber_user_has_role( $set['ds_add_acc'] ) ) {
398
- $cerber_act_status = 33;
399
  self::$user_blocked = true;
400
  }
401
  }
@@ -425,7 +424,7 @@ final class CRB_DS {
425
  * @return bool true if this operation is permitted
426
  */
427
  private static function acc_update( $user_id, $data ) {
428
- global $cerber_act_status, $wpdb;
429
 
430
  $cid = get_current_user_id();
431
 
@@ -459,7 +458,7 @@ final class CRB_DS {
459
  // Protect the user's row in the users table
460
  add_filter( 'query', 'crb_empty_query', PHP_INT_MAX );
461
  add_filter( 'pre_get_col_charset', 'crb_return_wp_error', PHP_INT_MAX );
462
- $cerber_act_status = ( ! $cid ) ? 34 : 33;
463
  cerber_log( 73 );
464
  }
465
 
@@ -499,12 +498,11 @@ final class CRB_DS {
499
  * @return bool
500
  */
501
  static function update_user_meta( $user_id, $meta_key, $meta_value ) {
502
- global $cerber_act_status;
503
 
504
  // A user is not permitted to be created or updated?
505
  if ( self::$user_blocked ) {
506
  if ( self::is_meta_protected( $meta_key ) ) { // User roles are here
507
- $cerber_act_status = ( ! is_user_logged_in() ) ? 34 : 33;
508
  cerber_log( 76 );
509
  self::$no_user_meta_shadow = '';
510
 
@@ -590,7 +588,6 @@ final class CRB_DS {
590
  * @return mixed The old value if update is not permitted
591
  */
592
  static function setting_processor( &$value, $option, &$old_value ) {
593
- global $cerber_act_status;
594
 
595
  if ( empty( self::get_protected_settings()[3][ $option ] ) ) {
596
  return $value;
@@ -617,7 +614,7 @@ final class CRB_DS {
617
  $roles = crb_get_settings( 'ds_4opts_roles' );
618
 
619
  if ( ! $roles || ! cerber_user_has_role( $roles ) ) {
620
- $cerber_act_status = ( is_user_logged_in() ) ? 33 : 34;
621
  cerber_log( 75 );
622
 
623
  return $old_value;
@@ -629,7 +626,6 @@ final class CRB_DS {
629
  }
630
 
631
  static function role_processor( &$value, $option, &$old_value ) {
632
- global $cerber_act_status;
633
 
634
  if ( ! is_array( $value )
635
  || ( substr( $option, - 11 ) != '_user_roles' ) ) {
@@ -640,11 +636,11 @@ final class CRB_DS {
640
  return $value;
641
  }
642
 
643
- $cerber_act_status = 0;
644
 
645
  if ( ! self::role_update_permitted( $value, $old_value ) ) {
646
- if ( ! $cerber_act_status ) {
647
- $cerber_act_status = ( is_user_logged_in() ) ? 33 : 34;
648
  }
649
  cerber_log( 74 );
650
 
381
  * @return bool true if this operation is permitted
382
  */
383
  private static function acc_new( $user_id ) {
 
384
 
385
+ $set = crb_get_settings();
386
  self::$user_blocked = false;
387
 
388
  // Due to lack of a hook in the wp_insert_user() we are forced to check permissions and use wp_delete_user() after the user was created
389
  if ( ! is_user_logged_in() ) {
390
  if ( ! crb_user_has_role_strict( $set['ds_regs_roles'], $user_id ) ) {
391
+ CRB_Globals::$act_status = 32;
392
  self::$user_blocked = true;
393
  }
394
  }
395
  else {
396
  if ( ! cerber_user_has_role( $set['ds_add_acc'] ) ) {
397
+ CRB_Globals::$act_status = 33;
398
  self::$user_blocked = true;
399
  }
400
  }
424
  * @return bool true if this operation is permitted
425
  */
426
  private static function acc_update( $user_id, $data ) {
427
+ global $wpdb;
428
 
429
  $cid = get_current_user_id();
430
 
458
  // Protect the user's row in the users table
459
  add_filter( 'query', 'crb_empty_query', PHP_INT_MAX );
460
  add_filter( 'pre_get_col_charset', 'crb_return_wp_error', PHP_INT_MAX );
461
+ CRB_Globals::$act_status = ( ! $cid ) ? 34 : 33;
462
  cerber_log( 73 );
463
  }
464
 
498
  * @return bool
499
  */
500
  static function update_user_meta( $user_id, $meta_key, $meta_value ) {
 
501
 
502
  // A user is not permitted to be created or updated?
503
  if ( self::$user_blocked ) {
504
  if ( self::is_meta_protected( $meta_key ) ) { // User roles are here
505
+ CRB_Globals::$act_status = ( ! is_user_logged_in() ) ? 34 : 33;
506
  cerber_log( 76 );
507
  self::$no_user_meta_shadow = '';
508
 
588
  * @return mixed The old value if update is not permitted
589
  */
590
  static function setting_processor( &$value, $option, &$old_value ) {
 
591
 
592
  if ( empty( self::get_protected_settings()[3][ $option ] ) ) {
593
  return $value;
614
  $roles = crb_get_settings( 'ds_4opts_roles' );
615
 
616
  if ( ! $roles || ! cerber_user_has_role( $roles ) ) {
617
+ CRB_Globals::$act_status = ( is_user_logged_in() ) ? 33 : 34;
618
  cerber_log( 75 );
619
 
620
  return $old_value;
626
  }
627
 
628
  static function role_processor( &$value, $option, &$old_value ) {
 
629
 
630
  if ( ! is_array( $value )
631
  || ( substr( $option, - 11 ) != '_user_roles' ) ) {
636
  return $value;
637
  }
638
 
639
+ CRB_Globals::$act_status = 0;
640
 
641
  if ( ! self::role_update_permitted( $value, $old_value ) ) {
642
+ if ( ! CRB_Globals::$act_status ) {
643
+ CRB_Globals::$act_status = ( is_user_logged_in() ) ? 33 : 34;
644
  }
645
  cerber_log( 74 );
646
 
cerber-lab.php CHANGED
@@ -176,11 +176,15 @@ function lab_api_send_request( $workload = array(), $payload_key = null ) {
176
  return false;
177
  }
178
 
 
 
179
  $request = array(
180
  'key' => $key,
181
  'workload' => $workload,
182
  'push' => $push,
183
- 'lang' => crb_get_bloginfo( 'language' ),
 
 
184
  'multi' => is_multisite(),
185
  'version' => CERBER_VER,
186
  'PHP' => PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION,
@@ -608,7 +612,6 @@ function lab_is_cloud_ok(){
608
  * @param $details
609
  */
610
  function lab_save_push( $ip, $reason_id, $details = null ) {
611
- global $cerber_act_status;
612
  static $done = false;
613
 
614
  if ( $done || cerber_check_groove() ) {
@@ -625,7 +628,7 @@ function lab_save_push( $ip, $reason_id, $details = null ) {
625
  $details = array( 'uri' => $_SERVER['REQUEST_URI'] );
626
  }
627
  elseif ( $reason_id == 100 ) {
628
- $details = absint( $cerber_act_status );
629
  }
630
 
631
  if ( is_array( $details ) ) {
@@ -1115,5 +1118,33 @@ function lab_get_real_node_id() {
1115
 
1116
  $ret = absint( substr( $domain[0], 4, 2 ) ); // 0-99
1117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1118
  return $ret;
1119
  }
176
  return false;
177
  }
178
 
179
+ $site = lab_get_site_meta( false );
180
+
181
  $request = array(
182
  'key' => $key,
183
  'workload' => $workload,
184
  'push' => $push,
185
+ //'lang' => crb_get_bloginfo( 'language' ),
186
+ 'lang' => $site['lang'],
187
+ 'wp_ver' => $site['wp_ver'],
188
  'multi' => is_multisite(),
189
  'version' => CERBER_VER,
190
  'PHP' => PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION,
612
  * @param $details
613
  */
614
  function lab_save_push( $ip, $reason_id, $details = null ) {
 
615
  static $done = false;
616
 
617
  if ( $done || cerber_check_groove() ) {
628
  $details = array( 'uri' => $_SERVER['REQUEST_URI'] );
629
  }
630
  elseif ( $reason_id == 100 ) {
631
+ $details = absint( CRB_Globals::$act_status );
632
  }
633
 
634
  if ( is_array( $details ) ) {
1118
 
1119
  $ret = absint( substr( $domain[0], 4, 2 ) ); // 0-99
1120
 
1121
+ return $ret;
1122
+ }
1123
+
1124
+ /**
1125
+ * Returns cached statistical site info
1126
+ *
1127
+ * @param bool $update If true, update (regenerate) the cache
1128
+ *
1129
+ * @return array
1130
+ */
1131
+ function lab_get_site_meta( $update = true ) {
1132
+
1133
+ if ( ! $update ) {
1134
+ $ret = cerber_get_set( CRB_SITE_SET, null, true, true );
1135
+ }
1136
+ else {
1137
+ $ret = false;
1138
+ }
1139
+
1140
+ if ( empty( $ret ) || ! is_array( $ret ) ) {
1141
+ $ret = array(
1142
+ 'lang' => crb_get_bloginfo( 'language' ),
1143
+ 'wp_ver' => cerber_get_wp_version(),
1144
+ );
1145
+
1146
+ cerber_update_set( CRB_SITE_SET, $ret, null, true, time() + 7200, true );
1147
+ }
1148
+
1149
  return $ret;
1150
  }
cerber-load.php CHANGED
@@ -87,6 +87,7 @@ const CERBER_CIREC_LIMIT = 30; // Upper limit for allowed nested values during i
87
  const CERBER_AGGRESSIVE = 1;
88
 
89
  const CRB_USER_SET = 'cerber_user';
 
90
 
91
  const CRB_CNTX_SAFE = 1;
92
  const CRB_CNTX_NEXUS = 2;
@@ -155,7 +156,6 @@ class WP_Cerber {
155
  * @since 6.3.3
156
  */
157
  final public function isURIProhibited() {
158
- global $cerber_act_status;
159
 
160
  if ( isset( $this->uri_prohibited ) ) {
161
  return $this->uri_prohibited;
@@ -178,7 +178,7 @@ class WP_Cerber {
178
  || $script == WP_SIGNUP_SCRIPT
179
  || ( $script == WP_REG_URI && ! get_option( 'users_can_register' ) ) ) {
180
  if ( ! empty( $this->options['wplogin'] ) ) {
181
- $cerber_act_status = 19;
182
  cerber_log( 50 );
183
  cerber_soft_block_add( $this->remote_ip, 702, $script );
184
  $this->uri_prohibited = true;
@@ -202,7 +202,7 @@ class WP_Cerber {
202
  return true;
203
  }
204
  if ( ! cerber_geo_allowed( 'geo_xmlrpc' ) ) {
205
- $cerber_act_status = 16;
206
  cerber_log( 71 );
207
  $this->uri_prohibited = true;
208
 
@@ -279,16 +279,15 @@ class WP_Cerber {
279
  * @since 6.3.3
280
  */
281
  final public function isProhibitedFilename( $file_name ) {
282
- global $cerber_act_status;
283
 
284
  $prohibited = array( '.htaccess' );
285
  if ( in_array( $file_name, $prohibited ) ) {
286
- $cerber_act_status = CRB_STS_52;
287
  return 57;
288
  }
289
 
290
  if ( cerber_detect_exec_extension( $file_name, array('js') ) ) {
291
- $cerber_act_status = CRB_STS_51;
292
  return 56;
293
  }
294
 
@@ -410,74 +409,89 @@ class WP_Cerber {
410
  */
411
  final public function reCaptchaInit(){
412
 
413
- if ( $this->status == 4 || empty( $this->options['sitekey'] ) || empty( $this->options['secretkey'] )) return;
 
 
 
 
 
414
 
415
  // Native WP forms
416
  add_action( 'login_form', function () {
417
- global $wp_cerber;
418
- $wp_cerber->reCaptcha( 'widget', 'recaplogin' );
419
  } );
420
  add_filter( 'login_form_middle', function ( $value ) {
421
- global $wp_cerber;
422
- $value .= $wp_cerber->reCaptcha( 'widget', 'recaplogin', false );
423
  return $value;
424
  });
425
  add_action( 'lostpassword_form', function () {
426
- global $wp_cerber;
427
- $wp_cerber->reCaptcha( 'widget', 'recaplost' );
428
  } );
429
  add_action( 'register_form', function () {
430
- global $wp_cerber;
431
- if ( !did_action( 'woocommerce_register_form_start' ) ) {
432
- $wp_cerber->reCaptcha( 'widget', 'recapreg' );
433
  }
434
  } );
435
 
436
  // Support for WooCommerce forms: @since 3.8
 
437
  add_action( 'woocommerce_login_form', function () {
438
- global $wp_cerber;
439
- $wp_cerber->reCaptcha( 'widget', 'recapwoologin' );
440
  } );
441
  add_action( 'woocommerce_lostpassword_form', function () {
442
- global $wp_cerber;
443
- $wp_cerber->reCaptcha( 'widget', 'recapwoolost' );
444
  } );
445
  add_action( 'woocommerce_register_form', function () {
446
- global $wp_cerber;
447
  if ( ! did_action( 'woocommerce_register_form_start' ) ) {
448
  return;
449
  }
450
- $wp_cerber->reCaptcha( 'widget', 'recapwooreg' );
451
  } );
452
  add_filter( 'woocommerce_process_login_errors', function ( $validation_error ) {
453
- global $wp_cerber;
454
  //$wp_cerber->reCaptchaNow();
455
- if ( ! $wp_cerber->reCaptchaValidate('woologin', true) ) {
456
 
457
- return new WP_Error( 'incorrect_recaptcha', $wp_cerber->reCaptchaMsg('woocommerce-login'));
458
  }
 
459
  return $validation_error;
460
- });
461
- add_filter( 'allow_password_reset', function ( $var ) { // Note: 'allow_password_reset' also is fired in WP itself
462
- global $wp_cerber;
463
- if ( isset( $_POST['wc_reset_password'] ) && did_action( 'woocommerce_init' )) {
464
- //$wp_cerber->reCaptchaNow();
465
- if ( ! $wp_cerber->reCaptchaValidate( 'woolost' , true) ) {
 
 
 
466
 
467
- return new WP_Error( 'incorrect_recaptcha', $wp_cerber->reCaptchaMsg('woocommerce-lost'));
 
 
 
 
 
468
  }
 
 
469
  }
 
470
  return $var;
471
- });
 
472
  add_filter( 'woocommerce_process_registration_errors', function ( $validation_error ) {
473
- global $wp_cerber;
474
  //$wp_cerber->reCaptchaNow();
475
- if ( ! $wp_cerber->reCaptchaValidate('wooreg' , true) ) {
476
 
477
- return new WP_Error( 'incorrect_recaptcha', $wp_cerber->reCaptchaMsg('woocommerce-register'));
 
 
478
  }
 
479
  return $validation_error;
480
- });
481
 
482
  }
483
 
@@ -552,22 +566,32 @@ class WP_Cerber {
552
 
553
  /**
554
  * Validate reCAPTCHA by calling Google service
 
555
  *
556
  * @param string $form Form ID (slug)
557
- * @param boolean $force Force validate without pre-checks
558
  *
559
  * @return bool true on success false on failure
560
  */
561
- final public function reCaptchaValidate($form = null, $force = false) {
562
- if (!$force) {
 
 
 
 
 
563
  if ( ! $this->recaptcha || $this->status == 4 ) {
564
  return true;
565
  }
566
  }
567
 
568
- if ($this->recaptcha_verified != null) return $this->recaptcha_verified;
 
 
569
 
570
- if ( $form == 'comment' && $this->options['recapcomauth'] && is_user_logged_in()) return true;
 
 
571
 
572
  if ( ! $form ) {
573
  $form = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : 'login';
@@ -592,43 +616,67 @@ class WP_Cerber {
592
  return true; // we don't know this form
593
  }
594
 
 
 
 
595
  if ( empty( $_POST['g-recaptcha-response'] ) ) {
596
- $this->reCaptchaFailed($form);
 
 
597
  return false;
598
  }
599
 
600
- $result = $this->reCaptchaRequest($_POST['g-recaptcha-response']);
601
  if ( ! $result ) {
602
- cerber_log( 42 );
 
 
603
  return false;
604
  }
605
 
606
- $result = json_decode( $result );
607
- $result = obj_to_arr_deep( $result );
608
-
609
  if ( ! empty( $result['success'] ) ) {
610
  $this->recaptcha_verified = true;
 
 
611
  return true;
612
  }
 
613
  $this->recaptcha_verified = false;
614
 
615
  if ( ! empty( $result['error-codes'] ) ) {
616
  if ( in_array( 'invalid-input-secret', (array) $result['error-codes'] ) ) {
617
- cerber_log( 41 );
 
618
  }
619
  }
620
 
621
- $this->reCaptchaFailed($form);
622
 
623
  return false;
624
  }
625
 
626
- final function reCaptchaFailed($context = '') {
627
- cerber_log( 40 );
628
- if ($this->options['recaptcha-period'] && $this->options['recaptcha-number'] && $this->options['recaptcha-within']) {
629
- $remain = cerber_get_remain_count($this->remote_ip , true, array( 40 ), $this->options['recaptcha-number'], $this->options['recaptcha-within']);
630
- if ($remain < 1) cerber_block_add( $this->remote_ip, 705 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
631
  }
 
632
  }
633
 
634
  /**
@@ -648,47 +696,57 @@ class WP_Cerber {
648
  *
649
  * @param string $response Google specific field from the submitted form (widget)
650
  *
651
- * @return bool|string Response of the Google service or false on failure
652
  */
653
- final public function reCaptchaRequest($response = ''){
654
 
655
- if (!$response) {
656
- if (!empty($_POST['g-recaptcha-response'])) $response = $_POST['g-recaptcha-response'];
657
- else return false;
 
658
  }
659
 
660
  $curl = @curl_init(); // @since 4.32
661
- if (!$curl) {
662
- cerber_admin_notice(__( 'ERROR:', 'wp-cerber' ) .' Unable to initialize cURL');
 
663
  return false;
664
  }
665
 
666
- $opt = curl_setopt_array($curl, array(
667
- CURLOPT_URL => GOO_RECAPTCHA_URL,
668
- CURLOPT_POST => true,
669
- CURLOPT_POSTFIELDS => array( 'secret' => $this->options['secretkey'], 'response' => $response ),
670
  CURLOPT_RETURNTRANSFER => true,
671
- ));
 
 
 
 
672
 
673
- if (!$opt) {
674
- cerber_admin_notice(__( 'ERROR:', 'wp-cerber' ) .' '. curl_error($curl));
675
- curl_close($curl);
676
  return false;
677
  }
678
 
679
- $result = @curl_exec($curl);
680
- if (!$result) {
681
- cerber_admin_notice(__( 'ERROR:', 'wp-cerber' ) .' '. curl_error($curl));
682
  $result = false;
683
  }
684
- curl_close($curl);
685
 
686
- return $result;
 
687
 
688
  }
689
 
690
- final public function reCaptchaMsg($context = null){
691
- return apply_filters( 'cerber_msg_recaptcha', __( 'Human verification failed. Please click the square box in the reCAPTCHA block below.', 'wp-cerber' ), $context);
 
 
 
 
 
 
 
692
  }
693
 
694
  final public function setLocked() {
@@ -757,8 +815,7 @@ function cerber_init() {
757
  load_plugin_textdomain( 'wp-cerber', false, 'wp-cerber/languages' );
758
  }
759
 
760
- global $wp_cerber;
761
- $wp_cerber = get_wp_cerber();
762
 
763
  cerber_beast();
764
 
@@ -781,25 +838,28 @@ function cerber_init() {
781
  }
782
  }
783
 
 
 
 
 
784
  $done = true;
785
  }
786
 
787
  /**
788
  * Returns correct WP_Cerber object
789
- * Protects and sets global $wp_cerber to the proper object
790
  *
791
  * @return WP_Cerber
792
  * @since 6.0
793
  */
794
  function get_wp_cerber(){
795
- global $wp_cerber;
796
  static $the_wp_cerber = null;
797
 
798
  if ( ! isset( $the_wp_cerber ) ) {
799
  $the_wp_cerber = new WP_Cerber();
800
  }
801
 
802
- $wp_cerber = $the_wp_cerber;
803
 
804
  return $the_wp_cerber;
805
  }
@@ -859,23 +919,22 @@ function cerber_load_wp_constants() {
859
  *
860
  */
861
  function cerber_extra_vision() {
862
- global $cerber_logged, $cerber_act_status;
863
 
864
  // Multiple different malicious activities
865
 
866
- if ( empty( $cerber_logged ) ) {
867
  return false;
868
  }
869
 
870
  $ip = cerber_get_remote_ip();
871
 
872
  $black = crb_get_activity_set( 'black' );
873
- $black_logged = array_intersect( $black, $cerber_logged );
874
  if ( ! empty( $black_logged ) && cerber_is_ip_allowed() ) {
875
  $remain = cerber_get_remain_count( $ip, true, $black ); // @since 6.7.5
876
  if ( $remain < 1 ) {
877
  cerber_soft_block_add( $ip, 707 );
878
- $cerber_act_status = 18;
879
 
880
  return true;
881
  }
@@ -884,7 +943,7 @@ function cerber_extra_vision() {
884
  $remain = cerber_get_remain_count( $ip, true, array( 400 ), 10, 30 );
885
  if ( $remain < 1 ) {
886
  cerber_block_add( $ip, 721 );
887
- $cerber_act_status = 18;
888
 
889
  return true;
890
  }
@@ -1002,27 +1061,28 @@ add_filter( 'authenticate', function ( $user, $username, $password ) {
1002
  * @return WP_User|WP_Error
1003
  */
1004
  function cerber_authenticate( $user, $username, $password = '' ) {
1005
- global $wp_cerber;
1006
 
1007
  if ( $username
1008
  && ( crb_get_settings( 'loginnowp' ) == 2 )
1009
  && ! crb_acl_is_white()
1010
  && CRB_Request::is_script( '/' . WP_LOGIN_SCRIPT ) ) {
1011
 
1012
- return crb_login_error( $username, CRB_EV_LFL, 50 );
1013
  }
1014
 
1015
  // reCAPTCHA
1016
  if ( ! cerber_is_api_request()
1017
  && ! get_wp_cerber()->reCaptchaValidate() ) {
1018
 
 
 
1019
  return new WP_Error( 'incorrect_recaptcha',
1020
  '<strong>' . __( 'ERROR:', 'wp-cerber' ) . ' </strong>' .
1021
- $wp_cerber->reCaptchaMsg( 'login' ) );
1022
  }
1023
 
1024
  // Prohibited usernames
1025
- if ( $username && cerber_is_prohibited( $username ) ) {
1026
  $ret = crb_login_error( $username, 52 );
1027
  cerber_block_add( null, 704, $username );
1028
 
@@ -1034,15 +1094,21 @@ function cerber_authenticate( $user, $username, $password = '' ) {
1034
 
1035
  // Application passwords
1036
  $app_checked = false;
 
1037
  if ( ! ( $user instanceof WP_User )
1038
  && function_exists( 'wp_authenticate_application_password' ) ) {
1039
  $app_checked = true;
1040
  $user = wp_authenticate_application_password( $user, $username, $password );
1041
  if ( $user instanceof WP_User ) {
1042
- $user = cerber_restrict_auth( $user, $password, true ); // Specifically for application passwords since they doesn't invoke the 'wp_authenticate_user' hook
1043
  }
1044
  }
1045
 
 
 
 
 
 
1046
  // Authentication failed or denied by cerber_restrict_auth()
1047
  if ( ! ( $user instanceof WP_User ) || ! $user->ID ) {
1048
 
@@ -1083,7 +1149,7 @@ function cerber_authenticate( $user, $username, $password = '' ) {
1083
  }
1084
 
1085
  if ( $deny ) {
1086
- cerber_log( 152, $username, 0, 25 );
1087
  status_header( 403 );
1088
 
1089
  return new WP_Error( 'app_password_denied', 'Authentication failed' );
@@ -1094,13 +1160,13 @@ function cerber_authenticate( $user, $username, $password = '' ) {
1094
  if ( crb_get_settings( 'ds_4acc' ) && CRB_DS::is_ready( 1 ) ) {
1095
 
1096
  if ( ! CRB_DS::is_user_valid( $user->ID ) ) {
1097
- return crb_login_error( $username, CRB_EV_LFL, 35 );
1098
  }
1099
 
1100
  if ( ! $app_checked ) {
1101
  $pwd = CRB_DS::get_user_pass( $user->ID );
1102
  if ( ! $pwd || ( $password && ! wp_check_password( $password, $pwd, $user->ID ) ) ) {
1103
- return crb_login_error( $username, CRB_EV_LFL, 36 );
1104
  }
1105
  }
1106
  }
@@ -1115,6 +1181,8 @@ function cerber_authenticate( $user, $username, $password = '' ) {
1115
  }
1116
  }
1117
 
 
 
1118
  return $user;
1119
  }
1120
 
@@ -1129,24 +1197,17 @@ function cerber_is_app_passwords( $var, $user ) {
1129
  return $var;
1130
  }
1131
 
1132
- /*
1133
- The hook is invoking in wp_authenticate_username_password() and wp_authenticate_email_password()
1134
- */
1135
- add_filter( 'wp_authenticate_user', 'cerber_restrict_auth', PHP_INT_MAX, 2 );
1136
  /**
1137
- * Stops (restrict) authentication of a user once the user identified (existing users)
1138
- * TODO: split into two functions (local checks and cerberlab checks) and use them in cerber_authenticate() instead of using filter 'wp_authenticate_user'
1139
  *
1140
- * @param WP_User|WP_Error $user
1141
- * @param string $password
1142
  * @param bool $app If true the user is authenticated with an application password
1143
  *
1144
  * @return WP_User|WP_Error
1145
  */
1146
- function cerber_restrict_auth( $user, $password = '', $app = false ) {
1147
- global $cerber_act_status;
1148
 
1149
- if ( is_wp_error( $user ) ) {
1150
  return $user;
1151
  }
1152
 
@@ -1155,26 +1216,26 @@ function cerber_restrict_auth( $user, $password = '', $app = false ) {
1155
 
1156
  if ( $b = crb_is_user_blocked( $user->ID ) ) {
1157
  $user_msg = $b['blocked_msg'];
1158
- $cerber_act_status = 25;
1159
  $deny = true;
1160
  }
1161
  elseif ( ! $app && ( $b = crb_check_user_limits( $user->ID ) ) ) {
1162
  $user_msg = $b;
1163
- $cerber_act_status = 38;
1164
  $deny = true;
1165
  }
1166
- elseif ( crb_acl_is_white() ) {
1167
  $deny = false;
1168
  }
1169
- elseif ( ! cerber_is_ip_allowed() ) {
1170
  $deny = true;
1171
  }
1172
  elseif ( ! cerber_geo_allowed( 'geo_login', $user ) ) {
1173
- $cerber_act_status = 16;
1174
  $deny = true;
1175
  }
1176
  elseif ( lab_is_blocked( cerber_get_remote_ip() ) ) {
1177
- $cerber_act_status = 15;
1178
  $deny = true;
1179
  }
1180
 
@@ -1202,9 +1263,9 @@ function cerber_restrict_auth( $user, $password = '', $app = false ) {
1202
  * @return WP_Error
1203
  */
1204
  function crb_login_error( $username = '', $act = null, $status = null ) {
1205
- global $cerber_act_status;
1206
 
1207
- $cerber_act_status = $status;
 
1208
  if ( $act ) {
1209
  cerber_log( $act, $username );
1210
  }
@@ -1244,8 +1305,8 @@ add_action( 'wp_login', function ( $login, $user ) {
1244
  * @param $user WP_User
1245
  */
1246
  function cerber_user_login( $login, $user ) {
1247
- global $wp_cerber_user_id;
1248
- $wp_cerber_user_id = $user->ID;
1249
 
1250
  if ( ! empty( $_POST['log'] ) && ! empty( $_POST['pwd'] ) ) { // default WP login form
1251
  $user_login = htmlspecialchars( $_POST['log'] );
@@ -1313,7 +1374,7 @@ function cerber_login_history( $user_id, $reset = false ) {
1313
  *
1314
  */
1315
  function cerber_login_failed( $user_login ) {
1316
- global $cerber_act_status;
1317
  static $is_processed = false;
1318
 
1319
  if ( $is_processed ) {
@@ -1327,7 +1388,7 @@ function cerber_login_failed( $user_login ) {
1327
 
1328
  $no_user = ! cerber_get_user( $user_login );
1329
 
1330
- $act = 7; // Generic login failed (interactive), the default
1331
 
1332
  if ( cerber_is_api_request() ) {
1333
  $act = 152;
@@ -1339,9 +1400,9 @@ function cerber_login_failed( $user_login ) {
1339
  if ( $no_user ) {
1340
  $act = 51;
1341
  }
1342
- elseif ( in_array( $cerber_act_status, array( 15, 16, 25, 38 ) )
1343
  || ! cerber_is_ip_allowed( $ip ) ) {
1344
- $act = CRB_EV_LFL;
1345
  }
1346
  }
1347
 
@@ -1369,7 +1430,7 @@ function cerber_login_failed( $user_login ) {
1369
  && ( $per = crb_get_settings( 'ciperiod' ) )
1370
  && ! cerber_is_citadel() ) {
1371
  $range = time() - $per * 60;
1372
- $lockouts = cerber_db_get_var( 'SELECT count(ip) FROM ' . CERBER_LOG_TABLE . ' WHERE activity = 7 AND stamp > ' . $range );
1373
  if ( $lockouts >= crb_get_settings( 'cilimit' ) ) {
1374
  cerber_enable_citadel();
1375
  }
@@ -1393,11 +1454,50 @@ add_action( 'added_user_meta', function ( $meta_id, $user_id, $meta_key, $_meta_
1393
  }
1394
  }, 10, 4 );
1395
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1396
  // do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
1397
  add_action( 'updated_user_meta', function ( $meta_id, $user_id, $meta_key, $_meta_value ) {
 
1398
  if ( $meta_key === 'session_tokens' ) {
1399
  crb_sessions_update_user_data( $user_id, $_meta_value );
 
 
 
 
1400
  }
 
1401
  }, 10, 4 );
1402
 
1403
  // do_action( "deleted_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
@@ -1406,6 +1506,8 @@ add_action( 'deleted_user_meta', function ( $meta_ids, $user_id, $meta_key, $_me
1406
  $query = 'DELETE FROM ' . cerber_get_db_prefix() . CERBER_USS_TABLE;
1407
  if ( $user_id ) {
1408
  $query .= ' WHERE user_id = ' . $user_id;
 
 
1409
  }
1410
  cerber_db_query( $query );
1411
  }
@@ -1512,11 +1614,11 @@ function crb_sessions_get_num( $user_id = null ) {
1512
  }
1513
 
1514
  /**
1515
- * Terminates specified user sessions updating user meta directly in the DB
1516
  *
1517
  * @param array|string $tokens Session tokens to kill
1518
  * @param int $user_id Users the sessions to kill belongs to
1519
- * @param bool $admin if true, it is executing in the WP dashboard
1520
  *
1521
  * @return int
1522
  */
@@ -1694,7 +1796,7 @@ if ( crb_get_settings( 'loginpath' ) ) {
1694
  if ( crb_get_settings( 'nopasshint' ) && ! crb_acl_is_white() ) {
1695
 
1696
  add_filter( 'lostpassword_errors', function ( $errors, $user_data ) {
1697
- if ( $user_data ) {
1698
  return $errors;
1699
  }
1700
 
@@ -1760,8 +1862,9 @@ function crb_redirect_by_policy( $user, $policy ) {
1760
  }
1761
 
1762
  function cerber_user_logout( $status = null ) {
1763
- global $cerber_act_status, $current_user, $userdata, $user_ID;
1764
- $cerber_act_status = ( ! $status ) ? 26 : absint( $status );
 
1765
 
1766
  if ( $current_user instanceof WP_User ) {
1767
  $uid = $current_user->ID;
@@ -1782,46 +1885,43 @@ function cerber_user_logout( $status = null ) {
1782
  // Registration -----------------------------------------------------------------------
1783
 
1784
  function cerber_is_registration_prohibited( $user_login, $user_email = '' ) {
1785
- global $wp_cerber, $cerber_act_status;
1786
 
1787
  $code = null;
1788
  $msg = '';
1789
  $ret_msg = '';
 
1790
 
1791
  if ( crb_get_settings( 'regwhite' )
1792
  && ! crb_acl_is_white()
1793
  && lab_lab() ) {
1794
- $cerber_act_status = 37;
1795
- cerber_log( 54 );
1796
  $code = 'ip_denied';
1797
  if ( ! $ret_msg = crb_get_settings( 'regwhite_msg' ) ) {
1798
  $msg = __( 'You are not allowed to register.', 'wp-cerber' );
1799
  }
1800
  }
1801
  elseif ( crb_is_reg_limit_reached() ) {
1802
- $cerber_act_status = 17;
1803
- cerber_log( 54 );
1804
  $code = 'ip_denied';
1805
  $msg = apply_filters( 'cerber_msg_denied', __( 'You are not allowed to register.', 'wp-cerber' ), 'register' );
1806
  }
1807
  elseif ( cerber_is_bot( 'botsreg' ) ) {
1808
- cerber_log( 54 ); // TODO should be separate code to detect bot activity?
1809
  $code = 'bot_detected';
1810
  $msg = apply_filters( 'cerber_msg_denied', __( 'You are not allowed to register.', 'wp-cerber' ), 'register' );
1811
  }
1812
  elseif ( ! $wp_cerber->reCaptchaValidate() ) {
 
1813
  $code = 'incorrect_recaptcha';
1814
  $msg = $wp_cerber->reCaptchaMsg( 'register' );
1815
  }
1816
- elseif ( cerber_is_prohibited( $user_login ) ) {
1817
- $cerber_act_status = 30;
1818
- cerber_log( 54 );
1819
  $code = 'prohibited_login';
1820
  $msg = apply_filters( 'cerber_msg_prohibited', __( 'Username is not allowed. Please choose another one.', 'wp-cerber' ), 'register' );
1821
  }
1822
  elseif ( ! cerber_is_email_permited( $user_email ) ) {
1823
- $cerber_act_status = 31;
1824
- cerber_log( 54 );
1825
  $code = 'prohibited_email';
1826
  $msg = apply_filters( 'cerber_msg_prohibited_email', __( 'Email address is not permitted.', 'wp-cerber' ) . ' ' . __( 'Please choose another one.', 'wp-cerber' ), 'register' );
1827
  }
@@ -1831,8 +1931,7 @@ function cerber_is_registration_prohibited( $user_login, $user_email = '' ) {
1831
  $msg = apply_filters( 'cerber_msg_denied', __( 'You are not allowed to register.', 'wp-cerber' ), 'register' );
1832
  }
1833
  elseif ( ! cerber_geo_allowed( 'geo_register' ) ) {
1834
- $cerber_act_status = 16; // TODO: refactor cerber_log, include this status as a second parameter
1835
- cerber_log( 54 );
1836
  $code = 'country_denied';
1837
  $msg = apply_filters( 'cerber_msg_denied', __( 'You are not allowed to register.', 'wp-cerber' ), 'register' );
1838
  }
@@ -1947,16 +2046,26 @@ add_filter( 'registration_errors', function ( $errors, $sanitized_user_login, $u
1947
  *
1948
  * @since 8.6.3.3
1949
  */
1950
- add_filter( 'wp_pre_insert_user_data', function ( $data, $update ) {
1951
- if ( $update || is_admin() ) {
1952
  return $data;
1953
- }
1954
 
1955
- $user_login = crb_array_get( $data, 'user_login' );
1956
- $user_email = crb_array_get( $data, 'user_email' );
1957
 
1958
- if ( cerber_is_registration_prohibited( $user_login, $user_email ) ) {
1959
- return null;
 
 
 
 
 
 
 
 
 
 
 
1960
  }
1961
 
1962
  return $data;
@@ -1997,37 +2106,6 @@ add_filter( 'option_users_can_register', function ( $value ) {
1997
  return $value;
1998
  }, PHP_INT_MAX );
1999
 
2000
- // Lost password form --------------------------------------------------------------------
2001
-
2002
- /**
2003
- * Validate reCAPTCHA for the WordPress lost password form
2004
- */
2005
- add_action( 'login_form_' . 'lostpassword', 'cerber_lost_captcha' );
2006
- function cerber_lost_captcha() {
2007
- global $wp_cerber, $cerber_lost;
2008
- if ( ! $wp_cerber->reCaptchaValidate() ) {
2009
- $_POST['user_login'] = null; // workaround due to lack of any way to control lost password form
2010
- $cerber_lost = '<strong>' . __( 'ERROR:', 'wp-cerber' ) . ' </strong>' . $wp_cerber->reCaptchaMsg('lostpassword');
2011
- }
2012
- }
2013
- /**
2014
- * Display message on the WordPress lost password form screen
2015
- */
2016
- add_action( 'lostpassword_form', 'cerber_lost_show_msg' );
2017
- function cerber_lost_show_msg() {
2018
- global $cerber_lost;
2019
- if ( ! $cerber_lost ) {
2020
- return;
2021
- }
2022
- ?>
2023
- <script type="text/javascript">
2024
- //document.getElementById('login_error').style.visibility = "hidden";
2025
- document.getElementById('login_error').innerHTML = "<?php echo $cerber_lost; ?>";
2026
- </script>
2027
- <?php
2028
- }
2029
-
2030
-
2031
  // Comments (commenting) section ----------------------------------------------------------
2032
 
2033
  if ( cerber_is_custom_comment() ) {
@@ -2083,7 +2161,6 @@ add_filter( 'pre_comment_approved', function ( $approved, $commentdata ) {
2083
  *
2084
  */
2085
  add_action( 'pre_comment_on_post', function ( $comment_post_ID ) {
2086
- global $cerber_act_status;
2087
 
2088
  $deny = false;
2089
 
@@ -2091,7 +2168,7 @@ add_action( 'pre_comment_on_post', function ( $comment_post_ID ) {
2091
  $deny = true;
2092
  }
2093
  elseif ( ! cerber_geo_allowed( 'geo_comment' ) ) {
2094
- $cerber_act_status = 16;
2095
  cerber_log(19);
2096
  $deny = true;
2097
  }
@@ -2115,14 +2192,13 @@ add_action( 'pre_comment_on_post', function ( $comment_post_ID ) {
2115
  *
2116
  */
2117
  add_filter( 'rest_allow_anonymous_comments', function ( $allowed, $request ) {
2118
- global $cerber_act_status;
2119
 
2120
  if ( ! cerber_is_ip_allowed() ) {
2121
  $allowed = false;
2122
  }
2123
  if ( ! cerber_geo_allowed( 'geo_comment' ) ) {
2124
  cerber_log(19);
2125
- $cerber_act_status = 16;
2126
  $allowed = false;
2127
  }
2128
  elseif ( lab_is_blocked( cerber_get_remote_ip() ) ) {
@@ -2138,7 +2214,6 @@ add_filter( 'rest_allow_anonymous_comments', function ( $allowed, $request ) {
2138
  * @return bool
2139
  */
2140
  function cerber_is_comment_allowed(){
2141
- global $wp_cerber;
2142
 
2143
  if ( is_admin() ) {
2144
  return true;
@@ -2154,7 +2229,7 @@ function cerber_is_comment_allowed(){
2154
  $deny = 16;
2155
  $remain = cerber_get_remain_count( null, true, array( 16 ), 3, 60 );
2156
  }
2157
- elseif ( ! $wp_cerber->reCaptchaValidate( 'comment' , true ) ) {
2158
  $deny = 16;
2159
  }
2160
  elseif ( lab_is_blocked( cerber_get_remote_ip() ) ) {
@@ -2182,7 +2257,7 @@ function cerber_is_comment_allowed(){
2182
  *
2183
  */
2184
  add_filter( 'comment_form_submit_field', function ( $value ) {
2185
- global $wp_cerber, $post;
2186
 
2187
  if ( cerber_get_cookie( 'cerber_post_id' ) == $post->ID ) {
2188
  //echo '<div id="cerber-recaptcha-msg">' . __( 'ERROR:', 'wp-cerber' ) . ' ' . $wp_cerber->reCaptchaMsg( 'comment' ) . '</div>';
@@ -2191,9 +2266,8 @@ add_filter( 'comment_form_submit_field', function ( $value ) {
2191
  echo '<script type="text/javascript">document.cookie = "' . $p . 'cerber_post_id=0;path=/";</script>';
2192
  }
2193
 
2194
- $au = $wp_cerber->getSettings( 'recapcomauth' );
2195
- if ( ! $au || ( $au && ! is_user_logged_in() ) ) {
2196
- $wp_cerber->reCaptcha( 'widget', 'recapcom' );
2197
  }
2198
 
2199
  if ( cerber_is_custom_comment() ) {
@@ -2298,9 +2372,10 @@ function cerber_login_redirect( $location, $status ) {
2298
  return $location;
2299
  }
2300
 
2301
- // Access control ========================================================================================
2302
-
2303
  add_action( 'init', function () {
 
 
 
2304
  if ( crb_get_settings( 'adminphp' ) ) {
2305
  if ( defined( 'CONCATENATE_SCRIPTS' ) ) {
2306
  cerber_add_issue( 'conscripts', 'The PHP constant CONCATENATE_SCRIPTS is already defined somewhere else', 'adminphp' );
@@ -2338,13 +2413,13 @@ if ( ( defined( 'CERBER_OLD_LP' ) && CERBER_OLD_LP )
2338
  *
2339
  */
2340
  function cerber_access_control() {
2341
- global $wp_cerber, $cerber_act_status, $cerber_req_status;
2342
 
2343
  if ( crb_acl_is_white() ) {
2344
  return;
2345
  }
2346
 
2347
  $wp_cerber = get_wp_cerber();
 
2348
  if ( $wp_cerber->isURIProhibited() ) {
2349
  cerber_404_page();
2350
  }
@@ -2364,11 +2439,11 @@ function cerber_access_control() {
2364
 
2365
  if ( $rest_allowed && ! cerber_geo_allowed( 'geo_restapi' ) ) {
2366
  $rest_allowed = false;
2367
- $cerber_act_status = 16;
2368
  }
2369
 
2370
  if ( ! $rest_allowed ) {
2371
- $cerber_req_status = 0;
2372
  cerber_block_rest_api();
2373
  }
2374
  }
@@ -2429,9 +2504,9 @@ function cerber_auth_access() {
2429
  *
2430
  */
2431
  function cerber_post_control() {
2432
- global $cerber_act_status;
2433
 
2434
- if ( ! cerber_is_http_post() || crb_acl_is_white() ) {
 
2435
  return;
2436
  }
2437
 
@@ -2457,14 +2532,14 @@ function cerber_post_control() {
2457
  $deny = true;
2458
  cerber_log( 17 );
2459
  }
2460
- elseif ( ! cerber_geo_allowed( 'geo_submit' ) ) {
2461
- $deny = true;
2462
- $cerber_act_status = 16; // TODO: refactor cerber_log, include this status as a second parameter
2463
  cerber_log( 18 );
2464
  }
2465
- elseif ( lab_is_blocked( null, true ) ) {
2466
- $deny = true;
2467
- $cerber_act_status = 18;
2468
  cerber_log( 18 );
2469
  }
2470
 
@@ -2665,11 +2740,7 @@ function cerber_block_rest_api() {
2665
  // OLD WP
2666
  add_filter( 'json_enabled', '__return_false' );
2667
  add_filter( 'json_jsonp_enabled', '__return_false' );
2668
- // WP 4.4, deprecated since 4.7
2669
- if ( version_compare( cerber_get_wp_version(), '4.7', '<' ) ) {
2670
- add_filter( 'rest_enabled', '__return_false', 9999 );
2671
- }
2672
- // WP 4.7
2673
  add_filter( 'rest_jsonp_enabled', '__return_false' );
2674
  // Links
2675
  remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
@@ -2773,17 +2844,17 @@ function cerber_can_msg() {
2773
 
2774
 
2775
  // Cookies ---------------------------------------------------------------------------------
2776
- /*
2777
- Mark user with Cerber Groove
2778
- @since 1.3
2779
- */
2780
  add_action( 'auth_cookie_valid', 'cerber_cookie_one', 10, 2 );
2781
  function cerber_cookie_one( $cookie_elements = null, $user = null ) {
2782
  if ( ! $user ) {
2783
  $user = wp_get_current_user();
2784
  }
 
 
 
2785
  // Mark user with Cerber Groove
2786
- // TODO: remove filter, add IP address and user agent
2787
  $expire = time() + apply_filters( 'auth_cookie_expiration', 14 * 24 * 3600, $user->ID, true ) + ( 24 * 3600 );
2788
  cerber_set_groove( $expire );
2789
  }
@@ -2798,22 +2869,39 @@ function cerber_cookie2( $logged_in_cookie, $expire, $expiration, $user_id, $log
2798
  }
2799
 
2800
  /*
2801
- Track BAD cookies with non-existing users or bad passwords (hash)
2802
  */
2803
  add_action( 'auth_cookie_bad_username', 'cerber_cookie_bad' );
2804
  add_action( 'auth_cookie_bad_hash', 'cerber_cookie_bad' );
 
2805
  function cerber_cookie_bad( $cookie_elements ) {
2806
- global $cerber_act_status;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2807
 
2808
  if ( ! headers_sent() ) {
2809
  wp_clear_auth_cookie();
2810
- $cerber_act_status = 40;
2811
  }
2812
  else {
2813
- $cerber_act_status = 39;
2814
  }
2815
 
2816
- cerber_login_failed( $cookie_elements['username'] );
2817
  }
2818
 
2819
  /**
@@ -2825,6 +2913,10 @@ function cerber_cookie_bad( $cookie_elements ) {
2825
  */
2826
  function cerber_antibot_enabled( $location ) {
2827
 
 
 
 
 
2828
  if ( crb_get_settings( 'botsnoauth' ) && is_user_logged_in() ) {
2829
  return false;
2830
  }
@@ -2970,7 +3062,7 @@ function cerber_antibot_gene( $recreate = false ) {
2970
  * @return bool
2971
  */
2972
  function cerber_is_bot( $location = '' ) {
2973
- global $cerber_act_status, $cerber_req_status;
2974
  static $ret = null;
2975
 
2976
  $remote_ip = cerber_get_remote_ip();
@@ -3025,7 +3117,7 @@ function cerber_is_bot( $location = '' ) {
3025
  if ( $item[0] == '{' && substr( $item, - 1 ) == '}' ) {
3026
  $pattern = '/' . substr( $item, 1, - 1 ) . '/i';
3027
  if ( @preg_match( $pattern, $uri ) ) {
3028
- $cerber_req_status = 502;
3029
  $ret = false;
3030
 
3031
  return $ret;
@@ -3034,7 +3126,7 @@ function cerber_is_bot( $location = '' ) {
3034
  else {
3035
  $cmp = ( substr( $item, - 1 ) == '/' ) ? $uri_slash : $uri; // @since 8.8 Someone may specify trailing slash
3036
  if ( false !== strpos( $cmp, $item ) ) {
3037
- $cerber_req_status = 502;
3038
  $ret = false;
3039
 
3040
  return $ret;
@@ -3070,7 +3162,7 @@ function cerber_is_bot( $location = '' ) {
3070
  }
3071
 
3072
  if ( $ret ) {
3073
- $cerber_act_status = 11;
3074
  lab_save_push( $remote_ip, 333 );
3075
  }
3076
  }
@@ -3196,32 +3288,142 @@ add_filter( 'auth_cookie_expiration', function ( $expire, $user_id ) {
3196
 
3197
  // add_action( 'wp_logout', function(){});
3198
  add_action( 'clear_auth_cookie', function () {
3199
- global $wp_cerber_user_id;
3200
  $uid = get_current_user_id();
3201
  if ( $uid ) {
3202
- $wp_cerber_user_id = $uid;
3203
- cerber_log( 6, '', $uid );
3204
  CRB_2FA::delete_2fa( $uid );
3205
  }
 
3206
  cerber_set_cookie( 'cerber_nexus_id', 0, time(), '/' );
3207
  } );
3208
 
3209
- // add_action( 'lostpassword_post', 'cerber_password_post' );
3210
- add_action( 'retrieve_password', function ( $user_login ) {
3211
- cerber_log( 21, $user_login );
3212
- } );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3213
 
3214
  add_action( 'password_reset', 'crb_pass_reset' );
3215
  add_action( 'crb_after_reset', 'crb_pass_reset', 10, 2);
3216
 
3217
  function crb_pass_reset( $user, $user_id = null) {
 
3218
  if ( ! $user && $user_id ) {
3219
  $user = get_user_by( 'id', $user_id );
3220
  }
 
3221
  if ( ! $user ) {
3222
  return;
3223
  }
 
3224
  cerber_log( 20, $user->user_login, $user->ID );
 
 
 
 
3225
  }
3226
 
3227
  // Fires in wp_insert_user()
@@ -3312,7 +3514,6 @@ function cerber_soft_block_add( $ip, $reason_id, $details = '', $duration = null
3312
  * @return bool|false|int
3313
  */
3314
  function cerber_block_add( $ip_address = '', $reason_id = 1, $details = '', $duration = null ) {
3315
- global $cerber_blocked;
3316
 
3317
  if ( cerber_is_cloud_request() ) {
3318
  return false;
@@ -3374,7 +3575,7 @@ function cerber_block_add( $ip_address = '', $reason_id = 1, $details = '', $dur
3374
 
3375
  if ( $result ) {
3376
  $result = true;
3377
- $cerber_blocked = $reason_id;
3378
  cerber_log( $activity, null, null, 0, $ip_address );
3379
  $wp_cerber->setLocked();
3380
  crb_event_handler( 'ip_event', array(
@@ -3519,7 +3720,7 @@ function cerber_calc_duration( $ip ) {
3519
  *
3520
  * @return int Allowed attempts for present moment
3521
  */
3522
- function cerber_get_remain_count( $ip = '', $check_acl = true, $activity = array( 7, 152, 51, 52 ), $allowed = null, $period = null ) {
3523
 
3524
  if ( ! $ip ) {
3525
  $ip = cerber_get_remote_ip();
@@ -3567,7 +3768,6 @@ function cerber_get_remain_count( $ip = '', $check_acl = true, $activity = array
3567
  * @return bool
3568
  */
3569
  function cerber_is_ip_allowed( $ip = '', $context = null ) {
3570
- global $cerber_act_status;
3571
 
3572
  if ( ! $ip ) {
3573
  $ip = cerber_get_remote_ip();
@@ -3581,24 +3781,24 @@ function cerber_is_ip_allowed( $ip = '', $context = null ) {
3581
  return true;
3582
  }
3583
  if ( $tag == 'B' ) {
3584
- $cerber_act_status = 14;
3585
  return false;
3586
  }
3587
 
3588
  if ( $b = cerber_get_block( $ip ) ) {
3589
  if ( ! in_array( $b->reason_id, crb_context_get_allowed( $context ) ) ) {
3590
- $cerber_act_status = 13;
3591
  return false;
3592
  }
3593
  }
3594
 
3595
  if ( $context != CRB_CNTX_NEXUS && cerber_is_citadel() ) {
3596
- $cerber_act_status = 19;
3597
  return false;
3598
  }
3599
 
3600
  if ( lab_is_blocked( $ip, false ) ) {
3601
- $cerber_act_status = 15;
3602
  return false;
3603
  }
3604
 
@@ -3627,7 +3827,7 @@ function crb_context_get_allowed( $context_id ) {
3627
  *
3628
  * @return bool true if username is prohibited
3629
  */
3630
- function cerber_is_prohibited( $username ) {
3631
  if ( ! $username ) {
3632
  return false;
3633
  }
@@ -3653,10 +3853,9 @@ function cerber_is_prohibited( $username ) {
3653
 
3654
  // TODO: Merge with $wp_cerber->getStatus();
3655
  function cerber_get_status( $ip, $activity = null ) {
3656
- global $cerber_act_status;
3657
 
3658
- if ( ! empty( $cerber_act_status ) ) {
3659
- return absint( $cerber_act_status );
3660
  }
3661
 
3662
  if ( cerber_block_check( $ip ) ) {
@@ -3665,7 +3864,7 @@ function cerber_get_status( $ip, $activity = null ) {
3665
 
3666
  if ( $tag = cerber_acl_check( $ip ) ) {
3667
  if ( $tag == 'W' ) {
3668
- if ( in_array( $activity, array( 1, 2, 5, 20, 21 ) ) ) {
3669
  return 500;
3670
  }
3671
  if ( in_array( $activity, array( 72, 73, 75, 76 ) ) ) {
@@ -4331,11 +4530,13 @@ function crb_summ_hex( $hex1, $hex2) {
4331
  Check for given IP address or subnet belong to this session.
4332
  */
4333
  function cerber_is_myip( $ip ) {
4334
- global $wp_cerber;
4335
  if ( ! is_string( $ip ) ) {
4336
  return false;
4337
  }
 
4338
  $remote_ip = cerber_get_remote_ip();
 
4339
  if ( $ip == $remote_ip ) {
4340
  return true;
4341
  }
@@ -4582,11 +4783,11 @@ function cerber_send_email( $type = '', $msg = '', $ip = '' ) {
4582
 
4583
  switch ( $type ) {
4584
  case 'citadel':
4585
- $max = cerber_db_get_var( 'SELECT MAX(stamp) FROM ' . CERBER_LOG_TABLE . ' WHERE activity = 7' );
4586
  if ( $max ) {
4587
  $last_date = cerber_date( $max, false );
4588
  //$last = $wpdb->get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity = 7' );
4589
- $last = cerber_db_get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity = 7', MYSQL_FETCH_OBJECT );
4590
  }
4591
 
4592
  if ( ! $last ) { // workaround for the empty log table
@@ -5266,25 +5467,34 @@ function cerber_bg_task_delete( $task_id ) {
5266
  * @param int $status
5267
  * @param null $ip IP Address
5268
  *
5269
- * @return false|int
5270
  * @since 3.0
5271
  */
5272
  function cerber_log( $activity, $login = '', $user_id = 0, $status = 0, $ip = null ) {
5273
- global $user_ID, $cerber_logged, $cerber_blocked;
5274
  static $logged = array();
5275
 
5276
  $wp_cerber = get_wp_cerber();
5277
 
5278
  $activity = absint( $activity );
5279
 
5280
- if ( isset( $logged[ $activity ] )
 
 
 
 
 
 
 
 
 
5281
  && ! defined( 'CRB_ALLOW_MULTIPLE' ) ) {
5282
  return false;
5283
  }
5284
 
5285
- $logged[ $activity ] = true;
5286
 
5287
- $cerber_logged[ $activity ] = $activity;
5288
 
5289
  //$wp_cerber->setProcessed();
5290
 
@@ -5302,12 +5512,6 @@ function cerber_log( $activity, $login = '', $user_id = 0, $status = 0, $ip = nu
5302
  $ip_long = 1;
5303
  }
5304
 
5305
- if ( empty( $user_id ) ) {
5306
- $user_id = ( $user_ID ) ? $user_ID : 0;
5307
- }
5308
-
5309
- $user_id = absint( $user_id );
5310
-
5311
  $stamp = microtime( true );
5312
 
5313
  $pos = strpos( $_SERVER['REQUEST_URI'], '?' );
@@ -5318,23 +5522,32 @@ function cerber_log( $activity, $login = '', $user_id = 0, $status = 0, $ip = nu
5318
  if ( $activity != 10 && $activity != 11 ) {
5319
  $status = cerber_get_status( $ip, $activity );
5320
  }
5321
- elseif ( $cerber_blocked ) {
5322
- $status = $cerber_blocked;
5323
  }
5324
  }
5325
 
5326
- $details = absint( $status ) . '|0|0|0|' . $url;
 
 
 
 
 
5327
 
5328
  $country = lab_get_country( $ip );
5329
 
5330
  $login = cerber_real_escape( $login );
5331
  $details = cerber_real_escape( $details );
5332
- $ret = cerber_db_query( 'INSERT INTO ' . CERBER_LOG_TABLE . ' (ip, ip_long, user_login, user_id, stamp, activity, session_id, country, details)
5333
- VALUES ("' . $ip . '",' . $ip_long . ',"' . $login . '",' . $user_id . ',"' . $stamp . '",' . $activity . ',"' . $wp_cerber->getRequestID() . '","' . $country . '","' . $details . '")' );
5334
 
5335
  if ( ! $ret ) {
5336
  cerber_watchdog();
 
5337
  }
 
 
 
5338
 
5339
  // Subscriptions - notifications for admin ---------------------------------------------------
5340
 
@@ -5441,7 +5654,7 @@ function cerber_log( $activity, $login = '', $user_id = 0, $status = 0, $ip = nu
5441
  }
5442
  }
5443
 
5444
- if ( in_array( $activity, array( 16, 17, 40, 50, CRB_EV_LFL, 55, 56, 71 ) ) ) {
5445
  lab_save_push( $ip, $activity );
5446
  }
5447
 
@@ -5667,7 +5880,7 @@ register_activation_hook( cerber_plugin_file(), function () {
5667
  cerber_stop_activating( '<h3>' . sprintf( __( 'WP Cerber requires PHP %s or higher. You are running %s.', 'wp-cerber' ), CERBER_REQ_PHP, phpversion() ) . '</h3>' );
5668
  }
5669
 
5670
- if ( version_compare( CERBER_REQ_WP, cerber_get_wp_version(), '>' ) ) {
5671
  cerber_stop_activating( '<h3>' . sprintf( __( 'WP Cerber requires WordPress %s or higher. You are running %s.', 'wp-cerber' ), CERBER_REQ_WP, cerber_get_wp_version() ) . '</h3>' );
5672
  }
5673
 
@@ -5794,45 +6007,51 @@ function cerber_finito() {
5794
  *
5795
  */
5796
  function cerber_upgrade_all( $force = false ) {
5797
- global $cerber_doing_upgrade;
5798
  $ver = get_site_option( '_cerber_up' );
5799
- if ( $force || ! $ver || $ver['v'] != CERBER_VER ) {
5800
 
5801
- $d = @ini_get( 'display_errors');
5802
- @ini_set( 'display_errors', 0 );
 
5803
 
5804
- @ignore_user_abort( true );
 
5805
 
5806
- crb_raise_limits();
5807
 
5808
- $cerber_doing_upgrade = true;
5809
- @define( 'CRB_DOING_UPGRADE', 1 );
5810
 
5811
- crb_clear_admin_msg();
5812
- cerber_create_db();
5813
- cerber_upgrade_db();
5814
- cerber_acl_fixer();
5815
- cerber_antibot_gene( true );
5816
- cerber_upgrade_settings();
5817
- cerber_htaccess_sync( 'main' );
5818
 
5819
- cerber_bg_task_add( 'cerber_upgrade_deferred' );
 
5820
 
5821
- update_site_option( '_cerber_up', array( 'v' => CERBER_VER, 't' => time() ) );
 
 
 
5822
 
5823
- cerber_push_the_news();
5824
- cerber_delete_expired_set( true );
5825
- CRB_Cache::reset();
5826
- if ( wp_next_scheduled( 'cerber_hourly' ) ) {
5827
- wp_clear_scheduled_hook( 'cerber_hourly' ); // not in use since v. 5.8.
5828
- }
5829
 
5830
- lab_get_key( true );
5831
- $cerber_doing_upgrade = false;
5832
- delete_site_transient( 'update_plugins' );
5833
 
5834
- @ini_set( 'display_errors', $d );
 
 
 
 
 
 
5835
  }
 
 
 
 
 
 
5836
  }
5837
 
5838
  /**
@@ -6038,7 +6257,7 @@ function cerber_create_db($recreate = true) {
6038
  /**
6039
  * Upgrade structure of existing DB tables
6040
  *
6041
- * @return array Errors occured during upgrading
6042
  *
6043
  * @since 3.0
6044
  */
@@ -6140,6 +6359,14 @@ function cerber_upgrade_db( $force = false ) {
6140
  ';
6141
  }
6142
 
 
 
 
 
 
 
 
 
6143
  if ( ! empty( $sql ) ) {
6144
  foreach ( $sql as $query ) {
6145
  $query = str_replace( '"', '\'', $query );
@@ -6149,8 +6376,8 @@ function cerber_upgrade_db( $force = false ) {
6149
 
6150
  cerber_acl_fixer();
6151
 
6152
- if ( $db_errors = cerber_db_get_errors( true ) ) {
6153
- cerber_db_error_log( $db_errors );
6154
  }
6155
 
6156
  return $db_errors;
@@ -6349,11 +6576,11 @@ function cerber_login_scripts() {
6349
  wp_enqueue_script( 'jquery' );
6350
  }
6351
  }
 
6352
  add_action( 'wp_enqueue_scripts', 'cerber_scripts' );
6353
  function cerber_scripts() {
6354
- global $wp_cerber;
6355
  if ( ( ( is_singular() || is_archive() ) && cerber_antibot_enabled( array( 'botscomm', 'botsany' ) ) )
6356
- || ( $wp_cerber->getSettings( 'sitekey' ) && $wp_cerber->getSettings( 'secretkey' ) )
6357
  ) {
6358
  wp_enqueue_script( 'jquery' );
6359
  }
@@ -6366,19 +6593,16 @@ function cerber_scripts() {
6366
  */
6367
  add_action( 'login_footer', 'cerber_login_register_stuff', 1000 );
6368
  function cerber_login_register_stuff() {
6369
- global $wp_cerber;
6370
 
6371
  cerber_antibot_code( array( 'botsreg', 'botsany' ) );
6372
 
6373
- if ( ! $wp_cerber->recaptcha_here ) {
6374
  return;
6375
  }
6376
 
6377
  // Universal JS
6378
 
6379
- $sitekey = $wp_cerber->getSettings('sitekey');
6380
-
6381
- if ( ! $wp_cerber->getSettings( 'invirecap' ) ) {
6382
  // Classic version (visible reCAPTCHA)
6383
  echo '<script src = https://www.google.com/recaptcha/api.js?hl=' . cerber_recaptcha_lang() . ' async defer></script>';
6384
  }
@@ -6405,7 +6629,7 @@ function cerber_login_register_stuff() {
6405
  'callback': function (g_recaptcha_response) {
6406
  HTMLFormElement.prototype.submit.call(form);
6407
  },
6408
- 'sitekey': '<?php echo $sitekey; ?>',
6409
  'size': 'invisible',
6410
  'badge': 'bottomright'
6411
  });
@@ -6427,13 +6651,12 @@ function cerber_login_register_stuff() {
6427
  */
6428
  add_action( 'wp_footer', 'cerber_wp_footer', PHP_INT_MAX );
6429
  function cerber_wp_footer() {
6430
- global $wp_cerber;
6431
 
6432
  if ( is_singular() || is_archive() ) {
6433
  cerber_antibot_code( array( 'botscomm', 'botsany' ) );
6434
  }
6435
 
6436
- if ( ! $wp_cerber->recaptcha_here ) {
6437
  return;
6438
  }
6439
 
@@ -6503,7 +6726,6 @@ register_shutdown_function( function () {
6503
  } );
6504
 
6505
  function cerber_error_shield( $mode = 1 ) {
6506
- global $cerber_act_status, $cerber_blocked;
6507
 
6508
  if ( ! $mode || ( crb_get_settings( 'tierrnoauth' ) && crb_is_user_logged_in() ) ) {
6509
  return;
@@ -6559,12 +6781,12 @@ function cerber_error_shield( $mode = 1 ) {
6559
  cerber_db_query( 'INSERT INTO ' . CERBER_QMEM_TABLE . ' (ip, http_code, stamp)
6560
  VALUES ("' . $ip . '",' . intval( http_response_code() ) . ',' . time() . ')' );
6561
 
6562
- if ( ! $cerber_blocked ) {
6563
  $t = time() - $time;
6564
  $c = cerber_db_get_var( 'SELECT COUNT(ip) FROM ' . CERBER_QMEM_TABLE . ' WHERE ip = "' . $ip . '" AND stamp > ' . $t );
6565
  if ( $c >= $limit ) {
6566
  cerber_soft_block_add( $ip, 711 );
6567
- $cerber_act_status = 18;
6568
  }
6569
  }
6570
 
@@ -6585,7 +6807,7 @@ function cerber_catch_error( $errno, $errstr = null, $errfile = null, $errline =
6585
  }
6586
 
6587
  function cerber_traffic_log(){
6588
- global $cerber_req_status, $cerber_php_errors, $wp_query, $wp_cerber_user_id, $wp_cerber_start_stamp, $blog_id;
6589
  static $done = false;
6590
 
6591
  if ( $done || cerber_is_cloud_request() ) {
@@ -6648,8 +6870,8 @@ function cerber_traffic_log(){
6648
  if ( function_exists( 'get_current_user_id' ) ) {
6649
  $user_id = get_current_user_id();
6650
  }
6651
- if ( ! $user_id && $wp_cerber_user_id ) {
6652
- $user_id = absint( $wp_cerber_user_id );
6653
  }
6654
 
6655
  if ( ! cerber_to_log( $wp_type, $http_code, $user_id ) ) {
@@ -6817,7 +7039,7 @@ function cerber_traffic_log(){
6817
  $fields = ( $fields ) ? cerber_real_escape( $fields ) : '';
6818
  $php_err = ( $php_err ) ? cerber_real_escape( $php_err ) : '';
6819
 
6820
- if ( ! $req_status = absint( $cerber_req_status ) ) {
6821
  if ( crb_acl_is_white() ) {
6822
  $req_status = 510;
6823
  }
@@ -6859,7 +7081,6 @@ function cerber_traffic_log(){
6859
  * @since 6.0
6860
  */
6861
  function cerber_to_log( $wp_type, $http_code, $user_id ) {
6862
- global $cerber_logged, $cerber_blocked, $cerber_req_status;
6863
 
6864
  if ( nexus_is_valid_request() ) {
6865
  return false;
@@ -6896,7 +7117,7 @@ function cerber_to_log( $wp_type, $http_code, $user_id ) {
6896
  }
6897
 
6898
  if ( $mode == 3 ) {
6899
- if ( $cerber_logged ) {
6900
  return true;
6901
  }
6902
 
@@ -6905,19 +7126,19 @@ function cerber_to_log( $wp_type, $http_code, $user_id ) {
6905
 
6906
  // Smart mode ---------------------------------------------------------
6907
 
6908
- if ( ! empty( $cerber_req_status ) ) {
6909
  return true;
6910
  }
6911
 
6912
- if ( ! empty( $cerber_logged ) ) {
6913
- $tmp = $cerber_logged;
6914
- unset( $tmp[7], $tmp[51], $tmp[52] );
6915
  if ( ! empty( $tmp ) ) {
6916
  return true;
6917
  }
6918
  }
6919
 
6920
- if ( $cerber_blocked ) {
6921
  return true;
6922
  }
6923
 
@@ -7110,7 +7331,6 @@ function cerber_get_non_wp_fields() {
7110
  * @since 6.0
7111
  */
7112
  function cerber_beast() {
7113
- global $cerber_act_status, $cerber_req_status;
7114
 
7115
  if ( is_admin()
7116
  || cerber_is_wp_cron()
@@ -7131,7 +7351,7 @@ function cerber_beast() {
7131
 
7132
  // White list by IP
7133
  if ( crb_get_settings( 'tiipwhite' ) && crb_acl_is_white() ) {
7134
- $cerber_req_status = 500;
7135
  return;
7136
  }
7137
 
@@ -7144,7 +7364,7 @@ function cerber_beast() {
7144
  if ( $item[0] == '{' && substr( $item, - 1 ) == '}' ) {
7145
  $pattern = '/' . substr( $item, 1, - 1 ) . '/i';
7146
  if ( @preg_match( $pattern, $uri ) ) {
7147
- $cerber_req_status = 501;
7148
 
7149
  return;
7150
  }
@@ -7152,7 +7372,7 @@ function cerber_beast() {
7152
  else {
7153
  $cmp = ( substr( $item, - 1 ) == '/' ) ? $uri_slash : $uri; // Someone may specify trailing slash
7154
  if ( $item == $cmp ) {
7155
- $cerber_req_status = 501;
7156
 
7157
  return;
7158
  }
@@ -7171,7 +7391,7 @@ function cerber_beast() {
7171
  if ( $uri_script && $script_filename = cerber_script_filename() ) { // @since 8.6.3.4
7172
  // Scanning for executable scripts?
7173
  if ( ! cerber_script_exists( $uri ) && ! cerber_is_login_request() ) {
7174
- $cerber_act_status = 19;
7175
  cerber_log( 55 );
7176
  if ( $ti_mode > 1 ) {
7177
  cerber_soft_block_add( null, 708 );
@@ -7182,17 +7402,17 @@ function cerber_beast() {
7182
  $deny = false;
7183
  if ( crb_acl_is_black() ) {
7184
  $deny = true;
7185
- $cerber_act_status = 14;
7186
  }
7187
  //elseif ( ! in_array( $uri_script, cerber_get_wp_scripts() ) ) {
7188
  elseif ( ! CRB_Request::is_script( cerber_get_wp_scripts() ) ) {
7189
  if ( ! cerber_is_ip_allowed() ) {
7190
  $deny = true;
7191
- $cerber_act_status = 13;
7192
  }
7193
  elseif ( lab_is_blocked( null, true ) ) {
7194
  $deny = true;
7195
- $cerber_act_status = 15;
7196
  }
7197
  }
7198
  if ( $deny ) {
@@ -7248,7 +7468,7 @@ function cerber_screen_request_fields(){
7248
  * @return bool|int
7249
  */
7250
  function cerber_inspect_array( &$array, $white = array() ) {
7251
- global $cerber_act_status;
7252
  static $rec_limit = null;
7253
 
7254
  if ( ! $array ) {
@@ -7262,7 +7482,7 @@ function cerber_inspect_array( &$array, $white = array() ) {
7262
  $rec_limit --;
7263
  if ( $rec_limit <= 0 ) {
7264
  $rec_limit = null;
7265
- $cerber_act_status = 20;
7266
 
7267
  return 100;
7268
  }
@@ -7289,7 +7509,7 @@ function cerber_inspect_array( &$array, $white = array() ) {
7289
  }
7290
 
7291
  function cerber_inspect_value( &$value = '', $reset = false ) {
7292
- global $cerber_act_status, $crb_x64;
7293
  static $rec_limit = null; // Real recursion limit
7294
 
7295
  if ( ! $value || is_numeric( $value ) ) {
@@ -7307,7 +7527,7 @@ function cerber_inspect_value( &$value = '', $reset = false ) {
7307
  $rec_limit --;
7308
  if ( $rec_limit <= 0 ) {
7309
  $rec_limit = null;
7310
- $cerber_act_status = 21;
7311
 
7312
  return 100;
7313
  }
@@ -7321,7 +7541,7 @@ function cerber_inspect_value( &$value = '', $reset = false ) {
7321
  else {
7322
  $parsed = cerber_detect_php_code( $value );
7323
  if ( ! empty( $parsed[0] ) ) {
7324
- $cerber_act_status = 22;
7325
  $found = 100;
7326
  }
7327
  elseif ( ! empty( $parsed[1] ) ) {
@@ -7333,11 +7553,11 @@ function cerber_inspect_value( &$value = '', $reset = false ) {
7333
  }
7334
  }
7335
  if ( ! $found && cerber_detect_other_code( $value ) ) {
7336
- $cerber_act_status = 23;
7337
  $found = 100;
7338
  }
7339
  if ( ! $found && cerber_detect_js_code( $value ) ) {
7340
- $cerber_act_status = 24;
7341
  $found = 100;
7342
  }
7343
  }
@@ -7772,6 +7992,7 @@ function cerber_parse_change_log( $last_only = false ) {
7772
  $ver = '';
7773
 
7774
  foreach ( $text as $line ) {
 
7775
  $line = trim( $line );
7776
 
7777
  if ( ! $line ) {
@@ -7877,9 +8098,13 @@ function cerber_show_cookies( $attr ) {
7877
  return $ret;
7878
  }
7879
 
7880
- add_filter( 'rest_after_insert_application_password', function ( $item, $request ) {
7881
- cerber_log( 150, '', $request->get_param( 'user_id' ) );
7882
- }, 10, 2 );
 
 
 
 
7883
 
7884
  /**
7885
  * Check if the current user is the website admin (can manage website)
87
  const CERBER_AGGRESSIVE = 1;
88
 
89
  const CRB_USER_SET = 'cerber_user';
90
+ const CRB_SITE_SET = 'cerber_site_meta';
91
 
92
  const CRB_CNTX_SAFE = 1;
93
  const CRB_CNTX_NEXUS = 2;
156
  * @since 6.3.3
157
  */
158
  final public function isURIProhibited() {
 
159
 
160
  if ( isset( $this->uri_prohibited ) ) {
161
  return $this->uri_prohibited;
178
  || $script == WP_SIGNUP_SCRIPT
179
  || ( $script == WP_REG_URI && ! get_option( 'users_can_register' ) ) ) {
180
  if ( ! empty( $this->options['wplogin'] ) ) {
181
+ CRB_Globals::$act_status = 19;
182
  cerber_log( 50 );
183
  cerber_soft_block_add( $this->remote_ip, 702, $script );
184
  $this->uri_prohibited = true;
202
  return true;
203
  }
204
  if ( ! cerber_geo_allowed( 'geo_xmlrpc' ) ) {
205
+ CRB_Globals::$act_status = 16;
206
  cerber_log( 71 );
207
  $this->uri_prohibited = true;
208
 
279
  * @since 6.3.3
280
  */
281
  final public function isProhibitedFilename( $file_name ) {
 
282
 
283
  $prohibited = array( '.htaccess' );
284
  if ( in_array( $file_name, $prohibited ) ) {
285
+ CRB_Globals::$act_status = CRB_STS_52;
286
  return 57;
287
  }
288
 
289
  if ( cerber_detect_exec_extension( $file_name, array('js') ) ) {
290
+ CRB_Globals::$act_status = CRB_STS_51;
291
  return 56;
292
  }
293
 
409
  */
410
  final public function reCaptchaInit(){
411
 
412
+ if ( $this->status == 4
413
+ || empty( $this->options['sitekey'] )
414
+ || empty( $this->options['secretkey'] )
415
+ || ( crb_get_settings( 'recapipwhite' ) && crb_acl_is_white() ) ) {
416
+ return;
417
+ }
418
 
419
  // Native WP forms
420
  add_action( 'login_form', function () {
421
+ get_wp_cerber()->reCaptcha( 'widget', 'recaplogin' );
 
422
  } );
423
  add_filter( 'login_form_middle', function ( $value ) {
424
+ $value .= get_wp_cerber()->reCaptcha( 'widget', 'recaplogin', false );
 
425
  return $value;
426
  });
427
  add_action( 'lostpassword_form', function () {
428
+ get_wp_cerber()->reCaptcha( 'widget', 'recaplost' );
 
429
  } );
430
  add_action( 'register_form', function () {
431
+ if ( ! did_action( 'woocommerce_register_form_start' ) ) {
432
+ get_wp_cerber()->reCaptcha( 'widget', 'recapreg' );
 
433
  }
434
  } );
435
 
436
  // Support for WooCommerce forms: @since 3.8
437
+
438
  add_action( 'woocommerce_login_form', function () {
439
+ get_wp_cerber()->reCaptcha( 'widget', 'recapwoologin' );
 
440
  } );
441
  add_action( 'woocommerce_lostpassword_form', function () {
442
+ get_wp_cerber()->reCaptcha( 'widget', 'recapwoolost' );
 
443
  } );
444
  add_action( 'woocommerce_register_form', function () {
 
445
  if ( ! did_action( 'woocommerce_register_form_start' ) ) {
446
  return;
447
  }
448
+ get_wp_cerber()->reCaptcha( 'widget', 'recapwooreg' );
449
  } );
450
  add_filter( 'woocommerce_process_login_errors', function ( $validation_error ) {
451
+ $wp_cerber = get_wp_cerber();
452
  //$wp_cerber->reCaptchaNow();
453
+ if ( ! $wp_cerber->reCaptchaValidate( 'woologin', true ) ) {
454
 
455
+ return new WP_Error( 'incorrect_recaptcha', $wp_cerber->reCaptchaMsg( 'woocommerce-login' ) );
456
  }
457
+
458
  return $validation_error;
459
+ } );
460
+
461
+ add_filter( 'allow_password_reset', function ( $var ) {
462
+ static $done; // 'allow_password_reset' is fired in WooCommerce and WP (twice in different functions)
463
+
464
+ if ( ! $done && crb_is_woo_reset() ) {
465
+ $done = true;
466
+ $wp_cerber = get_wp_cerber();
467
+ $login = crb_get_user_login_field();
468
 
469
+ //$wp_cerber->reCaptchaNow();
470
+ if ( ! $wp_cerber->reCaptchaValidate( 'woolost', true ) ) {
471
+
472
+ cerber_log( CRB_EV_PRD, $login );
473
+
474
+ return new WP_Error( 'incorrect_recaptcha', $wp_cerber->reCaptchaMsg( 'woocommerce-lost' ) );
475
  }
476
+
477
+ cerber_log( CRB_EV_PRS, $login );
478
  }
479
+
480
  return $var;
481
+ }, PHP_INT_MAX );
482
+
483
  add_filter( 'woocommerce_process_registration_errors', function ( $validation_error ) {
484
+ $wp_cerber = get_wp_cerber();
485
  //$wp_cerber->reCaptchaNow();
486
+ if ( ! $wp_cerber->reCaptchaValidate( 'wooreg', true ) ) {
487
 
488
+ cerber_log( 54 );
489
+
490
+ return new WP_Error( 'incorrect_recaptcha', $wp_cerber->reCaptchaMsg( 'woocommerce-register' ) );
491
  }
492
+
493
  return $validation_error;
494
+ } );
495
 
496
  }
497
 
566
 
567
  /**
568
  * Validate reCAPTCHA by calling Google service
569
+ * Returns true on success or if validation is not needed (reCAPTCHA is not enabled for the given form)
570
  *
571
  * @param string $form Form ID (slug)
572
+ * @param boolean $force Force validation without pre-checks
573
  *
574
  * @return bool true on success false on failure
575
  */
576
+ final public function reCaptchaValidate( $form = null, $force = false ) {
577
+
578
+ if ( crb_get_settings( 'recapipwhite' ) && crb_acl_is_white() ) {
579
+ return true;
580
+ }
581
+
582
+ if ( ! $force ) {
583
  if ( ! $this->recaptcha || $this->status == 4 ) {
584
  return true;
585
  }
586
  }
587
 
588
+ if ( $this->recaptcha_verified != null ) {
589
+ return $this->recaptcha_verified;
590
+ }
591
 
592
+ if ( $form == 'comment' && $this->options['recapcomauth'] && is_user_logged_in() ) {
593
+ return true;
594
+ }
595
 
596
  if ( ! $form ) {
597
  $form = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : 'login';
616
  return true; // we don't know this form
617
  }
618
 
619
+ // Generic status = reCAPTCHA verification failed
620
+ CRB_Globals::set_bot_status( CRB_STS_532 );
621
+
622
  if ( empty( $_POST['g-recaptcha-response'] ) ) {
623
+ // Among other issues it means invalid reCAPTCHA key or/and secret
624
+ $this->reCaptchaFailed( $form );
625
+
626
  return false;
627
  }
628
 
629
+ $result = $this->reCaptchaRequest( $_POST['g-recaptcha-response'] );
630
  if ( ! $result ) {
631
+ //cerber_log( 42 );
632
+ CRB_Globals::set_bot_status( 534 );
633
+
634
  return false;
635
  }
636
 
 
 
 
637
  if ( ! empty( $result['success'] ) ) {
638
  $this->recaptcha_verified = true;
639
+ CRB_Globals::set_bot_status( 531 );
640
+
641
  return true;
642
  }
643
+
644
  $this->recaptcha_verified = false;
645
 
646
  if ( ! empty( $result['error-codes'] ) ) {
647
  if ( in_array( 'invalid-input-secret', (array) $result['error-codes'] ) ) {
648
+ //cerber_log( 41 );
649
+ CRB_Globals::set_bot_status( 533 );
650
  }
651
  }
652
 
653
+ $this->reCaptchaFailed( $form );
654
 
655
  return false;
656
  }
657
 
658
+ final function reCaptchaFailed( $context = '' ) {
659
+
660
+ if ( $this->options['recaptcha-period']
661
+ && $this->options['recaptcha-number']
662
+ && $this->options['recaptcha-within'] ) {
663
+
664
+ if ( crb_acl_is_white() ) {
665
+ return;
666
+ }
667
+
668
+ $range = time() - absint( $this->options['recaptcha-within'] ) * 60;
669
+
670
+ $num = cerber_db_get_var( 'SELECT count(ip) FROM ' . CERBER_LOG_TABLE . ' WHERE ip = "' . $this->remote_ip . '" AND ac_bot = ' . CRB_STS_532 . ' AND stamp > ' . $range );
671
+
672
+ $num ++; // Current failed attempt
673
+
674
+ if ( $num >= $this->options['recaptcha-number'] ) {
675
+ cerber_block_add( $this->remote_ip, 705 );
676
+ }
677
+
678
  }
679
+
680
  }
681
 
682
  /**
696
  *
697
  * @param string $response Google specific field from the submitted form (widget)
698
  *
699
+ * @return false|array Response of the Google service or false on failure
700
  */
701
+ final public function reCaptchaRequest( $response = '' ) {
702
 
703
+ if ( ! $response ) {
704
+ if ( ! $response = crb_array_get( $_POST, 'g-recaptcha-response' ) ) {
705
+ return false;
706
+ }
707
  }
708
 
709
  $curl = @curl_init(); // @since 4.32
710
+ if ( ! $curl ) {
711
+ cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' Unable to initialize cURL' );
712
+
713
  return false;
714
  }
715
 
716
+ $opt = curl_setopt_array( $curl, array(
717
+ CURLOPT_URL => GOO_RECAPTCHA_URL,
718
+ CURLOPT_POST => true,
719
+ CURLOPT_POSTFIELDS => array( 'secret' => $this->options['secretkey'], 'response' => $response ),
720
  CURLOPT_RETURNTRANSFER => true,
721
+ ) );
722
+
723
+ if ( ! $opt ) {
724
+ cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' ' . curl_error( $curl ) );
725
+ curl_close( $curl );
726
 
 
 
 
727
  return false;
728
  }
729
 
730
+ $result = @curl_exec( $curl );
731
+ if ( ! $result ) {
732
+ cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' ' . curl_error( $curl ) );
733
  $result = false;
734
  }
 
735
 
736
+ curl_close( $curl );
737
+ return json_decode( $result, true );
738
 
739
  }
740
 
741
+ final public function reCaptchaMsg( $context = null ) {
742
+ if ( crb_get_settings( 'invirecap' ) ) {
743
+ $msg = __( 'Human verification failed.', 'wp-cerber' );
744
+ }
745
+ else {
746
+ $msg = __( 'Human verification failed. Please click the square box in the reCAPTCHA block below.', 'wp-cerber' );
747
+ }
748
+
749
+ return apply_filters( 'cerber_msg_recaptcha', $msg, $context );
750
  }
751
 
752
  final public function setLocked() {
815
  load_plugin_textdomain( 'wp-cerber', false, 'wp-cerber/languages' );
816
  }
817
 
818
+ get_wp_cerber();
 
819
 
820
  cerber_beast();
821
 
838
  }
839
  }
840
 
841
+ /*add_action( 'wp_upgrade', function () {
842
+ lab_get_site_meta();
843
+ } );*/
844
+
845
  $done = true;
846
  }
847
 
848
  /**
849
  * Returns correct WP_Cerber object
 
850
  *
851
  * @return WP_Cerber
852
  * @since 6.0
853
  */
854
  function get_wp_cerber(){
855
+ //global $wp_cerber;
856
  static $the_wp_cerber = null;
857
 
858
  if ( ! isset( $the_wp_cerber ) ) {
859
  $the_wp_cerber = new WP_Cerber();
860
  }
861
 
862
+ //$wp_cerber = $the_wp_cerber;
863
 
864
  return $the_wp_cerber;
865
  }
919
  *
920
  */
921
  function cerber_extra_vision() {
 
922
 
923
  // Multiple different malicious activities
924
 
925
+ if ( empty( CRB_Globals::$logged ) ) {
926
  return false;
927
  }
928
 
929
  $ip = cerber_get_remote_ip();
930
 
931
  $black = crb_get_activity_set( 'black' );
932
+ $black_logged = array_intersect( $black, CRB_Globals::$logged );
933
  if ( ! empty( $black_logged ) && cerber_is_ip_allowed() ) {
934
  $remain = cerber_get_remain_count( $ip, true, $black ); // @since 6.7.5
935
  if ( $remain < 1 ) {
936
  cerber_soft_block_add( $ip, 707 );
937
+ CRB_Globals::$act_status = 18;
938
 
939
  return true;
940
  }
943
  $remain = cerber_get_remain_count( $ip, true, array( 400 ), 10, 30 );
944
  if ( $remain < 1 ) {
945
  cerber_block_add( $ip, 721 );
946
+ CRB_Globals::$act_status = 18;
947
 
948
  return true;
949
  }
1061
  * @return WP_User|WP_Error
1062
  */
1063
  function cerber_authenticate( $user, $username, $password = '' ) {
 
1064
 
1065
  if ( $username
1066
  && ( crb_get_settings( 'loginnowp' ) == 2 )
1067
  && ! crb_acl_is_white()
1068
  && CRB_Request::is_script( '/' . WP_LOGIN_SCRIPT ) ) {
1069
 
1070
+ return crb_login_error( $username, CRB_EV_LDN, 50 );
1071
  }
1072
 
1073
  // reCAPTCHA
1074
  if ( ! cerber_is_api_request()
1075
  && ! get_wp_cerber()->reCaptchaValidate() ) {
1076
 
1077
+ cerber_log( CRB_EV_LDN, $username );
1078
+
1079
  return new WP_Error( 'incorrect_recaptcha',
1080
  '<strong>' . __( 'ERROR:', 'wp-cerber' ) . ' </strong>' .
1081
+ get_wp_cerber()->reCaptchaMsg( 'login' ) );
1082
  }
1083
 
1084
  // Prohibited usernames
1085
+ if ( $username && crb_is_username_prohibited( $username ) ) {
1086
  $ret = crb_login_error( $username, 52 );
1087
  cerber_block_add( null, 704, $username );
1088
 
1094
 
1095
  // Application passwords
1096
  $app_checked = false;
1097
+ $app = false;
1098
  if ( ! ( $user instanceof WP_User )
1099
  && function_exists( 'wp_authenticate_application_password' ) ) {
1100
  $app_checked = true;
1101
  $user = wp_authenticate_application_password( $user, $username, $password );
1102
  if ( $user instanceof WP_User ) {
1103
+ $app = true;
1104
  }
1105
  }
1106
 
1107
+ // TODO: split the function into two parts:
1108
+ // 1. before user identification - do IP-based checks
1109
+ // 2. after user identification and password check - do user-based and role-based checks
1110
+ $user = cerber_restrict_auth( $user, $app );
1111
+
1112
  // Authentication failed or denied by cerber_restrict_auth()
1113
  if ( ! ( $user instanceof WP_User ) || ! $user->ID ) {
1114
 
1149
  }
1150
 
1151
  if ( $deny ) {
1152
+ cerber_log( 152, $username, 0, CRB_STS_25 );
1153
  status_header( 403 );
1154
 
1155
  return new WP_Error( 'app_password_denied', 'Authentication failed' );
1160
  if ( crb_get_settings( 'ds_4acc' ) && CRB_DS::is_ready( 1 ) ) {
1161
 
1162
  if ( ! CRB_DS::is_user_valid( $user->ID ) ) {
1163
+ return crb_login_error( $username, CRB_EV_LDN, 35 );
1164
  }
1165
 
1166
  if ( ! $app_checked ) {
1167
  $pwd = CRB_DS::get_user_pass( $user->ID );
1168
  if ( ! $pwd || ( $password && ! wp_check_password( $password, $pwd, $user->ID ) ) ) {
1169
+ return crb_login_error( $username, CRB_EV_LDN, 36 );
1170
  }
1171
  }
1172
  }
1181
  }
1182
  }
1183
 
1184
+ CRB_Globals::$user_id = $user->ID;
1185
+
1186
  return $user;
1187
  }
1188
 
1197
  return $var;
1198
  }
1199
 
 
 
 
 
1200
  /**
1201
+ * Stops (restricts) authentication of a user once the user identified (existing users)
 
1202
  *
1203
+ * @param WP_User $user
 
1204
  * @param bool $app If true the user is authenticated with an application password
1205
  *
1206
  * @return WP_User|WP_Error
1207
  */
1208
+ function cerber_restrict_auth( $user, $app = false ) {
 
1209
 
1210
+ if ( ! $user instanceof WP_User ) {
1211
  return $user;
1212
  }
1213
 
1216
 
1217
  if ( $b = crb_is_user_blocked( $user->ID ) ) {
1218
  $user_msg = $b['blocked_msg'];
1219
+ CRB_Globals::$act_status = CRB_STS_29;
1220
  $deny = true;
1221
  }
1222
  elseif ( ! $app && ( $b = crb_check_user_limits( $user->ID ) ) ) {
1223
  $user_msg = $b;
1224
+ CRB_Globals::$act_status = 38;
1225
  $deny = true;
1226
  }
1227
+ elseif ( crb_acl_is_white() ) { // TODO: Must be checked before user identification
1228
  $deny = false;
1229
  }
1230
+ elseif ( ! cerber_is_ip_allowed() ) { // TODO: Must be checked before user identification
1231
  $deny = true;
1232
  }
1233
  elseif ( ! cerber_geo_allowed( 'geo_login', $user ) ) {
1234
+ CRB_Globals::$act_status = 16;
1235
  $deny = true;
1236
  }
1237
  elseif ( lab_is_blocked( cerber_get_remote_ip() ) ) {
1238
+ CRB_Globals::$act_status = 15;
1239
  $deny = true;
1240
  }
1241
 
1263
  * @return WP_Error
1264
  */
1265
  function crb_login_error( $username = '', $act = null, $status = null ) {
 
1266
 
1267
+ CRB_Globals::$act_status = $status;
1268
+
1269
  if ( $act ) {
1270
  cerber_log( $act, $username );
1271
  }
1305
  * @param $user WP_User
1306
  */
1307
  function cerber_user_login( $login, $user ) {
1308
+
1309
+ CRB_Globals::$user_id = $user->ID;
1310
 
1311
  if ( ! empty( $_POST['log'] ) && ! empty( $_POST['pwd'] ) ) { // default WP login form
1312
  $user_login = htmlspecialchars( $_POST['log'] );
1374
  *
1375
  */
1376
  function cerber_login_failed( $user_login ) {
1377
+
1378
  static $is_processed = false;
1379
 
1380
  if ( $is_processed ) {
1388
 
1389
  $no_user = ! cerber_get_user( $user_login );
1390
 
1391
+ $act = CRB_EV_LFL; // Generic login failed (interactive), the default
1392
 
1393
  if ( cerber_is_api_request() ) {
1394
  $act = 152;
1400
  if ( $no_user ) {
1401
  $act = 51;
1402
  }
1403
+ elseif ( in_array( CRB_Globals::$act_status, array( 15, 16, CRB_STS_25, CRB_STS_29, 38 ) )
1404
  || ! cerber_is_ip_allowed( $ip ) ) {
1405
+ $act = CRB_EV_LDN;
1406
  }
1407
  }
1408
 
1430
  && ( $per = crb_get_settings( 'ciperiod' ) )
1431
  && ! cerber_is_citadel() ) {
1432
  $range = time() - $per * 60;
1433
+ $lockouts = cerber_db_get_var( 'SELECT count(ip) FROM ' . CERBER_LOG_TABLE . ' WHERE activity = '.CRB_EV_LFL.' AND stamp > ' . $range );
1434
  if ( $lockouts >= crb_get_settings( 'cilimit' ) ) {
1435
  cerber_enable_citadel();
1436
  }
1454
  }
1455
  }, 10, 4 );
1456
 
1457
+ add_action( 'update_user_meta', function ( $meta_id, $user_id, $meta_key, $_meta_value ) {
1458
+
1459
+ if ( $meta_key !== 'session_tokens'
1460
+ || CRB_Globals::$session_status !== null ) {
1461
+ return;
1462
+ }
1463
+
1464
+ $old_value = get_metadata_raw( 'user', $user_id, $meta_key, true );
1465
+
1466
+ if ( ! is_array( $old_value ) ) {
1467
+ return;
1468
+ }
1469
+
1470
+ if ( ! is_array( $_meta_value ) ) {
1471
+ $_meta_value = array();
1472
+ }
1473
+
1474
+ $new = count( $_meta_value );
1475
+
1476
+ if ( count( $old_value ) > $new ) {
1477
+ if ( $new == 0 ) {
1478
+ CRB_Globals::$session_status = 530;
1479
+ }
1480
+ else {
1481
+ CRB_Globals::$session_status = 0;
1482
+ }
1483
+ }
1484
+ else {
1485
+ CRB_Globals::$session_status = null;
1486
+ }
1487
+
1488
+ }, 10, 4 );
1489
+
1490
  // do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
1491
  add_action( 'updated_user_meta', function ( $meta_id, $user_id, $meta_key, $_meta_value ) {
1492
+
1493
  if ( $meta_key === 'session_tokens' ) {
1494
  crb_sessions_update_user_data( $user_id, $_meta_value );
1495
+ if ( CRB_Globals::$session_status !== null ) {
1496
+ cerber_log( 22, '', $user_id, CRB_Globals::$session_status );
1497
+ CRB_Globals::$session_status = null;
1498
+ }
1499
  }
1500
+
1501
  }, 10, 4 );
1502
 
1503
  // do_action( "deleted_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
1506
  $query = 'DELETE FROM ' . cerber_get_db_prefix() . CERBER_USS_TABLE;
1507
  if ( $user_id ) {
1508
  $query .= ' WHERE user_id = ' . $user_id;
1509
+ cerber_log( 22, '', $user_id, 530 ); // By admin
1510
+ CRB_Globals::$act_status = 530;
1511
  }
1512
  cerber_db_query( $query );
1513
  }
1614
  }
1615
 
1616
  /**
1617
+ * Terminates specified user sessions by updating user meta directly in the DB
1618
  *
1619
  * @param array|string $tokens Session tokens to kill
1620
  * @param int $user_id Users the sessions to kill belongs to
1621
+ * @param bool $admin If true, it is executing in the WP dashboard
1622
  *
1623
  * @return int
1624
  */
1796
  if ( crb_get_settings( 'nopasshint' ) && ! crb_acl_is_white() ) {
1797
 
1798
  add_filter( 'lostpassword_errors', function ( $errors, $user_data ) {
1799
+ if ( $user_data || CRB_Globals::$reset_pwd_denied ) {
1800
  return $errors;
1801
  }
1802
 
1862
  }
1863
 
1864
  function cerber_user_logout( $status = null ) {
1865
+ global $current_user, $userdata, $user_ID;
1866
+
1867
+ CRB_Globals::$act_status = ( ! $status ) ? 26 : absint( $status );
1868
 
1869
  if ( $current_user instanceof WP_User ) {
1870
  $uid = $current_user->ID;
1885
  // Registration -----------------------------------------------------------------------
1886
 
1887
  function cerber_is_registration_prohibited( $user_login, $user_email = '' ) {
 
1888
 
1889
  $code = null;
1890
  $msg = '';
1891
  $ret_msg = '';
1892
+ $wp_cerber = get_wp_cerber();
1893
 
1894
  if ( crb_get_settings( 'regwhite' )
1895
  && ! crb_acl_is_white()
1896
  && lab_lab() ) {
1897
+ cerber_log( 54, '', 0, 37 );
 
1898
  $code = 'ip_denied';
1899
  if ( ! $ret_msg = crb_get_settings( 'regwhite_msg' ) ) {
1900
  $msg = __( 'You are not allowed to register.', 'wp-cerber' );
1901
  }
1902
  }
1903
  elseif ( crb_is_reg_limit_reached() ) {
1904
+ cerber_log( 54, '', 0, 17 );
 
1905
  $code = 'ip_denied';
1906
  $msg = apply_filters( 'cerber_msg_denied', __( 'You are not allowed to register.', 'wp-cerber' ), 'register' );
1907
  }
1908
  elseif ( cerber_is_bot( 'botsreg' ) ) {
1909
+ cerber_log( 54 );
1910
  $code = 'bot_detected';
1911
  $msg = apply_filters( 'cerber_msg_denied', __( 'You are not allowed to register.', 'wp-cerber' ), 'register' );
1912
  }
1913
  elseif ( ! $wp_cerber->reCaptchaValidate() ) {
1914
+ cerber_log( 54, '', 0 , CRB_STS_532 );
1915
  $code = 'incorrect_recaptcha';
1916
  $msg = $wp_cerber->reCaptchaMsg( 'register' );
1917
  }
1918
+ elseif ( crb_is_username_prohibited( $user_login ) ) {
1919
+ cerber_log( 54, '', 0, CRB_STS_30 );
 
1920
  $code = 'prohibited_login';
1921
  $msg = apply_filters( 'cerber_msg_prohibited', __( 'Username is not allowed. Please choose another one.', 'wp-cerber' ), 'register' );
1922
  }
1923
  elseif ( ! cerber_is_email_permited( $user_email ) ) {
1924
+ cerber_log( 54, '', 0, 31 );
 
1925
  $code = 'prohibited_email';
1926
  $msg = apply_filters( 'cerber_msg_prohibited_email', __( 'Email address is not permitted.', 'wp-cerber' ) . ' ' . __( 'Please choose another one.', 'wp-cerber' ), 'register' );
1927
  }
1931
  $msg = apply_filters( 'cerber_msg_denied', __( 'You are not allowed to register.', 'wp-cerber' ), 'register' );
1932
  }
1933
  elseif ( ! cerber_geo_allowed( 'geo_register' ) ) {
1934
+ cerber_log( 54, '', 0, 16 );
 
1935
  $code = 'country_denied';
1936
  $msg = apply_filters( 'cerber_msg_denied', __( 'You are not allowed to register.', 'wp-cerber' ), 'register' );
1937
  }
2046
  *
2047
  * @since 8.6.3.3
2048
  */
2049
+ add_filter( 'wp_pre_insert_user_data', function ( $data, $update, $user_id ) {
2050
+ /*if ( $update || is_admin() ) {
2051
  return $data;
2052
+ }*/
2053
 
2054
+ if ( ! $update && ! is_admin() ) {
 
2055
 
2056
+ $user_login = crb_array_get( $data, 'user_login' );
2057
+ $user_email = crb_array_get( $data, 'user_email' );
2058
+
2059
+ if ( cerber_is_registration_prohibited( $user_login, $user_email ) ) {
2060
+ return null;
2061
+ }
2062
+ }
2063
+
2064
+ if ( $update ) {
2065
+ $old_user_data = get_userdata( $user_id );
2066
+ if ( $data['user_pass'] != $old_user_data->user_pass ) {
2067
+ crb_pass_reset( $old_user_data );
2068
+ }
2069
  }
2070
 
2071
  return $data;
2106
  return $value;
2107
  }, PHP_INT_MAX );
2108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2109
  // Comments (commenting) section ----------------------------------------------------------
2110
 
2111
  if ( cerber_is_custom_comment() ) {
2161
  *
2162
  */
2163
  add_action( 'pre_comment_on_post', function ( $comment_post_ID ) {
 
2164
 
2165
  $deny = false;
2166
 
2168
  $deny = true;
2169
  }
2170
  elseif ( ! cerber_geo_allowed( 'geo_comment' ) ) {
2171
+ CRB_Globals::$act_status = 16;
2172
  cerber_log(19);
2173
  $deny = true;
2174
  }
2192
  *
2193
  */
2194
  add_filter( 'rest_allow_anonymous_comments', function ( $allowed, $request ) {
 
2195
 
2196
  if ( ! cerber_is_ip_allowed() ) {
2197
  $allowed = false;
2198
  }
2199
  if ( ! cerber_geo_allowed( 'geo_comment' ) ) {
2200
  cerber_log(19);
2201
+ CRB_Globals::$act_status = 16;
2202
  $allowed = false;
2203
  }
2204
  elseif ( lab_is_blocked( cerber_get_remote_ip() ) ) {
2214
  * @return bool
2215
  */
2216
  function cerber_is_comment_allowed(){
 
2217
 
2218
  if ( is_admin() ) {
2219
  return true;
2229
  $deny = 16;
2230
  $remain = cerber_get_remain_count( null, true, array( 16 ), 3, 60 );
2231
  }
2232
+ elseif ( ! get_wp_cerber()->reCaptchaValidate( 'comment' , true ) ) {
2233
  $deny = 16;
2234
  }
2235
  elseif ( lab_is_blocked( cerber_get_remote_ip() ) ) {
2257
  *
2258
  */
2259
  add_filter( 'comment_form_submit_field', function ( $value ) {
2260
+ global $post;
2261
 
2262
  if ( cerber_get_cookie( 'cerber_post_id' ) == $post->ID ) {
2263
  //echo '<div id="cerber-recaptcha-msg">' . __( 'ERROR:', 'wp-cerber' ) . ' ' . $wp_cerber->reCaptchaMsg( 'comment' ) . '</div>';
2266
  echo '<script type="text/javascript">document.cookie = "' . $p . 'cerber_post_id=0;path=/";</script>';
2267
  }
2268
 
2269
+ if ( ! crb_get_settings( 'recapcomauth' ) || ! is_user_logged_in() ) {
2270
+ get_wp_cerber()->reCaptcha( 'widget', 'recapcom' );
 
2271
  }
2272
 
2273
  if ( cerber_is_custom_comment() ) {
2372
  return $location;
2373
  }
2374
 
 
 
2375
  add_action( 'init', function () {
2376
+
2377
+ cerber_cookie_bad_proc();
2378
+
2379
  if ( crb_get_settings( 'adminphp' ) ) {
2380
  if ( defined( 'CONCATENATE_SCRIPTS' ) ) {
2381
  cerber_add_issue( 'conscripts', 'The PHP constant CONCATENATE_SCRIPTS is already defined somewhere else', 'adminphp' );
2413
  *
2414
  */
2415
  function cerber_access_control() {
 
2416
 
2417
  if ( crb_acl_is_white() ) {
2418
  return;
2419
  }
2420
 
2421
  $wp_cerber = get_wp_cerber();
2422
+
2423
  if ( $wp_cerber->isURIProhibited() ) {
2424
  cerber_404_page();
2425
  }
2439
 
2440
  if ( $rest_allowed && ! cerber_geo_allowed( 'geo_restapi' ) ) {
2441
  $rest_allowed = false;
2442
+ CRB_Globals::$act_status = 16;
2443
  }
2444
 
2445
  if ( ! $rest_allowed ) {
2446
+ CRB_Globals::$req_status = 0;
2447
  cerber_block_rest_api();
2448
  }
2449
  }
2504
  *
2505
  */
2506
  function cerber_post_control() {
 
2507
 
2508
+ if ( ! cerber_is_http_post()
2509
+ || ( crb_get_settings( 'botsipwhite' ) && crb_acl_is_white() ) ) {
2510
  return;
2511
  }
2512
 
2532
  $deny = true;
2533
  cerber_log( 17 );
2534
  }
2535
+ elseif ( ! cerber_geo_allowed( 'geo_submit' ) ) {
2536
+ $deny = true;
2537
+ CRB_Globals::$act_status = 16;
2538
  cerber_log( 18 );
2539
  }
2540
+ elseif ( lab_is_blocked( null, true ) ) {
2541
+ $deny = true;
2542
+ CRB_Globals::$act_status = 18;
2543
  cerber_log( 18 );
2544
  }
2545
 
2740
  // OLD WP
2741
  add_filter( 'json_enabled', '__return_false' );
2742
  add_filter( 'json_jsonp_enabled', '__return_false' );
2743
+ // @since WP 4.7
 
 
 
 
2744
  add_filter( 'rest_jsonp_enabled', '__return_false' );
2745
  // Links
2746
  remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
2844
 
2845
 
2846
  // Cookies ---------------------------------------------------------------------------------
2847
+
 
 
 
2848
  add_action( 'auth_cookie_valid', 'cerber_cookie_one', 10, 2 );
2849
  function cerber_cookie_one( $cookie_elements = null, $user = null ) {
2850
  if ( ! $user ) {
2851
  $user = wp_get_current_user();
2852
  }
2853
+
2854
+ CRB_Globals::$user_id = $user->ID;
2855
+
2856
  // Mark user with Cerber Groove
2857
+ // TODO: remove filter, add IP address and user agent
2858
  $expire = time() + apply_filters( 'auth_cookie_expiration', 14 * 24 * 3600, $user->ID, true ) + ( 24 * 3600 );
2859
  cerber_set_groove( $expire );
2860
  }
2869
  }
2870
 
2871
  /*
2872
+ Monitoring BAD auth cookies
2873
  */
2874
  add_action( 'auth_cookie_bad_username', 'cerber_cookie_bad' );
2875
  add_action( 'auth_cookie_bad_hash', 'cerber_cookie_bad' );
2876
+ add_action( 'auth_cookie_bad_session_token', 'cerber_cookie_bad' );
2877
  function cerber_cookie_bad( $cookie_elements ) {
2878
+ global $cerber_auth_cookie_bad;
2879
+
2880
+ $cerber_auth_cookie_bad = array( 1, $cookie_elements['username'] );
2881
+ }
2882
+
2883
+ /**
2884
+ * Bad (invalid) auth cookie handler
2885
+ *
2886
+ * @since 8.9.4
2887
+ *
2888
+ */
2889
+ function cerber_cookie_bad_proc() {
2890
+ global $cerber_auth_cookie_bad;
2891
+
2892
+ if ( empty( $cerber_auth_cookie_bad ) ) {
2893
+ return;
2894
+ }
2895
 
2896
  if ( ! headers_sent() ) {
2897
  wp_clear_auth_cookie();
2898
+ CRB_Globals::$act_status = 40;
2899
  }
2900
  else {
2901
+ CRB_Globals::$act_status = 39;
2902
  }
2903
 
2904
+ cerber_login_failed( $cerber_auth_cookie_bad[1] );
2905
  }
2906
 
2907
  /**
2913
  */
2914
  function cerber_antibot_enabled( $location ) {
2915
 
2916
+ if ( crb_get_settings( 'botsipwhite' ) && crb_acl_is_white() ) {
2917
+ return false;
2918
+ }
2919
+
2920
  if ( crb_get_settings( 'botsnoauth' ) && is_user_logged_in() ) {
2921
  return false;
2922
  }
3062
  * @return bool
3063
  */
3064
  function cerber_is_bot( $location = '' ) {
3065
+
3066
  static $ret = null;
3067
 
3068
  $remote_ip = cerber_get_remote_ip();
3117
  if ( $item[0] == '{' && substr( $item, - 1 ) == '}' ) {
3118
  $pattern = '/' . substr( $item, 1, - 1 ) . '/i';
3119
  if ( @preg_match( $pattern, $uri ) ) {
3120
+ CRB_Globals::$req_status = 502;
3121
  $ret = false;
3122
 
3123
  return $ret;
3126
  else {
3127
  $cmp = ( substr( $item, - 1 ) == '/' ) ? $uri_slash : $uri; // @since 8.8 Someone may specify trailing slash
3128
  if ( false !== strpos( $cmp, $item ) ) {
3129
+ CRB_Globals::$req_status = 502;
3130
  $ret = false;
3131
 
3132
  return $ret;
3162
  }
3163
 
3164
  if ( $ret ) {
3165
+ CRB_Globals::set_bot_status( CRB_STS_11 );
3166
  lab_save_push( $remote_ip, 333 );
3167
  }
3168
  }
3288
 
3289
  // add_action( 'wp_logout', function(){});
3290
  add_action( 'clear_auth_cookie', function () {
3291
+
3292
  $uid = get_current_user_id();
3293
  if ( $uid ) {
3294
+ CRB_Globals::$user_id = $uid;
3295
+ cerber_log( 6, '', $uid, CRB_Globals::$act_status );
3296
  CRB_2FA::delete_2fa( $uid );
3297
  }
3298
+
3299
  cerber_set_cookie( 'cerber_nexus_id', 0, time(), '/' );
3300
  } );
3301
 
3302
+ // Lost password form --------------------------------------------------------------------
3303
+
3304
+ // This hook is available since WP 5.5
3305
+ add_filter( 'lostpassword_errors', 'crb_lost_pwd_errors', PHP_INT_MAX, 2 );
3306
+ /**
3307
+ * Check if password reset is allowed for a given user (since WP 5.5)
3308
+ *
3309
+ * @param $errors WP_Error
3310
+ * @param $user_data WP_User|false
3311
+ *
3312
+ * @return WP_Error
3313
+ *
3314
+ * @since 8.9.4
3315
+ */
3316
+ function crb_lost_pwd_errors( $errors, $user_data ) {
3317
+ if ( $user_data ) {
3318
+ if ( ! $errors instanceof WP_Error ) {
3319
+ $errors = new WP_Error;
3320
+ }
3321
+
3322
+ if ( ( $b = crb_is_user_blocked( $user_data->ID ) )
3323
+ || crb_is_username_prohibited( $user_data->user_login ) ) {
3324
+ $errors->add( 'cerber_pwd_reset_not_allowed', __( 'Sorry, password reset is not allowed for this user.', 'wp-cerber' ) );
3325
+
3326
+ $status = ( $b ) ? CRB_STS_29 : CRB_STS_30;
3327
+
3328
+ cerber_log( CRB_EV_PRD, crb_get_user_login_field( $user_data->user_login ), 0, $status );
3329
+ CRB_Globals::$reset_pwd_denied = true;
3330
+ }
3331
+ else {
3332
+ cerber_log( CRB_EV_PRS, crb_get_user_login_field( $user_data->user_login ) );
3333
+ }
3334
+ }
3335
+
3336
+ return $errors;
3337
+ }
3338
+
3339
+ /**
3340
+ * @return bool True if the WooCommerce reset form has been submitted
3341
+ */
3342
+ function crb_is_woo_reset() {
3343
+ return ( isset( $_POST['wc_reset_password'] )
3344
+ && class_exists( 'WooCommerce' ) );
3345
+ }
3346
+
3347
+ /**
3348
+ * Returns login entered by a user on the standard WordPress and WooCommerce login forms
3349
+ *
3350
+ * @param string $default Default value
3351
+ *
3352
+ * @return string
3353
+ */
3354
+ function crb_get_user_login_field( $default = '' ) {
3355
+ if ( ! empty( $_POST['user_login'] ) ) {
3356
+ return sanitize_user( stripslashes( $_POST['user_login'] ) );
3357
+ }
3358
+
3359
+ return $default;
3360
+ }
3361
+
3362
+ /**
3363
+ * Validate reCAPTCHA for the WordPress lost password form
3364
+ */
3365
+ add_action( 'login_form_' . 'lostpassword', 'cerber_lost_pwd_captcha' );
3366
+ function cerber_lost_pwd_captcha() {
3367
+ $wp_cerber = get_wp_cerber();
3368
+ if ( ! $wp_cerber->reCaptchaValidate() ) {
3369
+
3370
+ // Abort password reset
3371
+ $_POST['user_login'] = null;
3372
+
3373
+ cerber_log( CRB_EV_PRD, crb_get_user_login_field() );
3374
+ CRB_Globals::$reset_pwd_denied = true;
3375
+ CRB_Globals::$reset_pwd_msg = '<strong>' . __( 'ERROR:', 'wp-cerber' ) . ' </strong>' . $wp_cerber->reCaptchaMsg( 'lostpassword' );
3376
+ }
3377
+ }
3378
+
3379
+ /**
3380
+ * Display message on the WordPress lost password form screen
3381
+ */
3382
+ add_action( 'lostpassword_form', 'cerber_lost_show_msg' );
3383
+ function cerber_lost_show_msg() {
3384
+ if ( ! CRB_Globals::$reset_pwd_msg ) {
3385
+ return;
3386
+ }
3387
+ ?>
3388
+ <script type="text/javascript">
3389
+ //document.getElementById('login_error').style.visibility = "hidden";
3390
+ document.getElementById('login_error').innerHTML = "<?php echo CRB_Globals::$reset_pwd_msg; ?>";
3391
+ </script>
3392
+ <?php
3393
+ }
3394
+
3395
+ // For WP < 5.5
3396
+ add_action( 'lostpassword_post', function ( &$errors, $user_data ) {
3397
+ if ( crb_wp_version_compare( '5.5' ) // Not relevant, see new 'lostpassword_errors'
3398
+ || CRB_Globals::$reset_pwd_denied
3399
+ || crb_is_woo_reset() ) {
3400
+ return;
3401
+ }
3402
+
3403
+ $login = crb_get_user_login_field( $user_data->user_login );
3404
+
3405
+ cerber_log( CRB_EV_PRS, $login );
3406
+
3407
+ }, 0, 2 );
3408
 
3409
  add_action( 'password_reset', 'crb_pass_reset' );
3410
  add_action( 'crb_after_reset', 'crb_pass_reset', 10, 2);
3411
 
3412
  function crb_pass_reset( $user, $user_id = null) {
3413
+
3414
  if ( ! $user && $user_id ) {
3415
  $user = get_user_by( 'id', $user_id );
3416
  }
3417
+
3418
  if ( ! $user ) {
3419
  return;
3420
  }
3421
+
3422
  cerber_log( 20, $user->user_login, $user->ID );
3423
+
3424
+ // Do not log 'clear_auth_cookie' event (logout/login sequence) that occurs after password reset
3425
+ CRB_Globals::$do_not_log[5] = true;
3426
+ CRB_Globals::$do_not_log[6] = true;
3427
  }
3428
 
3429
  // Fires in wp_insert_user()
3514
  * @return bool|false|int
3515
  */
3516
  function cerber_block_add( $ip_address = '', $reason_id = 1, $details = '', $duration = null ) {
 
3517
 
3518
  if ( cerber_is_cloud_request() ) {
3519
  return false;
3575
 
3576
  if ( $result ) {
3577
  $result = true;
3578
+ CRB_Globals::$blocked = $reason_id;
3579
  cerber_log( $activity, null, null, 0, $ip_address );
3580
  $wp_cerber->setLocked();
3581
  crb_event_handler( 'ip_event', array(
3720
  *
3721
  * @return int Allowed attempts for present moment
3722
  */
3723
+ function cerber_get_remain_count( $ip = '', $check_acl = true, $activity = array( CRB_EV_LFL, 152, 51, 52 ), $allowed = null, $period = null ) {
3724
 
3725
  if ( ! $ip ) {
3726
  $ip = cerber_get_remote_ip();
3768
  * @return bool
3769
  */
3770
  function cerber_is_ip_allowed( $ip = '', $context = null ) {
 
3771
 
3772
  if ( ! $ip ) {
3773
  $ip = cerber_get_remote_ip();
3781
  return true;
3782
  }
3783
  if ( $tag == 'B' ) {
3784
+ CRB_Globals::$act_status = 14;
3785
  return false;
3786
  }
3787
 
3788
  if ( $b = cerber_get_block( $ip ) ) {
3789
  if ( ! in_array( $b->reason_id, crb_context_get_allowed( $context ) ) ) {
3790
+ CRB_Globals::$act_status = 13;
3791
  return false;
3792
  }
3793
  }
3794
 
3795
  if ( $context != CRB_CNTX_NEXUS && cerber_is_citadel() ) {
3796
+ CRB_Globals::$act_status = 19;
3797
  return false;
3798
  }
3799
 
3800
  if ( lab_is_blocked( $ip, false ) ) {
3801
+ CRB_Globals::$act_status = 15;
3802
  return false;
3803
  }
3804
 
3827
  *
3828
  * @return bool true if username is prohibited
3829
  */
3830
+ function crb_is_username_prohibited( $username ) {
3831
  if ( ! $username ) {
3832
  return false;
3833
  }
3853
 
3854
  // TODO: Merge with $wp_cerber->getStatus();
3855
  function cerber_get_status( $ip, $activity = null ) {
 
3856
 
3857
+ if ( ! empty( CRB_Globals::$act_status ) ) {
3858
+ return absint( CRB_Globals::$act_status );
3859
  }
3860
 
3861
  if ( cerber_block_check( $ip ) ) {
3864
 
3865
  if ( $tag = cerber_acl_check( $ip ) ) {
3866
  if ( $tag == 'W' ) {
3867
+ if ( in_array( $activity, array( 1, 2, 5, 20, CRB_EV_PRS ) ) ) {
3868
  return 500;
3869
  }
3870
  if ( in_array( $activity, array( 72, 73, 75, 76 ) ) ) {
4530
  Check for given IP address or subnet belong to this session.
4531
  */
4532
  function cerber_is_myip( $ip ) {
4533
+
4534
  if ( ! is_string( $ip ) ) {
4535
  return false;
4536
  }
4537
+
4538
  $remote_ip = cerber_get_remote_ip();
4539
+
4540
  if ( $ip == $remote_ip ) {
4541
  return true;
4542
  }
4783
 
4784
  switch ( $type ) {
4785
  case 'citadel':
4786
+ $max = cerber_db_get_var( 'SELECT MAX(stamp) FROM ' . CERBER_LOG_TABLE . ' WHERE activity = ' . CRB_EV_LFL );
4787
  if ( $max ) {
4788
  $last_date = cerber_date( $max, false );
4789
  //$last = $wpdb->get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity = 7' );
4790
+ $last = cerber_db_get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity = ' . CRB_EV_LFL, MYSQL_FETCH_OBJECT );
4791
  }
4792
 
4793
  if ( ! $last ) { // workaround for the empty log table
5467
  * @param int $status
5468
  * @param null $ip IP Address
5469
  *
5470
+ * @return bool
5471
  * @since 3.0
5472
  */
5473
  function cerber_log( $activity, $login = '', $user_id = 0, $status = 0, $ip = null ) {
5474
+ global $user_ID;
5475
  static $logged = array();
5476
 
5477
  $wp_cerber = get_wp_cerber();
5478
 
5479
  $activity = absint( $activity );
5480
 
5481
+ if ( empty( $user_id ) ) {
5482
+ $user_id = ( $user_ID ) ?: 0;
5483
+ }
5484
+
5485
+ $user_id = absint( $user_id );
5486
+
5487
+ $key = $activity . '-' . $user_id;
5488
+
5489
+ if ( ( isset( $logged[ $key ] )
5490
+ || isset( CRB_Globals::$do_not_log[ $activity ] ) )
5491
  && ! defined( 'CRB_ALLOW_MULTIPLE' ) ) {
5492
  return false;
5493
  }
5494
 
5495
+ $logged[ $key ] = true;
5496
 
5497
+ CRB_Globals::$logged[ $activity ] = $activity;
5498
 
5499
  //$wp_cerber->setProcessed();
5500
 
5512
  $ip_long = 1;
5513
  }
5514
 
 
 
 
 
 
 
5515
  $stamp = microtime( true );
5516
 
5517
  $pos = strpos( $_SERVER['REQUEST_URI'], '?' );
5522
  if ( $activity != 10 && $activity != 11 ) {
5523
  $status = cerber_get_status( $ip, $activity );
5524
  }
5525
+ elseif ( CRB_Globals::$blocked ) {
5526
+ $status = CRB_Globals::$blocked;
5527
  }
5528
  }
5529
 
5530
+ $ac_bot = absint( CRB_Globals::$bot_status );
5531
+ $ac_by_user = absint( CRB_Globals::$user_id );
5532
+
5533
+ $status = absint( $status );
5534
+
5535
+ $details = $status . '|0|0|0|' . $url;
5536
 
5537
  $country = lab_get_country( $ip );
5538
 
5539
  $login = cerber_real_escape( $login );
5540
  $details = cerber_real_escape( $details );
5541
+ $ret = cerber_db_query( 'INSERT INTO ' . CERBER_LOG_TABLE . ' (ip, ip_long, user_login, user_id, stamp, activity, session_id, country, details, ac_status, ac_bot, ac_by_user)
5542
+ VALUES ("' . $ip . '",' . $ip_long . ',"' . $login . '",' . $user_id . ',"' . $stamp . '",' . $activity . ',"' . $wp_cerber->getRequestID() . '","' . $country . '","' . $details . '", ' . $status . ', ' . $ac_bot . ',' . $ac_by_user . ')' );
5543
 
5544
  if ( ! $ret ) {
5545
  cerber_watchdog();
5546
+ $ret = false;
5547
  }
5548
+ else {
5549
+ $ret = true;
5550
+ }
5551
 
5552
  // Subscriptions - notifications for admin ---------------------------------------------------
5553
 
5654
  }
5655
  }
5656
 
5657
+ if ( in_array( $activity, array( 16, 17, 40, 50, CRB_EV_LDN, 55, 56, 71 ) ) ) {
5658
  lab_save_push( $ip, $activity );
5659
  }
5660
 
5880
  cerber_stop_activating( '<h3>' . sprintf( __( 'WP Cerber requires PHP %s or higher. You are running %s.', 'wp-cerber' ), CERBER_REQ_PHP, phpversion() ) . '</h3>' );
5881
  }
5882
 
5883
+ if ( ! crb_wp_version_compare( CERBER_REQ_WP ) ) {
5884
  cerber_stop_activating( '<h3>' . sprintf( __( 'WP Cerber requires WordPress %s or higher. You are running %s.', 'wp-cerber' ), CERBER_REQ_WP, cerber_get_wp_version() ) . '</h3>' );
5885
  }
5886
 
6007
  *
6008
  */
6009
  function cerber_upgrade_all( $force = false ) {
6010
+
6011
  $ver = get_site_option( '_cerber_up' );
 
6012
 
6013
+ if ( ! $force && crb_array_get( $ver, 'v' ) == CERBER_VER ) {
6014
+ return;
6015
+ }
6016
 
6017
+ $d = @ini_get( 'display_errors' );
6018
+ @ini_set( 'display_errors', 0 );
6019
 
6020
+ @ignore_user_abort( true );
6021
 
6022
+ crb_raise_limits();
 
6023
 
6024
+ CRB_Globals::$doing_upgrade = true;
6025
+ @define( 'CRB_DOING_UPGRADE', 1 );
 
 
 
 
 
6026
 
6027
+ crb_clear_admin_msg();
6028
+ cerber_create_db();
6029
 
6030
+ if ( $errors = cerber_upgrade_db() ) {
6031
+ // TODO make it work, see CRB_Globals::$doing_upgrade
6032
+ cerber_admin_notice( $errors );
6033
+ }
6034
 
6035
+ cerber_antibot_gene( true );
6036
+ cerber_upgrade_settings();
6037
+ cerber_htaccess_sync( 'main' );
 
 
 
6038
 
6039
+ cerber_bg_task_add( 'cerber_upgrade_deferred' );
 
 
6040
 
6041
+ update_site_option( '_cerber_up', array( 'v' => CERBER_VER, 't' => time() ) );
6042
+
6043
+ cerber_push_the_news();
6044
+ cerber_delete_expired_set( true );
6045
+ CRB_Cache::reset();
6046
+ if ( wp_next_scheduled( 'cerber_hourly' ) ) {
6047
+ wp_clear_scheduled_hook( 'cerber_hourly' ); // not in use since v. 5.8.
6048
  }
6049
+
6050
+ lab_get_key( true );
6051
+ CRB_Globals::$doing_upgrade = false;
6052
+ delete_site_transient( 'update_plugins' );
6053
+
6054
+ @ini_set( 'display_errors', $d );
6055
  }
6056
 
6057
  /**
6257
  /**
6258
  * Upgrade structure of existing DB tables
6259
  *
6260
+ * @return array Errors occurred during upgrading database tables
6261
  *
6262
  * @since 3.0
6263
  */
6359
  ';
6360
  }
6361
 
6362
+ // @since 8.9.4
6363
+ if ( $force || ! cerber_is_column( CERBER_LOG_TABLE, 'ac_status' ) ) {
6364
+ $sql[] = 'ALTER TABLE ' . CERBER_LOG_TABLE . '
6365
+ ADD ac_bot int(10) UNSIGNED NOT NULL DEFAULT 0,
6366
+ ADD ac_status int(10) UNSIGNED NOT NULL DEFAULT 0,
6367
+ ADD ac_by_user bigint(20) UNSIGNED NOT NULL DEFAULT 0';
6368
+ }
6369
+
6370
  if ( ! empty( $sql ) ) {
6371
  foreach ( $sql as $query ) {
6372
  $query = str_replace( '"', '\'', $query );
6376
 
6377
  cerber_acl_fixer();
6378
 
6379
+ if ( $db_errors = cerber_db_get_errors() ) {
6380
+ cerber_db_error_log( cerber_db_get_errors( true, false ) );
6381
  }
6382
 
6383
  return $db_errors;
6576
  wp_enqueue_script( 'jquery' );
6577
  }
6578
  }
6579
+
6580
  add_action( 'wp_enqueue_scripts', 'cerber_scripts' );
6581
  function cerber_scripts() {
 
6582
  if ( ( ( is_singular() || is_archive() ) && cerber_antibot_enabled( array( 'botscomm', 'botsany' ) ) )
6583
+ || ( crb_get_settings( 'sitekey' ) && crb_get_settings( 'secretkey' ) )
6584
  ) {
6585
  wp_enqueue_script( 'jquery' );
6586
  }
6593
  */
6594
  add_action( 'login_footer', 'cerber_login_register_stuff', 1000 );
6595
  function cerber_login_register_stuff() {
 
6596
 
6597
  cerber_antibot_code( array( 'botsreg', 'botsany' ) );
6598
 
6599
+ if ( ! get_wp_cerber()->recaptcha_here ) {
6600
  return;
6601
  }
6602
 
6603
  // Universal JS
6604
 
6605
+ if ( ! crb_get_settings( 'invirecap' ) ) {
 
 
6606
  // Classic version (visible reCAPTCHA)
6607
  echo '<script src = https://www.google.com/recaptcha/api.js?hl=' . cerber_recaptcha_lang() . ' async defer></script>';
6608
  }
6629
  'callback': function (g_recaptcha_response) {
6630
  HTMLFormElement.prototype.submit.call(form);
6631
  },
6632
+ 'sitekey': '<?php echo crb_get_settings('sitekey'); ?>',
6633
  'size': 'invisible',
6634
  'badge': 'bottomright'
6635
  });
6651
  */
6652
  add_action( 'wp_footer', 'cerber_wp_footer', PHP_INT_MAX );
6653
  function cerber_wp_footer() {
 
6654
 
6655
  if ( is_singular() || is_archive() ) {
6656
  cerber_antibot_code( array( 'botscomm', 'botsany' ) );
6657
  }
6658
 
6659
+ if ( ! get_wp_cerber()->recaptcha_here ) {
6660
  return;
6661
  }
6662
 
6726
  } );
6727
 
6728
  function cerber_error_shield( $mode = 1 ) {
 
6729
 
6730
  if ( ! $mode || ( crb_get_settings( 'tierrnoauth' ) && crb_is_user_logged_in() ) ) {
6731
  return;
6781
  cerber_db_query( 'INSERT INTO ' . CERBER_QMEM_TABLE . ' (ip, http_code, stamp)
6782
  VALUES ("' . $ip . '",' . intval( http_response_code() ) . ',' . time() . ')' );
6783
 
6784
+ if ( ! CRB_Globals::$blocked ) {
6785
  $t = time() - $time;
6786
  $c = cerber_db_get_var( 'SELECT COUNT(ip) FROM ' . CERBER_QMEM_TABLE . ' WHERE ip = "' . $ip . '" AND stamp > ' . $t );
6787
  if ( $c >= $limit ) {
6788
  cerber_soft_block_add( $ip, 711 );
6789
+ CRB_Globals::$act_status = 18;
6790
  }
6791
  }
6792
 
6807
  }
6808
 
6809
  function cerber_traffic_log(){
6810
+ global $cerber_php_errors, $wp_query, $wp_cerber_start_stamp, $blog_id;
6811
  static $done = false;
6812
 
6813
  if ( $done || cerber_is_cloud_request() ) {
6870
  if ( function_exists( 'get_current_user_id' ) ) {
6871
  $user_id = get_current_user_id();
6872
  }
6873
+ if ( ! $user_id && CRB_Globals::$user_id ) {
6874
+ $user_id = absint( CRB_Globals::$user_id );
6875
  }
6876
 
6877
  if ( ! cerber_to_log( $wp_type, $http_code, $user_id ) ) {
7039
  $fields = ( $fields ) ? cerber_real_escape( $fields ) : '';
7040
  $php_err = ( $php_err ) ? cerber_real_escape( $php_err ) : '';
7041
 
7042
+ if ( ! $req_status = absint( CRB_Globals::$req_status ) ) {
7043
  if ( crb_acl_is_white() ) {
7044
  $req_status = 510;
7045
  }
7081
  * @since 6.0
7082
  */
7083
  function cerber_to_log( $wp_type, $http_code, $user_id ) {
 
7084
 
7085
  if ( nexus_is_valid_request() ) {
7086
  return false;
7117
  }
7118
 
7119
  if ( $mode == 3 ) {
7120
+ if ( CRB_Globals::$logged ) {
7121
  return true;
7122
  }
7123
 
7126
 
7127
  // Smart mode ---------------------------------------------------------
7128
 
7129
+ if ( ! empty( CRB_Globals::$req_status ) ) {
7130
  return true;
7131
  }
7132
 
7133
+ if ( ! empty( CRB_Globals::$logged ) ) {
7134
+ $tmp = CRB_Globals::$logged;
7135
+ unset( $tmp[ CRB_EV_LFL ], $tmp[51], $tmp[52] );
7136
  if ( ! empty( $tmp ) ) {
7137
  return true;
7138
  }
7139
  }
7140
 
7141
+ if ( CRB_Globals::$blocked ) {
7142
  return true;
7143
  }
7144
 
7331
  * @since 6.0
7332
  */
7333
  function cerber_beast() {
 
7334
 
7335
  if ( is_admin()
7336
  || cerber_is_wp_cron()
7351
 
7352
  // White list by IP
7353
  if ( crb_get_settings( 'tiipwhite' ) && crb_acl_is_white() ) {
7354
+ CRB_Globals::$req_status = 500;
7355
  return;
7356
  }
7357
 
7364
  if ( $item[0] == '{' && substr( $item, - 1 ) == '}' ) {
7365
  $pattern = '/' . substr( $item, 1, - 1 ) . '/i';
7366
  if ( @preg_match( $pattern, $uri ) ) {
7367
+ CRB_Globals::$req_status = 501;
7368
 
7369
  return;
7370
  }
7372
  else {
7373
  $cmp = ( substr( $item, - 1 ) == '/' ) ? $uri_slash : $uri; // Someone may specify trailing slash
7374
  if ( $item == $cmp ) {
7375
+ CRB_Globals::$req_status = 501;
7376
 
7377
  return;
7378
  }
7391
  if ( $uri_script && $script_filename = cerber_script_filename() ) { // @since 8.6.3.4
7392
  // Scanning for executable scripts?
7393
  if ( ! cerber_script_exists( $uri ) && ! cerber_is_login_request() ) {
7394
+ CRB_Globals::$act_status = 19;
7395
  cerber_log( 55 );
7396
  if ( $ti_mode > 1 ) {
7397
  cerber_soft_block_add( null, 708 );
7402
  $deny = false;
7403
  if ( crb_acl_is_black() ) {
7404
  $deny = true;
7405
+ CRB_Globals::$act_status = 14;
7406
  }
7407
  //elseif ( ! in_array( $uri_script, cerber_get_wp_scripts() ) ) {
7408
  elseif ( ! CRB_Request::is_script( cerber_get_wp_scripts() ) ) {
7409
  if ( ! cerber_is_ip_allowed() ) {
7410
  $deny = true;
7411
+ CRB_Globals::$act_status = 13;
7412
  }
7413
  elseif ( lab_is_blocked( null, true ) ) {
7414
  $deny = true;
7415
+ CRB_Globals::$act_status = 15;
7416
  }
7417
  }
7418
  if ( $deny ) {
7468
  * @return bool|int
7469
  */
7470
  function cerber_inspect_array( &$array, $white = array() ) {
7471
+
7472
  static $rec_limit = null;
7473
 
7474
  if ( ! $array ) {
7482
  $rec_limit --;
7483
  if ( $rec_limit <= 0 ) {
7484
  $rec_limit = null;
7485
+ CRB_Globals::$act_status = 20;
7486
 
7487
  return 100;
7488
  }
7509
  }
7510
 
7511
  function cerber_inspect_value( &$value = '', $reset = false ) {
7512
+
7513
  static $rec_limit = null; // Real recursion limit
7514
 
7515
  if ( ! $value || is_numeric( $value ) ) {
7527
  $rec_limit --;
7528
  if ( $rec_limit <= 0 ) {
7529
  $rec_limit = null;
7530
+ CRB_Globals::$act_status = 21;
7531
 
7532
  return 100;
7533
  }
7541
  else {
7542
  $parsed = cerber_detect_php_code( $value );
7543
  if ( ! empty( $parsed[0] ) ) {
7544
+ CRB_Globals::$act_status = 22;
7545
  $found = 100;
7546
  }
7547
  elseif ( ! empty( $parsed[1] ) ) {
7553
  }
7554
  }
7555
  if ( ! $found && cerber_detect_other_code( $value ) ) {
7556
+ CRB_Globals::$act_status = 23;
7557
  $found = 100;
7558
  }
7559
  if ( ! $found && cerber_detect_js_code( $value ) ) {
7560
+ CRB_Globals::$act_status = 24;
7561
  $found = 100;
7562
  }
7563
  }
7992
  $ver = '';
7993
 
7994
  foreach ( $text as $line ) {
7995
+ $line = ltrim( $line, '* ' );
7996
  $line = trim( $line );
7997
 
7998
  if ( ! $line ) {
8098
  return $ret;
8099
  }
8100
 
8101
+ add_action( 'wp_create_application_password', function ( $user_id, $new_item, $new_password, $args ) {
8102
+ cerber_log( 150, '', $user_id );
8103
+ }, 0, 4 );
8104
+
8105
+ add_action( 'wp_update_application_password', function ( $user_id, $item, $update ) {
8106
+ cerber_log( 149, '', $user_id );
8107
+ }, 0, 3 );
8108
 
8109
  /**
8110
  * Check if the current user is the website admin (can manage website)
cerber-pluggable.php CHANGED
@@ -43,18 +43,48 @@ if ( ! defined( 'WPINC' ) ) {
43
  *
44
  */
45
 
46
- if( ! function_exists( 'wp_set_password' ) ) {
47
  function wp_set_password( $password, $user_id ) {
48
  global $wpdb;
49
 
50
  $hash = wp_hash_password( $password );
51
- $wpdb->update( $wpdb->users, array( 'user_pass' => $hash,
52
- 'user_activation_key' => ''
53
- ), array( 'ID' => $user_id ) );
 
 
 
 
54
 
55
- //wp_cache_delete( $user_id, 'users' );
56
  clean_user_cache( $user_id );
57
 
58
  do_action( 'crb_after_reset', null, $user_id );
59
  }
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  *
44
  */
45
 
46
+ if ( ! function_exists( 'wp_set_password' ) ) {
47
  function wp_set_password( $password, $user_id ) {
48
  global $wpdb;
49
 
50
  $hash = wp_hash_password( $password );
51
+ $wpdb->update(
52
+ $wpdb->users,
53
+ array(
54
+ 'user_pass' => $hash,
55
+ 'user_activation_key' => ''
56
+ ),
57
+ array( 'ID' => $user_id ) );
58
 
 
59
  clean_user_cache( $user_id );
60
 
61
  do_action( 'crb_after_reset', null, $user_id );
62
  }
63
+ }
64
+
65
+ if ( ! function_exists( 'wp_logout' ) ) :
66
+ /**
67
+ * Log the current user out.
68
+ *
69
+ * @since 8.9.4
70
+ */
71
+ function wp_logout() {
72
+ $user_id = get_current_user_id();
73
+
74
+ CRB_Globals::$do_not_log[22] = true;
75
+
76
+ wp_destroy_current_session();
77
+ wp_clear_auth_cookie();
78
+ wp_set_current_user( 0 );
79
+
80
+ /**
81
+ * Fires after a user is logged out.
82
+ *
83
+ * @since 1.5.0
84
+ * @since 5.5.0 Added the `$user_id` parameter.
85
+ *
86
+ * @param int $user_id ID of the user that was logged out.
87
+ */
88
+ do_action( 'wp_logout', $user_id );
89
+ }
90
+ endif;
cerber-ripe.php CHANGED
@@ -172,7 +172,7 @@ function ripe_readable_info($ip){
172
  $value = '<a href="mailto:' . $value . '">' . $value . '</a>';
173
  }
174
  elseif ( strtolower( $att['name'] ) == 'country' ) {
175
- $value = cerber_get_flag_html( $value ) . '<b>' . cerber_country_name( $value ) . ' (' . $value . ')</b>';
176
  $ret['country'] = $value;
177
  }
178
 
172
  $value = '<a href="mailto:' . $value . '">' . $value . '</a>';
173
  }
174
  elseif ( strtolower( $att['name'] ) == 'country' ) {
175
+ $value = cerber_get_flag_html( $value, '<b>' . cerber_country_name( $value ) . ' (' . $value . ')</b>' );
176
  $ret['country'] = $value;
177
  }
178
 
cerber-scanner.php CHANGED
@@ -4426,7 +4426,7 @@ function cerber_quarantine_file( $file_name, $scan_id, $move = true ) {
4426
 
4427
  if ( is_wp_error( $can ) ) {
4428
  return $can;
4429
- //return new WP_Error( 'cerber-del', "This file can't be deleted: " . $file_name );
4430
  }
4431
  }
4432
 
@@ -4541,28 +4541,25 @@ function crb_move_copy( $file_name, $new_name, $move = true ) {
4541
  }
4542
 
4543
  /**
4544
- * Some files cannot be deleted
4545
  *
4546
- * @param $file_name
4547
  * @param bool $check_inclusion
4548
  *
4549
- * @return true|WP_Error true if a file can be safely deleted
4550
  */
4551
  function cerber_can_be_deleted( $file_name, $check_inclusion = false ) {
4552
 
4553
  if ( ! file_exists( $file_name ) || ! is_file( $file_name ) || is_link( $file_name ) ) {
4554
  return new WP_Error( 'cerber_no_file', 'This file cannot be deleted because it doesn\'t exist: ' . $file_name );
4555
- //return false;
4556
  }
4557
 
4558
  if ( cerber_is_htaccess( $file_name ) || cerber_is_dropin( $file_name ) ) {
4559
  return new WP_Error( 'cerber_file_not_allowed', 'This file is not allowed to be deleted: ' . $file_name );
4560
- //return false;
4561
  }
4562
 
4563
  if ( $check_inclusion && in_array( $file_name, get_included_files() ) ) {
4564
  return new WP_Error( 'cerber_file_active', 'This file cannot be deleted because it \'s loaded and in use: ' . $file_name );
4565
- //return false;
4566
  }
4567
 
4568
  if ( basename( $file_name ) == 'wp-config.php' ) {
@@ -4573,11 +4570,7 @@ function cerber_can_be_deleted( $file_name, $check_inclusion = false ) {
4573
  || ( ! file_exists( $abspath . 'wp-config.php' ) && $file_name == dirname( $abspath ) . DIRECTORY_SEPARATOR . 'wp-config.php' ) ) {
4574
 
4575
  return new WP_Error( 'cerber_file_not_allowed', 'This file is not allowed to be deleted: ' . $file_name );
4576
- //return false;
4577
  }
4578
- /*if ( ! file_exists( $abspath . 'wp-config.php' ) && $file_name == dirname( $abspath ) . DIRECTORY_SEPARATOR . 'wp-config.php' ) {
4579
- return false;
4580
- }*/
4581
  }
4582
 
4583
  return true;
4426
 
4427
  if ( is_wp_error( $can ) ) {
4428
  return $can;
4429
+ //return new WP_Error( 'cerber-del', "This file may not be deleted: " . $file_name );
4430
  }
4431
  }
4432
 
4541
  }
4542
 
4543
  /**
4544
+ * Can a given file be safely deleted? Some files may not.
4545
  *
4546
+ * @param string $file_name
4547
  * @param bool $check_inclusion
4548
  *
4549
+ * @return true|WP_Error true if a file may be safely deleted
4550
  */
4551
  function cerber_can_be_deleted( $file_name, $check_inclusion = false ) {
4552
 
4553
  if ( ! file_exists( $file_name ) || ! is_file( $file_name ) || is_link( $file_name ) ) {
4554
  return new WP_Error( 'cerber_no_file', 'This file cannot be deleted because it doesn\'t exist: ' . $file_name );
 
4555
  }
4556
 
4557
  if ( cerber_is_htaccess( $file_name ) || cerber_is_dropin( $file_name ) ) {
4558
  return new WP_Error( 'cerber_file_not_allowed', 'This file is not allowed to be deleted: ' . $file_name );
 
4559
  }
4560
 
4561
  if ( $check_inclusion && in_array( $file_name, get_included_files() ) ) {
4562
  return new WP_Error( 'cerber_file_active', 'This file cannot be deleted because it \'s loaded and in use: ' . $file_name );
 
4563
  }
4564
 
4565
  if ( basename( $file_name ) == 'wp-config.php' ) {
4570
  || ( ! file_exists( $abspath . 'wp-config.php' ) && $file_name == dirname( $abspath ) . DIRECTORY_SEPARATOR . 'wp-config.php' ) ) {
4571
 
4572
  return new WP_Error( 'cerber_file_not_allowed', 'This file is not allowed to be deleted: ' . $file_name );
 
4573
  }
 
 
 
4574
  }
4575
 
4576
  return true;
cerber-settings.php CHANGED
@@ -824,6 +824,7 @@ function cerber_settings_config( $args = array() ) {
824
  ),
825
  'tiipwhite' => array(
826
  'title' => __( 'Use White IP Access List', 'wp-cerber' ),
 
827
  'type' => 'checkbox',
828
  'enabler' => array( 'tienabled', '[1,2]' ),
829
  ),
@@ -1284,6 +1285,11 @@ function cerber_settings_config( $args = array() ) {
1284
  'label' => __( 'Disable bot detection engine for logged-in users', 'wp-cerber' ),
1285
  'type' => 'checkbox',
1286
  ),
 
 
 
 
 
1287
  'botswhite' => array(
1288
  'title' => __( 'Query whitelist', 'wp-cerber' ),
1289
  'label' => __( 'Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line.', 'wp-cerber' ),
@@ -1361,13 +1367,19 @@ function cerber_settings_config( $args = array() ) {
1361
  'type' => 'checkbox',
1362
  ),
1363
  'recapcom' => array(
1364
- 'title' => __( 'Anti-spam', 'wp-cerber' ),
1365
  'label' => __( 'Enable reCAPTCHA for WordPress comment form', 'wp-cerber' ),
1366
  'type' => 'checkbox',
1367
  ),
1368
- 'recapcomauth' => array(
1369
- 'title' => '',
1370
- 'label' => __( 'Disable reCAPTCHA for logged-in users', 'wp-cerber' ),
 
 
 
 
 
 
1371
  'type' => 'checkbox',
1372
  ),
1373
  'recaplimit' => array(
@@ -1522,6 +1534,11 @@ function crb_get_activity_dd( $first = '' ) {
1522
  unset( $labels[151] );
1523
  unset( $labels[152] );
1524
 
 
 
 
 
 
1525
  asort( $labels );
1526
 
1527
  if ( ! $first ) {
@@ -1550,9 +1567,9 @@ function crb_get_activity_dd( $first = '' ) {
1550
  function cerber_normalize( $values, $group ) {
1551
  $def = cerber_get_defaults();
1552
  if ( isset( $def[ $group ] ) ) {
1553
- $keys = array_keys( $def[ $group ] );
1554
  $empty = array_fill_keys( $keys, '' );
1555
- $values = array_merge( $empty, $values );
1556
  }
1557
 
1558
  return $values;
@@ -1725,14 +1742,15 @@ function cerber_get_defaults( $setting = null ) {
1725
  'pdata_act' => 0,
1726
  'pdata_trf' => array(),
1727
  ),
1728
- CERBER_OPT_A => array(
1729
- 'botscomm' => 1,
1730
- 'botsreg' => 0,
1731
- 'botsany' => 0,
1732
- 'botssafe' => 0,
1733
- 'botsnoauth' => 1,
1734
- 'customcomm' => 0,
1735
- 'botswhite' => '',
 
1736
 
1737
  'spamcomm' => 0,
1738
  'trashafter' => 7,
@@ -1749,7 +1767,8 @@ function cerber_get_defaults( $setting = null ) {
1749
  'recapwoolost' => 0,
1750
  'recapwooreg' => 0,
1751
  'recapcom' => 0,
1752
- 'recapcomauth' => 0,
 
1753
  'recaptcha-period' => 60,
1754
  'recaptcha-number' => 3,
1755
  'recaptcha-within' => 30,
824
  ),
825
  'tiipwhite' => array(
826
  'title' => __( 'Use White IP Access List', 'wp-cerber' ),
827
+ 'label' => __( 'Use less restrictive security filters for IP addresses in the White IP Access List', 'wp-cerber' ),
828
  'type' => 'checkbox',
829
  'enabler' => array( 'tienabled', '[1,2]' ),
830
  ),
1285
  'label' => __( 'Disable bot detection engine for logged-in users', 'wp-cerber' ),
1286
  'type' => 'checkbox',
1287
  ),
1288
+ 'botsipwhite' => array(
1289
+ 'title' => __( 'Use White IP Access List', 'wp-cerber' ),
1290
+ 'label' => __( 'Disable bot detection engine for IP addresses in the White IP Access List', 'wp-cerber' ),
1291
+ 'type' => 'checkbox',
1292
+ ),
1293
  'botswhite' => array(
1294
  'title' => __( 'Query whitelist', 'wp-cerber' ),
1295
  'label' => __( 'Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line.', 'wp-cerber' ),
1367
  'type' => 'checkbox',
1368
  ),
1369
  'recapcom' => array(
1370
+ 'title' => __( 'Comment form', 'wp-cerber' ),
1371
  'label' => __( 'Enable reCAPTCHA for WordPress comment form', 'wp-cerber' ),
1372
  'type' => 'checkbox',
1373
  ),
1374
+ 'recapcomauth' => array(
1375
+ 'title' => '',
1376
+ 'label' => __( 'Disable reCAPTCHA for logged-in users', 'wp-cerber' ),
1377
+ 'enabler' => array( 'recapcom' ),
1378
+ 'type' => 'checkbox',
1379
+ ),
1380
+ 'recapipwhite' => array(
1381
+ 'title' => __( 'Use White IP Access List', 'wp-cerber' ),
1382
+ 'label' => __( 'Disable reCAPTCHA for IP addresses in the White IP Access List', 'wp-cerber' ),
1383
  'type' => 'checkbox',
1384
  ),
1385
  'recaplimit' => array(
1534
  unset( $labels[151] );
1535
  unset( $labels[152] );
1536
 
1537
+ // Not in use and replaced by statuses 532 - 534 since 8.9.4.
1538
+ unset( $labels[40] );
1539
+ unset( $labels[41] );
1540
+ unset( $labels[42] );
1541
+
1542
  asort( $labels );
1543
 
1544
  if ( ! $first ) {
1567
  function cerber_normalize( $values, $group ) {
1568
  $def = cerber_get_defaults();
1569
  if ( isset( $def[ $group ] ) ) {
1570
+ $keys = array_keys( $def[ $group ] );
1571
  $empty = array_fill_keys( $keys, '' );
1572
+ $values = array_merge( $empty, $values );
1573
  }
1574
 
1575
  return $values;
1742
  'pdata_act' => 0,
1743
  'pdata_trf' => array(),
1744
  ),
1745
+ CERBER_OPT_A => array(
1746
+ 'botscomm' => 1,
1747
+ 'botsreg' => 0,
1748
+ 'botsany' => 0,
1749
+ 'botssafe' => 0,
1750
+ 'botsnoauth' => 1,
1751
+ 'botsipwhite' => '1',
1752
+ 'customcomm' => 0,
1753
+ 'botswhite' => '',
1754
 
1755
  'spamcomm' => 0,
1756
  'trashafter' => 7,
1767
  'recapwoolost' => 0,
1768
  'recapwooreg' => 0,
1769
  'recapcom' => 0,
1770
+ 'recapcomauth' => 1,
1771
+ 'recapipwhite' => 0,
1772
  'recaptcha-period' => 60,
1773
  'recaptcha-number' => 3,
1774
  'recaptcha-within' => 30,
cerber-whois.php CHANGED
@@ -78,7 +78,7 @@ function cerber_ip_whois_info( $ip ) {
78
  $value = '<a href="mailto:' . $value . '">' . $value . '</a>';
79
  }
80
  elseif ( strtolower( $key ) == 'country' ) {
81
- $value = cerber_get_flag_html( $value ) . '<b>' . cerber_country_name( $value ) . ' (' . $value . ')</b>';
82
  $ret['country'] = $value;
83
  }
84
 
@@ -213,12 +213,13 @@ function make_whois_request($server, $ip) {
213
  *
214
  */
215
  function cerber_get_flag_html( $code, $txt = '' ) {
216
- global $crb_assets_url;
217
  if ( ! $code ) {
218
  return '';
219
  }
220
 
221
- return '<span class="crb-country" style="background: url(\'' . $crb_assets_url . 'flags/' . strtolower( $code ) . '.gif\') no-repeat left;">' . $txt . '</span>';
 
222
  }
223
  /*
224
  *
@@ -272,11 +273,17 @@ function cerber_country_name( $code ) {
272
 
273
  function cerber_get_country_list() {
274
  global $cerber_country_names;
 
275
  $ret = array();
276
  foreach ( $cerber_country_names as $code => $name ) {
277
  $ret[ $code ] = cerber_country_name( $code );
278
  }
279
 
 
 
 
 
 
280
  return $ret;
281
  }
282
 
78
  $value = '<a href="mailto:' . $value . '">' . $value . '</a>';
79
  }
80
  elseif ( strtolower( $key ) == 'country' ) {
81
+ $value = cerber_get_flag_html( $value, '<b>' . cerber_country_name( $value ) . ' (' . $value . ')</b>' );
82
  $ret['country'] = $value;
83
  }
84
 
213
  *
214
  */
215
  function cerber_get_flag_html( $code, $txt = '' ) {
216
+
217
  if ( ! $code ) {
218
  return '';
219
  }
220
 
221
+ //return '<span class="crb-country" style="background: url(\'' . CRB_Globals::$assets_url . 'flags/' . strtolower( $code ) . '.gif\') no-repeat left;">' . $txt . '</span>';
222
+ return '<div class="crb-country-label"><img alt="' . $code . '" class="crb-country-flag" src="' . CRB_Globals::$assets_url . 'flags/' . strtolower( $code ) . '.png">' . $txt . '</div>';
223
  }
224
  /*
225
  *
273
 
274
  function cerber_get_country_list() {
275
  global $cerber_country_names;
276
+
277
  $ret = array();
278
  foreach ( $cerber_country_names as $code => $name ) {
279
  $ret[ $code ] = cerber_country_name( $code );
280
  }
281
 
282
+ // Remove non-countries
283
+
284
+ unset( $ret['EU'] );
285
+ unset( $ret['EZ'] );
286
+
287
  return $ret;
288
  }
289
 
changelog.txt CHANGED
@@ -1,56 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  = 8.9.3 =
2
- Improved: The scanner: now checksums generated using manually uploaded ZIP archives have priority over the remote ones.
3
- Improved: You can configure exceptions for WP Cerber's anti-spam by disabling its code on selected WordPress pages.
4
- Improved: New diagnostic messages were added for better troubleshooting issues with ZIP archives uploaded in the scanner.
5
- Fixed: A vulnerability that affects WP Cerber's two-factor authentication (2FA) mechanism.
6
- Fixed: A bug that prevents uploading ZIP archives on the scan results page if the filename contains multiple dots.
7
- Fixed: Fixed admin message "Error: Sorry, that username is not allowed." which is wrongly displayed on the user edit page while updating users with prohibited usernames.
8
- Fixed: Not detecting malformed REST API requests with a question mark in this format: /wp-json?
9
 
10
  = 8.9 =
11
- Improved: An updated scan statistic and filtering widget. Dynamically displays the most important issues with sorting.
12
- Improved: The percentage of completion of a scanner step is shown now.
13
- Improved: Sanitizing of malformed filenames in the scanner reports has been improved to avoid possible issues with the layout of the scan results page if malware creates malformed filenames to hinder their detection.
14
- Improved: Handling of WordPress locales and versions on websites with multilanguage plugins has been improved.
15
- Improved: A missing wp-config-sample.php file is not reported as an issue in the results of the scan anymore.
16
- Improved: Handling REGEX patterns for the setting fields "Restrict email addresses" and "Prohibited usernames". Now they support REGEX quantifiers.
17
- Improved: You can specify the "User-Agent" string for requests from the main (master) Cerber.Hub website by defining the PHP constant CERBER_HUB_UA in the wp-config.php file.
18
- Improved: Diagnostic logging for network requests to the WP Cerber cloud. To enable logging, define the PHP constant CERBER_CLOUD_DEBUG in the wp-config.php file. Logging covers admin operations on the WP Cerber admin pages only.
19
- Improved: Text on the forbidden page is translatable now.
20
- Fixed bug: Some long filenames in the scan results break the layout of the scan results page, making it hard to navigate and use.
21
- Fixed bug: Unwanted file extensions are not detected if a file is identified as malicious.
22
- Fixed bug: If a file is missing, the full filename is not shown in the scan results when clicking the “Show full filenames” icon.
23
- Fixed bug: "PHP Deprecated: Required parameter $function follows optional parameter $pattern in /plugins/wp-cerber/cerber-scanner.php".
24
- Fixed bug: "PHP Fatal error: Call to undefined function crb_admin_hash_token() in cerber-load.php:1521".
25
- Fixed bug: "PHP Notice: Undefined property: WP_Error::$ID in cerber-load.php on line 1131".
26
- Breaking changes on the plugin admin pages: all versions of Internet Explorer browser and Safari browser version 13.0 and older are not supported anymore, meaning some elements might not work as expected.
27
 
28
  = 8.8.5 =
29
  * New: Quick user activity analytics (user insights) with filtering links on the Activity and Live Traffic log pages. Select a user to see how it works.
30
  * New: Quick IP address activity and analytics (IP insights) with filtering links on the Activity and Live Traffic log pages. Select an IP address to see how it works.
31
- Improved: The selected user profile is displayed when filtering log entries by the user login or using the username search on the Activity log page.
32
- Improved: The IP address details and analytics are displayed when filtering log entries by the IP address or using the IP address search on the Activity log page.
33
- Improved: Implemented AJAX rendering of the plugin admin pages for faster loading and more convenient navigation through WP Cerber’s admin pages
34
- Improved: To load the Users admin page faster, the user table columns generated by WP Cerber are now loaded via AJAX.
35
- Improved: Highlighting the selected filtering link in the navigation bar on the Activity and Live Traffic log pages.
36
- Improved: You will not see false DB errors on the Diagnostic page anymore.
37
- Fixed bug: When scanning, you can come across the software error "Process has been aborted due to server error. Check the browser console for errors." and "Too few arguments" error in the server error log.
38
 
39
  = 8.8.3 =
40
- New: Mimicking the default WordPress user authentication through the wp-login.php to detect slow brute-force attacks.
41
- New: Prevent guessing valid usernames and user emails by disabling WordPress hints in the login error message when attempting to log in with non-existing usernames and emails.
42
- New: Prevent guessing valid usernames and user emails by disabling WordPress hints in the password reset error message when attempting to reset passwords for non-existing accounts.
43
- New: Prevent username discovery via oEmbed and user XML sitemaps.
44
- New: User and malicious activity are displayed separately in two different areas on WP Cerber’s main dashboard page.
45
- New: More convenient navigation through the WP Cerber admin pages by having the admin menu at the top.
46
- New: A new quick link "Login issues" to view all login issues such as failed logins, denied attempts, attempts to reset passwords, and so forth.
47
- Improved: Reduced the number of false positives when the malware scanner inspecting directives with external IP addresses in .htaccess files.
48
- Improved: Better [Two-factor authentication (2FA)](https://wpcerber.com/two-factor-authentication-for-wordpress/) emails: the wording of the verification email has been updated and can be translated. The email subject includes the site name.
49
- Improved: The size of the database tables used by the integrity checker and malware scanner has been reduced.
50
- Improved: Implemented a strictly secure way of utilizing the unserialize() PHP function known for being used to deliver and run malicious code.
51
- Improved: Implemented a backup way of running WP Cerber maintenance tasks if WordPress scheduled tasks are not configured properly.
52
- Fixed bug: Two-factor authentication (2FA) PINs are not displayed on the edit user admin pages in the WordPress dashboard.
53
- Fixed bug: The "API request authorization failed" event was logged as "Login failed".
54
 
55
  = 8.8 =
56
  * New: [You get control over the WordPress application passwords and the ability to monitor related events in the log with email and mobile notifications.](https://wpcerber.com/wordpress-application-passwords-how-to/)
1
+ = 8.9.5 =
2
+ * New: A new setting for [WP Cerber's anti-spam engine](https://wpcerber.com/antispam-for-wordpress-contact-forms/): "Disable bot detection engine for IP addresses in the White IP Access List".
3
+ * New: A new setting for [the reCAPTCHA module](https://wpcerber.com/how-to-setup-recaptcha/): "Disable reCAPTCHA for IP addresses in the White IP Access List".
4
+ * Improved: Logging all user session terminations including those that occurred when an admin manually terminate user sessions or [block users](https://wpcerber.com/how-to-block-wordpress-user/).
5
+ * Improved: If a user session has been terminated by a website admin, the admin’s name is logged and shown in the Activity log.
6
+ * Improved: Logging all user password changes including those made on the edit user admin page, and the WooCommerce edit account page.
7
+ * Improved: Logging [application passwords](https://wpcerber.com/wordpress-application-passwords-how-to/) changes.
8
+ * Improved: New status labels in the Activity log: "reCAPTCHA verified" is shown when a user solves reCAPTCHA successfully
9
+ * Improved: New status labels in the Activity log: "Logged out everywhere" is shown when a user has completely logged out on all devices and of all locations.
10
+ * Improved: Failed reCAPTCHA verifications are logged with form submission events they are linked to.
11
+ * Improved: A new event is logged: "Password reset request denied". With possible statuses "reCAPTCHA verification failed", "User blocked by administrator", "Username is prohibited".
12
+ * Improved: Handling reset of user passwords is improved to support changes in the WordPress core.
13
+ * Fixed: A cookie-related bug that causes a fatal software error if a user has been deleted or their password has been changed in the WordPress dashboard by the website administrator while the user is being logged in.
14
+ * Fixed: A bug with the WordPress lost password (reset password) form that prevents displaying error messages to a user.
15
+ * Fixed: When the [limit on the number of allowed concurrent user sessions](https://wpcerber.com/limiting-concurrent-user-sessions-in-wordpress/) is set to one, an attempt to log in with the user name and incorrect password terminates the existing session of the user.
16
+
17
  = 8.9.3 =
18
+ * Improved: The scanner: now checksums generated using manually uploaded ZIP archives have priority over the remote ones.
19
+ * Improved: You can configure exceptions for WP Cerber's anti-spam by disabling its code on selected WordPress pages.
20
+ * Improved: New diagnostic messages were added for better troubleshooting issues with ZIP archives uploaded in the scanner.
21
+ * Fixed: A vulnerability that affects WP Cerber's two-factor authentication (2FA) mechanism.
22
+ * Fixed: A bug that prevents uploading ZIP archives on the scan results page if the filename contains multiple dots.
23
+ * Fixed: Fixed admin message "Error: Sorry, that username is not allowed." which is wrongly displayed on the user edit page while updating users with prohibited usernames.
24
+ * Fixed: Not detecting malformed REST API requests with a question mark in this format: /wp-json?
25
 
26
  = 8.9 =
27
+ * Improved: An updated scan statistic and filtering widget. Dynamically displays the most important issues with sorting.
28
+ * Improved: The percentage of completion of a scanner step is shown now.
29
+ * Improved: Sanitizing of malformed filenames in the scanner reports has been improved to avoid possible issues with the layout of the scan results page if malware creates malformed filenames to hinder their detection.
30
+ * Improved: Handling of WordPress locales and versions on websites with multilanguage plugins has been improved.
31
+ * Improved: A missing wp-config-sample.php file is not reported as an issue in the results of the scan anymore.
32
+ * Improved: Handling REGEX patterns for the setting fields "Restrict email addresses" and "Prohibited usernames". Now they support REGEX quantifiers.
33
+ * Improved: You can specify the "User-Agent" string for requests from the main (master) Cerber.Hub website by defining the PHP constant CERBER_HUB_UA in the wp-config.php file.
34
+ * Improved: Diagnostic logging for network requests to the WP Cerber cloud. To enable logging, define the PHP constant CERBER_CLOUD_DEBUG in the wp-config.php file. Logging covers admin operations on the WP Cerber admin pages only.
35
+ * Improved: Text on the forbidden page is translatable now.
36
+ * Fixed bug: Some long filenames in the scan results break the layout of the scan results page, making it hard to navigate and use.
37
+ * Fixed bug: Unwanted file extensions are not detected if a file is identified as malicious.
38
+ * Fixed bug: If a file is missing, the full filename is not shown in the scan results when clicking the “Show full filenames” icon.
39
+ * Fixed bug: "PHP Deprecated: Required parameter $function follows optional parameter $pattern in /plugins/wp-cerber/cerber-scanner.php".
40
+ * Fixed bug: "PHP Fatal error: Call to undefined function crb_admin_hash_token() in cerber-load.php:1521".
41
+ * Fixed bug: "PHP Notice: Undefined property: WP_Error::$ID in cerber-load.php on line 1131".
42
+ * Breaking changes on the plugin admin pages: all versions of Internet Explorer browser and Safari browser version 13.0 and older are not supported anymore, meaning some elements might not work as expected.
43
 
44
  = 8.8.5 =
45
  * New: Quick user activity analytics (user insights) with filtering links on the Activity and Live Traffic log pages. Select a user to see how it works.
46
  * New: Quick IP address activity and analytics (IP insights) with filtering links on the Activity and Live Traffic log pages. Select an IP address to see how it works.
47
+ * Improved: The selected user profile is displayed when filtering log entries by the user login or using the username search on the Activity log page.
48
+ * Improved: The IP address details and analytics are displayed when filtering log entries by the IP address or using the IP address search on the Activity log page.
49
+ * Improved: Implemented AJAX rendering of the plugin admin pages for faster loading and more convenient navigation through WP Cerber’s admin pages
50
+ * Improved: To load the Users admin page faster, the user table columns generated by WP Cerber are now loaded via AJAX.
51
+ * Improved: Highlighting the selected filtering link in the navigation bar on the Activity and Live Traffic log pages.
52
+ * Improved: You will not see false DB errors on the Diagnostic page anymore.
53
+ * Fixed bug: When scanning, you can come across the software error "Process has been aborted due to server error. Check the browser console for errors." and "Too few arguments" error in the server error log.
54
 
55
  = 8.8.3 =
56
+ * New: Mimicking the default WordPress user authentication through the wp-login.php to detect slow brute-force attacks.
57
+ * New: Prevent guessing valid usernames and user emails by disabling WordPress hints in the login error message when attempting to log in with non-existing usernames and emails.
58
+ * New: Prevent guessing valid usernames and user emails by disabling WordPress hints in the password reset error message when attempting to reset passwords for non-existing accounts.
59
+ * New: Prevent username discovery via oEmbed and user XML sitemaps.
60
+ * New: User and malicious activity are displayed separately in two different areas on WP Cerber’s main dashboard page.
61
+ * New: More convenient navigation through the WP Cerber admin pages by having the admin menu at the top.
62
+ * New: A new quick link "Login issues" to view all login issues such as failed logins, denied attempts, attempts to reset passwords, and so forth.
63
+ * Improved: Reduced the number of false positives when the malware scanner inspecting directives with external IP addresses in .htaccess files.
64
+ * Improved: Better [Two-factor authentication (2FA)](https://wpcerber.com/two-factor-authentication-for-wordpress/) emails: the wording of the verification email has been updated and can be translated. The email subject includes the site name.
65
+ * Improved: The size of the database tables used by the integrity checker and malware scanner has been reduced.
66
+ * Improved: Implemented a strictly secure way of utilizing the unserialize() PHP function known for being used to deliver and run malicious code.
67
+ * Improved: Implemented a backup way of running WP Cerber maintenance tasks if WordPress scheduled tasks are not configured properly.
68
+ * Fixed bug: Two-factor authentication (2FA) PINs are not displayed on the edit user admin pages in the WordPress dashboard.
69
+ * Fixed bug: The "API request authorization failed" event was logged as "Login failed".
70
 
71
  = 8.8 =
72
  * New: [You get control over the WordPress application passwords and the ability to monitor related events in the log with email and mobile notifications.](https://wpcerber.com/wordpress-application-passwords-how-to/)
languages/wp-cerber-nl_NL.po CHANGED
@@ -44,7 +44,7 @@ msgstr "Aangepaste inlogpagina"
44
  msgid "Custom login URL"
45
  msgstr "Aangepaste inlog-URL"
46
 
47
- #: cerber-settings.php:284 admin/cerber-dashboard.php:2076
48
  msgid "Citadel mode"
49
  msgstr "Citadelstand"
50
 
@@ -56,7 +56,7 @@ msgstr "Drempelwaarde"
56
  msgid "Duration"
57
  msgstr "Duur"
58
 
59
- #: cerber-settings.php:305 admin/cerber-dashboard.php:5138
60
  msgid "Notifications"
61
  msgstr "Meldingen"
62
 
@@ -64,125 +64,125 @@ msgstr "Meldingen"
64
  msgid "Send notification to admin email"
65
  msgstr "Melding versturen naar admin e-mailadres"
66
 
67
- #: admin/cerber-dashboard.php:5135 admin/cerber-tools.php:38
68
  #: admin/cerber-tools.php:49
69
  msgid "Access Lists"
70
  msgstr "Toegangslijsten"
71
 
72
- #: cerber-load.php:5392 cerber-settings.php:317
73
- #: admin/cerber-dashboard.php:2117 admin/cerber-dashboard.php:5131
74
- #: admin/cerber-users.php:1112
75
  msgid "Activity"
76
  msgstr "Activiteit"
77
 
78
- #: admin/cerber-dashboard.php:5133
79
  msgid "Lockouts"
80
  msgstr "Uitsluitingen"
81
 
82
- #: cerber-load.php:5401
83
  msgid "IP"
84
  msgstr "IP"
85
 
86
- #: admin/cerber-dashboard.php:944 admin/cerber-dashboard.php:1329
87
- #: admin/cerber-dashboard.php:3909 admin/cerber-dashboard.php:4396
88
  msgid "Date"
89
  msgstr "Datum"
90
 
91
- #: admin/cerber-dashboard.php:947 admin/cerber-dashboard.php:1331
92
- #: admin/cerber-dashboard.php:4401
93
  msgid "Local User"
94
  msgstr "Lokale gebruiker"
95
 
96
- #: cerber-load.php:5409
97
  msgid "Username used"
98
  msgstr "Toegepaste gebruikersnaam"
99
 
100
- #: cerber-common.php:1510
101
  msgid "Logged in"
102
  msgstr "Ingelogd"
103
 
104
- #: cerber-common.php:1511
105
  msgid "Logged out"
106
  msgstr "Uitgelogd"
107
 
108
- #: cerber-common.php:1512
109
  msgid "Login failed"
110
  msgstr "Inloggen mislukt"
111
 
112
- #: cerber-common.php:1515 admin/cerber-dashboard.php:1088
113
  msgid "IP blocked"
114
  msgstr "IP geblokkeerd"
115
 
116
- #: cerber-common.php:1519
117
  msgid "Citadel activated!"
118
  msgstr "Citadelstand geactiveerd!"
119
 
120
- #: cerber-common.php:1581 admin/cerber-dashboard.php:1681
121
  msgid "Locked out"
122
  msgstr "Buitengesloten"
123
 
124
- #: cerber-common.php:1583
125
  msgid "IP blacklisted"
126
  msgstr "IP uitgesloten"
127
 
128
- #: cerber-common.php:1532
129
  msgid "Password changed"
130
  msgstr "Wachtwoord veranderd"
131
 
132
- #: admin/cerber-dashboard.php:205 admin/cerber-dashboard.php:330
133
  msgid "Remove"
134
  msgstr "Verwijderen"
135
 
136
- #: admin/cerber-dashboard.php:661
137
  msgid "Lockout for %s was removed"
138
  msgstr "Uitsluiting voor %s is verwijderd"
139
 
140
- #: admin/cerber-dashboard.php:276 admin/cerber-dashboard.php:1588
141
- #: admin/cerber-dashboard.php:1672 admin/cerber-dashboard.php:2074
142
  #: admin/cerber-tools.php:69
143
  msgid "White IP Access List"
144
  msgstr "Toegelaten IP-adressen"
145
 
146
- #: admin/cerber-dashboard.php:279 admin/cerber-dashboard.php:1591
147
- #: admin/cerber-dashboard.php:1675 admin/cerber-dashboard.php:2075
148
  #: admin/cerber-tools.php:70
149
  msgid "Black IP Access List"
150
  msgstr "Uitgesloten IP-adressen"
151
 
152
- #: admin/cerber-dashboard.php:336
153
  msgid "List is empty"
154
  msgstr "Lijst is leeg"
155
 
156
- #: cerber-load.php:4598
157
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
158
  msgstr "Citadelstand geactiveerd na %d mislukte inlogpogingen binnen %d minuten."
159
 
160
- #: admin/cerber-dashboard.php:2845 admin/cerber-dashboard.php:3270
161
  msgid "View Activity"
162
  msgstr "Activiteit bekijken"
163
 
164
- #: nexus/cerber-nexus.php:95 admin/cerber-dashboard.php:5204
165
- #: admin/cerber-dashboard.php:5265 admin/cerber-tools.php:37
166
  #: admin/cerber-tools.php:48
167
  msgid "Settings"
168
  msgstr "Instellingen"
169
 
170
- #: admin/cerber-dashboard.php:1945
171
  msgid "Last login"
172
  msgstr "Laatst ingelogd"
173
 
174
- #: cerber-common.php:1858 nexus/cerber-slave-list.php:347
175
- #: admin/cerber-dashboard.php:477 admin/cerber-dashboard.php:2048
176
- #: admin/cerber-dashboard.php:2097
177
  msgid "Never"
178
  msgstr "Nooit"
179
 
180
- #: admin/cerber-dashboard.php:5627 admin/cerber-tools.php:59
181
- #: admin/cerber-admin.php:739 admin/cerber-admin.php:906
182
  msgid "Are you sure?"
183
  msgstr "Weet je het zeker?"
184
 
185
- #: cerber-settings.php:263 admin/cerber-dashboard.php:2482
186
  msgid "My site is behind a reverse proxy"
187
  msgstr "Mijn website draait achter een reverse proxy"
188
 
@@ -194,52 +194,52 @@ msgstr "Maak je bescherming slimmer!"
194
  msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
195
  msgstr "Schakel Permalinks in om deze functionaliteit te gebruiken. Stel de Permalinks instelling in op iets anders dan Standaard."
196
 
197
- #: admin/cerber-dashboard.php:5134
198
  msgid "Main Settings"
199
  msgstr "Hoofdinstellingen"
200
 
201
- #: admin/cerber-dashboard.php:5424
202
  msgid "Help"
203
  msgstr "Hulp"
204
 
205
- #: admin/cerber-admin-settings.php:350
206
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
207
  msgstr "Uitsluiting verlengen naar %s uur na %s uitsluitingen in de afgelopen %s uur"
208
 
209
- #: cerber-load.php:357 admin/cerber-users.php:463
210
  msgid "You are not allowed to log in. Ask your administrator for assistance."
211
  msgstr "Je hebt geen toestemming om in te loggen. Vraag je beheerder om informatie."
212
 
213
- #: admin/cerber-dashboard.php:215 admin/cerber-users.php:923
214
  msgid "Expires"
215
  msgstr "Verloopt"
216
 
217
- #: admin/cerber-dashboard.php:243 admin/cerber-dashboard.php:2716
218
  msgid "No lockouts at the moment. The sky is clear."
219
  msgstr "Momenteel geen uitsluitingen."
220
 
221
- #: admin/cerber-dashboard.php:286
222
  msgid "Your IP"
223
  msgstr "Jouw IP"
224
 
225
- #: cerber-load.php:4599
226
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
227
  msgstr "Laatste mislukte inlogpoging was op %s vanaf IP %s op gebruiker %s."
228
 
229
- #: cerber-load.php:5679
230
  msgid "Can't activate WP Cerber due to a database error."
231
  msgstr "Kan WP Cerber niet activeren door een fout in de database."
232
 
233
- #: admin/cerber-admin-settings.php:358
234
  msgid "Notify admin if the number of active lockouts above"
235
  msgstr "Stuur admin een melding bij meer uitsluitingen dan"
236
 
237
- #: cerber-settings.php:321 cerber-settings.php:327 cerber-settings.php:959
238
- #: cerber-settings.php:965 cerber-settings.php:1044 cerber-settings.php:1282
239
  msgid "days"
240
  msgstr "dagen"
241
 
242
- #: admin/cerber-dashboard.php:2014
243
  msgid "Cerber Quick View"
244
  msgstr "Cerber Quick View"
245
 
@@ -247,35 +247,35 @@ msgstr "Cerber Quick View"
247
  msgid "Always block entire subnet Class C of intruders IP"
248
  msgstr "Blokkeer altijd gehele IP Class C subnet van aanvaller"
249
 
250
- #: cerber-settings.php:311 admin/cerber-admin-settings.php:363
251
  msgid "Click to send test"
252
  msgstr "Klik om test te verzenden"
253
 
254
- #: admin/cerber-admin-settings.php:673 admin/cerber-admin-settings.php:674
255
  msgid "Attention! You have changed the login URL! The new login URL is"
256
  msgstr "Let op! Je hebt de inlog-URL veranderd. De nieuwe inlog-URL is"
257
 
258
- #: admin/cerber-dashboard.php:1944
259
  msgid "Comments"
260
  msgstr "Reacties"
261
 
262
- #: cerber-load.php:4600 cerber-load.php:5433
263
  msgid "View activity in dashboard"
264
  msgstr "Activiteiten bekijken in dashboard"
265
 
266
- #: cerber-load.php:4629
267
  msgid "Number of active lockouts"
268
  msgstr "Aantal actieve uitsluitingen"
269
 
270
- #: cerber-load.php:4633
271
  msgid "View lockouts in dashboard"
272
  msgstr "Uitsluitingen bekijken in dashboard"
273
 
274
- #: cerber-load.php:4727
275
  msgid "This message was sent by"
276
  msgstr "Dit bericht is verzonden door"
277
 
278
- #: admin/cerber-dashboard.php:88 admin/cerber-dashboard.php:5316
279
  msgid "Tools"
280
  msgstr "Gereedschap"
281
 
@@ -327,56 +327,56 @@ msgstr "Instellingen geïmporteerd van"
327
  msgid "Error while parsing file"
328
  msgstr "Fout bij verwerken bestand"
329
 
330
- #: admin/cerber-dashboard.php:213 admin/cerber-dashboard.php:1327
331
  msgid "Hostname"
332
  msgstr "Hostnaam"
333
 
334
- #: admin/cerber-dashboard.php:599
335
  msgid "unknown"
336
  msgstr "onbekend"
337
 
338
- #: admin/cerber-dashboard.php:2053 admin/cerber-dashboard.php:2083
339
  msgid "active"
340
  msgstr "actief"
341
 
342
- #: admin/cerber-dashboard.php:2053
343
  msgid "deactivate"
344
  msgstr "deactiveren"
345
 
346
- #: admin/cerber-dashboard.php:2057
347
  msgid "not active"
348
  msgstr "niet actief"
349
 
350
- #: admin/cerber-dashboard.php:2060 admin/cerber-dashboard.php:2078
351
  msgid "disabled"
352
  msgstr "gedeactiveerd"
353
 
354
- #: admin/cerber-dashboard.php:2066
355
  msgid "failed attempts"
356
  msgstr "mislukte pogingen"
357
 
358
- #: admin/cerber-dashboard.php:2066 admin/cerber-dashboard.php:2067
359
  msgid "in 24 hours"
360
  msgstr "in 24 uur"
361
 
362
- #: admin/cerber-dashboard.php:2066 admin/cerber-dashboard.php:2067
363
  msgid "view all"
364
  msgstr "bekijk alles"
365
 
366
- #: admin/cerber-dashboard.php:2067
367
  msgid "lockouts"
368
  msgstr "uitsluitingen"
369
 
370
- #: admin/cerber-dashboard.php:2069
371
  msgid "Lockouts at the moment"
372
  msgstr "Actuele uitsluitingen"
373
 
374
- #: admin/cerber-dashboard.php:2070
375
  msgid "Last lockout"
376
  msgstr "Recente uitsluiting"
377
 
378
- #: admin/cerber-dashboard.php:2074 admin/cerber-dashboard.php:2075
379
- #: admin/cerber-dashboard.php:3031
380
  msgid "entry"
381
  msgid_plural "entries"
382
  msgstr[0] "item"
@@ -386,19 +386,19 @@ msgstr[1] "items"
386
  msgid "Load default settings"
387
  msgstr "Aanbevolen instellingen laden"
388
 
389
- #: cerber-settings.php:763
390
  msgid "New version is available"
391
  msgstr "Nieuwe versie beschikbaar"
392
 
393
- #: cerber-load.php:4572
394
  msgid "WP Cerber notify"
395
  msgstr "WP Cerber melding"
396
 
397
- #: cerber-load.php:4596
398
  msgid "Citadel mode is activated"
399
  msgstr "Citadelstand is actief"
400
 
401
- #: cerber-load.php:4672
402
  msgid "New Custom login URL"
403
  msgstr "Nieuwe Aangepaste inlog-URL"
404
 
@@ -410,39 +410,39 @@ msgstr "Bestand gebruiken"
410
  msgid "Write failed login attempts to the file"
411
  msgstr "Mislukte pogingen opslaan in bestand"
412
 
413
- #: admin/cerber-dashboard.php:2844
414
  msgid "Deactivate"
415
  msgstr "Deactiveren"
416
 
417
- #: cerber-load.php:4631 admin/cerber-dashboard.php:216
418
  msgid "Reason"
419
  msgstr "Reden"
420
 
421
- #: admin/cerber-dashboard.php:1739
422
  msgid "Add IP to the Black List"
423
  msgstr "IP-adres toevoegen aan Uitsluitingslijst"
424
 
425
- #: cerber-common.php:1681
426
  msgid "Attempt to access"
427
  msgstr "Poging tot toegang"
428
 
429
- #: cerber-common.php:1680
430
  msgid "Limit on login attempts is reached"
431
  msgstr "Limiet voor aantal inlogpogingen is bereikt"
432
 
433
- #: cerber-load.php:4630
434
  msgid "Last lockout was added: %s for IP %s"
435
  msgstr "Laatste uitsluiting was toegevoegd: %s voor IP-adres %s"
436
 
437
- #: admin/cerber-dashboard.php:5136
438
  msgid "Hardening"
439
  msgstr "Versterking"
440
 
441
- #: admin/cerber-dashboard.php:1711
442
  msgid "Abuse email:"
443
  msgstr "E-mail voor misbruik:"
444
 
445
- #: cerber-settings.php:750 cerber-settings.php:797 cerber-settings.php:1098
446
  msgid "Email Address"
447
  msgstr "E-mailadres"
448
 
@@ -474,182 +474,182 @@ msgstr "Blokkeer toegang tot de RSS-, Atom- en RDF-feeds"
474
  msgid "Disable REST API"
475
  msgstr "REST API uitschakelen"
476
 
477
- #: cerber-load.php:4661 cerber-load.php:5722
478
  msgid "WP Cerber is now active and has started protecting your site"
479
  msgstr "WP Cerber is actief en beschermt nu je website"
480
 
481
- #: admin/cerber-dashboard.php:217 admin/cerber-users.php:926
482
- #: admin/cerber-admin.php:775 admin/cerber-admin.php:930
483
  msgid "Action"
484
  msgstr "Actie"
485
 
486
- #: admin/cerber-dashboard.php:5473
487
  msgid "Incorrect IP address or IP range"
488
  msgstr "IP-adres of -reeks is incorrect"
489
 
490
- #: admin/cerber-dashboard.php:2860
491
  msgid "Settings saved"
492
  msgstr "Instellingen opgeslagen"
493
 
494
- #: admin/cerber-dashboard.php:1717
495
  msgid "Network:"
496
  msgstr "Netwerk:"
497
 
498
- #: admin/cerber-dashboard.php:1733
499
  msgid "Add network to the Black List"
500
  msgstr "Netwerk toevoegen aan Uitsluitingslijst"
501
 
502
- #: admin/cerber-dashboard.php:2843
503
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
504
  msgstr "Let op! Citadelstand is actief; niemand kan inloggen."
505
 
506
- #: cerber-whois.php:235 cerber-whois.php:266 cerber-common.php:1705
507
- #: nexus/cerber-slave-list.php:333 admin/cerber-dashboard.php:458
508
- #: admin/cerber-dashboard.php:4062 admin/cerber-dashboard.php:4633
509
  msgid "Unknown"
510
  msgstr "Onbekend"
511
 
512
- #: cerber-load.php:662 cerber-load.php:674 cerber-load.php:681
513
- #: cerber-load.php:1020 cerber-load.php:1842 cerber-load.php:2006
514
- #: cerber-load.php:2185 cerber-common.php:380 cerber-common.php:479
515
- #: cerber-common.php:484 cerber-common.php:490 cerber-common.php:494
516
- #: nexus/cerber-nexus-slave.php:204 nexus/cerber-nexus-slave.php:215
517
- #: admin/cerber-admin-settings.php:645 admin/cerber-admin-settings.php:665
518
- #: admin/cerber-admin-settings.php:772 admin/cerber-admin.php:876
519
  msgid "ERROR:"
520
  msgstr "FOUT:"
521
 
522
- #: cerber-load.php:691
523
  msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
524
  msgstr "Menselijke verificatie mislukt. Klik het vierkant in onderstaand reCAPTCHA-blok."
525
 
526
- #: cerber-load.php:1820
527
  msgid "Username is not allowed. Please choose another one."
528
  msgstr "Gebruikersnaam is niet toegestaan, kies een andere."
529
 
530
- #: cerber-load.php:4624
531
  msgid "unspecified"
532
  msgstr "niet gespecificeerd"
533
 
534
- #: cerber-load.php:4627
535
  msgid "Number of lockouts is increasing"
536
  msgstr "Aantal uitsluitingen loopt op"
537
 
538
- #: cerber-load.php:4632
539
  msgid "View activity for this IP"
540
  msgstr "Bekijk activiteit voor dit adres"
541
 
542
- #: cerber-load.php:4636 cerber-load.php:4638
543
  msgid "A new version of WP Cerber is available to install"
544
  msgstr "De nieuwste versie WP Cerber staat klaar voor installatie"
545
 
546
- #: cerber-load.php:4637
547
  msgid "Hi!"
548
  msgstr "Hallo!"
549
 
550
- #: cerber-load.php:4640 cerber-load.php:4651 nexus/cerber-slave-list.php:44
551
  msgid "Website"
552
  msgstr "Website"
553
 
554
- #: cerber-load.php:4643 cerber-load.php:4644
555
  msgid "The WP Cerber security plugin has been deactivated"
556
  msgstr "WP Cerber is gedeactiveerd"
557
 
558
- #: cerber-load.php:4646
559
  msgid "Not logged in"
560
  msgstr "Niet ingelogd"
561
 
562
- #: cerber-load.php:4652
563
  msgid "By user"
564
  msgstr "Door gebruiker"
565
 
566
- #: cerber-load.php:4653
567
  msgid "From IP address"
568
  msgstr "Van IP-adres"
569
 
570
- #: cerber-load.php:4656
571
  msgid "From country"
572
  msgstr "Uit land"
573
 
574
- #: cerber-load.php:4660
575
  msgid "The WP Cerber security plugin is now active"
576
  msgstr "WP Cerber is actief"
577
 
578
- #: cerber-load.php:5735
579
  msgid "Import settings"
580
  msgstr "Instellingen importeren"
581
 
582
- #: cerber-settings.php:758
583
  msgid "Notification limit"
584
  msgstr "Limiet aan meldingen"
585
 
586
- #: cerber-settings.php:660
587
  msgid "Prohibited usernames"
588
  msgstr "Verboden gebruikersnamen"
589
 
590
- #: cerber-settings.php:661
591
  msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
592
  msgstr "Gebruikersnamen op deze lijst kunnen niet aanmelden of inloggen. IP-adressen die deze namen gebruiken, worden direct uitgesloten. Scheid namen met een komma."
593
 
594
- #: cerber-settings.php:1288
595
  msgid "reCAPTCHA settings"
596
  msgstr "reCAPTCHA-instellingen"
597
 
598
- #: cerber-settings.php:1293
599
  msgid "Site key"
600
  msgstr "Site-sleutel"
601
 
602
- #: cerber-settings.php:1297
603
  msgid "Secret key"
604
  msgstr "Geheime sleutel"
605
 
606
- #: cerber-settings.php:1307
607
  msgid "Enable reCAPTCHA for WordPress registration form"
608
  msgstr "ReCAPTCHA instellen voor WordPress regstratieformulier"
609
 
610
- #: cerber-settings.php:1316
611
  msgid "Lost password form"
612
  msgstr "Formulier voor zoekgeraakt wachtwoord"
613
 
614
- #: cerber-settings.php:1326
615
  msgid "Login form"
616
  msgstr "Login-formulier"
617
 
618
- #: cerber-settings.php:1327
619
  msgid "Enable reCAPTCHA for WordPress login form"
620
  msgstr "ReCAPTCHA inschakelen voor WordPress inlogpagina"
621
 
622
- #: cerber-settings.php:1289
623
  msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
624
  msgstr "Haal eerst een Site-sleutel en Geheime Sleutel op van Google om reCAPTCHA te kunnen gebruiken"
625
 
626
- #: cerber-lab.php:894 admin/cerber-admin-settings.php:101
627
- #: admin/cerber-admin-settings.php:257
628
  msgid "Know more"
629
  msgstr "Meer weten"
630
 
631
- #: cerber-common.php:1507
632
  msgid "User created"
633
  msgstr "Gebruiker toegevoegd"
634
 
635
- #: cerber-common.php:1508
636
  msgid "User registered"
637
  msgstr "Gebruiker aangemeld"
638
 
639
- #: cerber-common.php:1536
640
  msgid "reCAPTCHA verification failed"
641
  msgstr "reCAPTCHA verificatie mislukt"
642
 
643
- #: cerber-common.php:1537
644
  msgid "reCAPTCHA settings are incorrect"
645
  msgstr "foutieve reCAPTCHA-instellingen"
646
 
647
  #. I see this line used where someone tries to log in from a blocked URL. So shouldn't this line be "Attempt to access from a prohibited URL" ?
648
- #: cerber-common.php:1540 cerber-common.php:1682
649
  msgid "Attempt to access prohibited URL"
650
  msgstr "Poging verboden URL te benaderen"
651
 
652
- #: cerber-common.php:1542 cerber-common.php:1684
653
  msgid "Attempt to log in with prohibited username"
654
  msgstr "Inlogpoging met verboden gebruikersnaam"
655
 
@@ -665,82 +665,82 @@ msgstr "Stuur kwaadaardige IP-adressen naar Cerber Lab"
665
  msgid "Cerber Lab protocol"
666
  msgstr "Cerber Lab protocol"
667
 
668
- #: cerber-settings.php:1223 cerber-settings.php:1306
669
  msgid "Registration form"
670
  msgstr "Registratieformulier"
671
 
672
- #: cerber-settings.php:1312
673
  msgid "Enable reCAPTCHA for WooCommerce registration form"
674
  msgstr "ReCAPTCHA inschakelen voor WooCommerce registratie"
675
 
676
- #: cerber-settings.php:1317
677
  msgid "Enable reCAPTCHA for WordPress lost password form"
678
  msgstr "ReCAPTCHA inschakelen om nieuw WordPress wachtwoord op te vragen"
679
 
680
- #: cerber-settings.php:1322
681
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
682
  msgstr "ReCAPTCHA inschakelen om nieuw WooCommerce wachtwoord op te vragen"
683
 
684
- #: cerber-settings.php:1332
685
  msgid "Enable reCAPTCHA for WooCommerce login form"
686
  msgstr "ReCAPTCHA inschakelen voor WooCommerce inlogpagina"
687
 
688
- #: cerber-common.php:1538
689
  msgid "Request to the Google reCAPTCHA service failed"
690
  msgstr "Verzoek aan Google ReCAPTCHA-service mislukt"
691
 
692
- #: admin/cerber-dashboard.php:1057 admin/cerber-dashboard.php:1068
693
- #: admin/cerber-dashboard.php:1081 admin/cerber-dashboard.php:2719
694
- #: admin/cerber-dashboard.php:4429
695
  msgid "View all"
696
  msgstr "Zie alle"
697
 
698
- #: admin/cerber-dashboard.php:2727
699
  msgid "Recently locked out IP addresses"
700
  msgstr "Recent buitengesloten IP-adressen"
701
 
702
- #: cerber-lab.php:892
703
  msgid "OK, nail them all"
704
  msgstr "OK, gooi ze er allemaal uit"
705
 
706
- #: cerber-lab.php:893
707
  msgid "NO, maybe later"
708
  msgstr "Nee, misschien later"
709
 
710
- #: admin/cerber-dashboard.php:60 admin/cerber-dashboard.php:2116
711
- #: admin/cerber-dashboard.php:3053 admin/cerber-dashboard.php:5130
712
  msgid "Dashboard"
713
  msgstr "Dashboard"
714
 
715
- #: cerber-lab.php:890
716
  msgid "Want to make WP Cerber even more powerful?"
717
  msgstr "Wil je WP Cerber nog beter maken?"
718
 
719
- #: cerber-lab.php:891
720
  msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
721
  msgstr "Sta WP Cerber toe om geblokkeerde boosaardige IP-adressen te delen met Cerber Lab. Dat helpt ons betere algoritmes te maken om WordPress te beschermen tegen nieuwe bedreigingen en botnets. Je kunt je toestemming altijd weer intrekken."
722
 
723
- #: admin/cerber-dashboard.php:3908
724
  msgid "IP address"
725
  msgstr "IP-adres"
726
 
727
- #: admin/cerber-dashboard.php:948
728
  msgid "User login"
729
  msgstr "Gebruikers-login"
730
 
731
- #: admin/cerber-dashboard.php:949 admin/cerber-dashboard.php:3914
732
  msgid "User ID"
733
  msgstr "Gebruikers-ID"
734
 
735
- #: admin/cerber-dashboard.php:1361 admin/cerber-dashboard.php:4455
736
  msgid "Export"
737
  msgstr "Export"
738
 
739
- #: admin/cerber-dashboard.php:1386
740
  msgid "Search for IP or username"
741
  msgstr "Zoek IP of gebruikersnaam"
742
 
743
- #: admin/cerber-dashboard.php:1397
744
  msgid "Filter"
745
  msgstr "Filter"
746
 
@@ -756,15 +756,15 @@ msgstr "Cerber tools"
756
  msgid "Unsubscribe"
757
  msgstr "Uitschrijven"
758
 
759
- #: cerber-load.php:4676 cerber-load.php:4677
760
  msgid "A new activity has been recorded"
761
  msgstr "Er is nieuwe activiteit waargenomen"
762
 
763
- #: cerber-load.php:5405 admin/cerber-users.php:920
764
  msgid "User"
765
  msgstr "Gebruiker"
766
 
767
- #: cerber-load.php:5413
768
  msgid "Search string"
769
  msgstr "Zoekfrase"
770
 
@@ -776,16 +776,16 @@ msgstr "Datumformaat"
776
  msgid "if empty, the default format %s will be used"
777
  msgstr "indien leeg, gebruiken we standaardinstelling %s"
778
 
779
- #: cerber-settings.php:769
780
  msgid "Push notifications"
781
  msgstr "Push meldingen"
782
 
783
- #: cerber-settings.php:741
784
  msgid "Email notifications"
785
  msgstr "E-mail meldingen"
786
 
787
- #: cerber-settings.php:751 cerber-settings.php:799 cerber-settings.php:913
788
- #: cerber-settings.php:1100
789
  msgid "Use comma to specify multiple values"
790
  msgstr "Scheid meer waarden met komma's"
791
 
@@ -801,11 +801,11 @@ msgstr "Geen apparaten gevonden"
801
  msgid "Not available"
802
  msgstr "Niet beschikbaar"
803
 
804
- #: cerber-common.php:1533
805
  msgid "Password reset requested"
806
  msgstr "Wachtwoordvernieuwing aangevraagd"
807
 
808
- #: cerber-common.php:1685
809
  msgid "Limit on failed reCAPTCHA verifications is reached"
810
  msgstr "Grens bereikt van foutieve reCAPTCHA's"
811
 
@@ -817,27 +817,27 @@ msgstr "Pas regels voor inlogbeperking toe op de Lijst Toegelaten IP-adressen"
817
  msgid "Display 404 page"
818
  msgstr "Toon 404-pagina"
819
 
820
- #: cerber-settings.php:1301
821
  msgid "Invisible reCAPTCHA"
822
  msgstr "Onzichtbare reCAPTCHA"
823
 
824
- #: cerber-settings.php:1302
825
  msgid "Enable invisible reCAPTCHA"
826
  msgstr "Zet onzichtbare reCAPTCHA aan"
827
 
828
- #: cerber-settings.php:1302
829
  msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
830
  msgstr "(zet pas aan als je de Sitesleutel en Geheime Sleutel voor de onzichtbare versie hebt ontvangen)"
831
 
832
- #: cerber-settings.php:1337
833
  msgid "Enable reCAPTCHA for WordPress comment form"
834
  msgstr "Zet reCAPTCHA aan voor WordPress reacties"
835
 
836
- #: cerber-settings.php:1346
837
  msgid "Limit attempts"
838
  msgstr "Beperk aantal pogingen"
839
 
840
- #: cerber-settings.php:1347
841
  msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
842
  msgstr "Sluit IP-adressen uit voor %s minuten na %s mislukte pogingen in %s minuten"
843
 
@@ -845,108 +845,108 @@ msgstr "Sluit IP-adressen uit voor %s minuten na %s mislukte pogingen in %s minu
845
  msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
846
  msgstr "In de Citadelstand kunnen alleen adressen van de Lijst Toegelaten IP-adressen inloggen. Heeft geen effect op reeds ingelogde gebruikers."
847
 
848
- #: admin/cerber-dashboard.php:945 admin/cerber-dashboard.php:1330
849
  msgid "Event"
850
  msgstr "Gebeurtenis"
851
 
852
- #: cerber-common.php:321
853
  msgid "Spam comments denied"
854
  msgstr "Spamreacties afgewezen"
855
 
856
- #: cerber-common.php:323
857
  msgid "Malicious IP addresses detected"
858
  msgstr "Kwaadaardige IP-adressen gevonden"
859
 
860
- #: cerber-common.php:324
861
  msgid "Lockouts occurred"
862
  msgstr "Uitsluitingen"
863
 
864
- #: cerber-load.php:1798 cerber-load.php:1805 cerber-load.php:1810
865
- #: cerber-load.php:1831 cerber-load.php:1837
866
  msgid "You are not allowed to register."
867
  msgstr "Je mag niet aanmelden."
868
 
869
- #: cerber-common.php:1520
870
  msgid "Spam comment denied"
871
  msgstr "Spamreactie afgewezen"
872
 
873
- #: cerber-common.php:1545
874
  msgid "Attempt to log in denied"
875
  msgstr "Inlogpoging afgewezen"
876
 
877
- #: cerber-common.php:1546
878
  msgid "Attempt to register denied"
879
  msgstr "Aanmeldingspoging afgewezen"
880
 
881
- #: cerber-common.php:318
882
  msgid "Malicious activities mitigated"
883
  msgstr "Verdachte activiteiten afgevangen"
884
 
885
- #: cerber-settings.php:1228
886
  msgid "Comment form"
887
  msgstr "Reactiepagina"
888
 
889
- #: cerber-settings.php:1229
890
  msgid "Protect comment form with bot detection engine"
891
  msgstr "Bescherm invoer reacties met bot-detectie"
892
 
893
- #: cerber-settings.php:1224
894
  msgid "Protect registration form with bot detection engine"
895
  msgstr "Bescherm registratie met bot-detectie"
896
 
897
- #: admin/cerber-dashboard.php:5320
898
  msgid "Diagnostic"
899
  msgstr "Diagnose"
900
 
901
- #: admin/cerber-dashboard.php:5323
902
  msgid "License"
903
  msgstr "Licentie"
904
 
905
- #: cerber-load.php:2185
906
  msgid "Sorry, human verification failed."
907
  msgstr "Sorry, je verificatie faalt."
908
 
909
- #: cerber-common.php:1686
910
  msgid "Bot activity is detected"
911
  msgstr "Bot-activiteit getedecteerd"
912
 
913
- #: cerber-settings.php:1270
914
  msgid "Comment processing"
915
  msgstr "Verwerking van reactie"
916
 
917
- #: cerber-settings.php:1274
918
  msgid "If a spam comment detected"
919
  msgstr "Bij detectie van een spam-reactie"
920
 
921
- #: cerber-settings.php:1279
922
  msgid "Trash spam comments"
923
  msgstr "Spamreacties weggooien"
924
 
925
- #: cerber-settings.php:1281
926
  msgid "Move spam comments to trash after"
927
  msgstr "Verwijder spamreacties na"
928
 
929
- #: cerber-common.php:1521
930
  msgid "Spam form submission denied"
931
  msgstr "Geweigerd wegens spam"
932
 
933
- #: cerber-settings.php:1239
934
  msgid "Other forms"
935
  msgstr "Andere formulieren"
936
 
937
- #: cerber-settings.php:1240
938
  msgid "Protect all forms on the website with bot detection engine"
939
  msgstr "Bescherm alle invoerformulieren met bot-detectie"
940
 
941
- #: cerber-settings.php:1250
942
  msgid "Safe mode"
943
  msgstr "Veilige stand"
944
 
945
- #: cerber-settings.php:1251
946
  msgid "Use less restrictive policies (allow AJAX)"
947
  msgstr "Minder restricties (sta AJAX toe)"
948
 
949
- #: admin/cerber-dashboard.php:214 admin/cerber-dashboard.php:1328
950
  msgid "Country"
951
  msgstr "Land"
952
 
@@ -954,46 +954,46 @@ msgstr "Land"
954
  msgid "Cerber Security Rules"
955
  msgstr "Cerber Beveiligingsregels"
956
 
957
- #: admin/cerber-dashboard.php:67 admin/cerber-dashboard.php:5247
958
  msgid "Security Rules"
959
  msgstr "Beveiligingsregels"
960
 
961
- #: admin/cerber-dashboard.php:1946
962
  msgid "Failed login attempts"
963
  msgstr "Gefaalde loginpogingen"
964
 
965
- #: admin/cerber-dashboard.php:1870 admin/cerber-dashboard.php:1947
966
  msgid "Registered"
967
  msgstr "Aangemeld"
968
 
969
- #: admin/cerber-dashboard.php:1992 admin/cerber-users.php:52
970
- #: admin/cerber-users.php:1079
971
  msgid "You"
972
  msgstr "Jij"
973
 
974
- #: cerber-common.php:322
975
  msgid "Spam form submissions denied"
976
  msgstr "Spam formulierafgifte afgewezen"
977
 
978
- #: cerber-load.php:4663 cerber-load.php:5726
979
  msgid "Getting Started Guide"
980
  msgstr "Startgids"
981
 
982
- #: admin/cerber-dashboard.php:5249
983
  msgid "Countries"
984
  msgstr "Landen"
985
 
986
- #: admin/cerber-dashboard.php:3637
987
  msgid "Permitted for one country"
988
  msgid_plural "Permitted for %d countries"
989
  msgstr[0] "Toegestaan voor één land"
990
  msgstr[1] "Toegestaan voor %d landen"
991
 
992
- #: admin/cerber-dashboard.php:3648
993
  msgid "No rule"
994
  msgstr "Geen regel"
995
 
996
- #: admin/cerber-dashboard.php:3809
997
  msgid "Security rules have been updated"
998
  msgstr "Beveiligingsregels zijn vernieuwd"
999
 
@@ -1002,43 +1002,43 @@ msgstr "Beveiligingsregels zijn vernieuwd"
1002
  msgid "https://wpcerber.com"
1003
  msgstr "https://wpcerber.com"
1004
 
1005
- #: cerber-common.php:1522
1006
  msgid "Form submission denied"
1007
  msgstr "Formulierafgifte afgewezen"
1008
 
1009
- #: cerber-common.php:1523
1010
  msgid "Comment denied"
1011
  msgstr "Commentaar afgewezen"
1012
 
1013
- #: cerber-common.php:1551
1014
  msgid "Request to REST API denied"
1015
  msgstr "Verzoek aan REST API afgewezen"
1016
 
1017
- #: cerber-common.php:1579
1018
  msgid "Bot detected"
1019
  msgstr "Bot gedetecteerd"
1020
 
1021
- #: cerber-common.php:1580
1022
  msgid "Citadel mode is active"
1023
  msgstr "Citadelstand actief"
1024
 
1025
- #: cerber-common.php:1584
1026
  msgid "Malicious activity detected"
1027
  msgstr "Kwaadaardige activiteit gedetecteerd"
1028
 
1029
- #: cerber-common.php:1585
1030
  msgid "Blocked by country rule"
1031
  msgstr "Geblokkeerd door landenregel"
1032
 
1033
- #: cerber-common.php:1586
1034
  msgid "Limit reached"
1035
  msgstr "Limiet bereikt"
1036
 
1037
- #: cerber-common.php:1587
1038
  msgid "Multiple suspicious activities"
1039
  msgstr "Meerdere verdachte activiteiten"
1040
 
1041
- #: cerber-common.php:1687
1042
  msgid "Multiple suspicious activities were detected"
1043
  msgstr "Meerdere verdachte activiteiten gedetecteerd"
1044
 
@@ -1046,119 +1046,119 @@ msgstr "Meerdere verdachte activiteiten gedetecteerd"
1046
  msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
1047
  msgstr "Geef toegestane REST API-naamruimtes op als de REST API is uitgeschakeld. Eén tekenreeks per regel."
1048
 
1049
- #: cerber-settings.php:576
1050
  msgid "Registration limit"
1051
  msgstr "Registratielimiet"
1052
 
1053
- #: cerber-settings.php:686
1054
  msgid "Sort users in dashboard"
1055
  msgstr "Gebruikers in dashboard sorteren"
1056
 
1057
- #: cerber-settings.php:687
1058
  msgid "by date of registration"
1059
  msgstr "per registratiedatum"
1060
 
1061
- #: cerber-settings.php:1260
1062
  msgid "Query whitelist"
1063
  msgstr "Toegestane queries"
1064
 
1065
- #: admin/cerber-dashboard.php:3617
1066
  msgid "Start typing here to find a country"
1067
  msgstr "Begin te typen om een land te vinden"
1068
 
1069
- #: admin/cerber-dashboard.php:3732
1070
  msgid "Click on a country name to add it to the list of selected countries"
1071
  msgstr "Klik op een landnaam om toe te voegen aan de lijst gekozen landen"
1072
 
1073
- #: admin/cerber-dashboard.php:3764
1074
  msgid "Submit forms"
1075
  msgstr "Formulieren versturen"
1076
 
1077
- #: admin/cerber-dashboard.php:3765
1078
  msgid "Post comments"
1079
  msgstr "Commentaar plaatsen"
1080
 
1081
- #: admin/cerber-dashboard.php:3763
1082
  msgid "Register on the website"
1083
  msgstr "Aanmelden bij de website"
1084
 
1085
- #: admin/cerber-dashboard.php:3766
1086
  msgid "Use XML-RPC"
1087
  msgstr "Benut XML-RPC"
1088
 
1089
- #: admin/cerber-dashboard.php:3767
1090
  msgid "Use REST API"
1091
  msgstr "Benut REST API"
1092
 
1093
- #: cerber-settings.php:1276
1094
  msgid "Deny it completely"
1095
  msgstr "Volledig negeren"
1096
 
1097
- #: cerber-settings.php:1276
1098
  msgid "Mark it as spam"
1099
  msgstr "Markeren als spam"
1100
 
1101
- #: admin/cerber-dashboard.php:3054
1102
  msgid "Main settings"
1103
  msgstr "Hoofdinstellingen"
1104
 
1105
- #: cerber-settings.php:784
1106
  msgid "Weekly reports"
1107
  msgstr "Weekrapporten"
1108
 
1109
- #: admin/cerber-admin-settings.php:675 admin/cerber-admin-settings.php:676
1110
  msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
1111
  msgstr "Gebruik je een caching plugin, dan moet je je nieuwe login URL toevoegen aan de niet te cachen pagina's."
1112
 
1113
- #: cerber-load.php:4682
1114
  msgid "Weekly report"
1115
  msgstr "Weekrapport"
1116
 
1117
- #: cerber-load.php:4685 cerber-load.php:4693
1118
  msgid "To change reporting settings visit"
1119
  msgstr "Om je rapportageinstellingen aan te passen, ga naar"
1120
 
1121
- #: cerber-load.php:4719
1122
  msgid "Your login page:"
1123
  msgstr "Je login-pagina:"
1124
 
1125
- #: cerber-load.php:4724
1126
  msgid "Your license is valid until"
1127
  msgstr "Je licentie geldt tot"
1128
 
1129
- #: cerber-load.php:4830
1130
  msgid "Activity details"
1131
  msgstr "Details van activiteiten"
1132
 
1133
- #: admin/cerber-admin-settings.php:568
1134
  msgid "Click to send now"
1135
  msgstr "Klik om nu te versturen"
1136
 
1137
- #: admin/cerber-dashboard.php:669
1138
  msgid "Email has been sent to"
1139
  msgstr "E-mail is verzonden naar"
1140
 
1141
- #: admin/cerber-dashboard.php:672
1142
  msgid "Unable to send email to"
1143
  msgstr "Kan geen e-mail verzenden naar"
1144
 
1145
- #: admin/cerber-dashboard.php:3640
1146
  msgid "Not permitted for one country"
1147
  msgid_plural "Not permitted for %d countries"
1148
  msgstr[0] "Niet toegestaan voor één land"
1149
  msgstr[1] "Niet toegestaan voor %d landen"
1150
 
1151
- #: admin/cerber-dashboard.php:3736
1152
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1153
  msgid "Selected countries are permitted to %s, other countries are not permitted to"
1154
  msgstr "Gekozen landen mogen %s, overige landen niet"
1155
 
1156
- #: admin/cerber-dashboard.php:3739
1157
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1158
  msgid "Selected countries are not permitted to %s, other countries are permitted to"
1159
  msgstr "Gekozen landen mogen niet %s, overige landen wel"
1160
 
1161
- #: cerber-load.php:4818
1162
  msgid "Weekly Report"
1163
  msgstr "Weekrapport"
1164
 
@@ -1170,28 +1170,28 @@ msgstr "Gebruik 404-sjabloon van het actieve thema"
1170
  msgid "Display simple 404 page"
1171
  msgstr "Toon eenvoudige 404-pagina"
1172
 
1173
- #: cerber-settings.php:1261
1174
  msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
1175
  msgstr "Voer een deel van een query-tekenreeks of -pad in om een request uit te sluiten van inspectie. Eén item per regel."
1176
 
1177
- #: cerber-settings.php:788
1178
  msgid "Enable reporting"
1179
  msgstr "Rapporteren aanzetten"
1180
 
1181
  #. How to interpret this line? Do you mean 'was DATE/TIME from IP ADDRESS' ?
1182
- #: cerber-load.php:4748
1183
  msgid "Your last sign-in was %s from %s"
1184
  msgstr "Je laatste inlog was op %s vanaf %s"
1185
 
1186
- #: admin/cerber-dashboard.php:344
1187
  msgid "Optional comment for this entry"
1188
  msgstr "Opmerking hierbij"
1189
 
1190
- #: admin/cerber-dashboard.php:366
1191
  msgid "You cannot add your IP address or network"
1192
  msgstr "Je kunt je eigen IP of netwerk niet toevoegen"
1193
 
1194
- #: cerber-settings.php:592 cerber-settings.php:661
1195
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
1196
  msgstr "Je kunt REGEX-patronen gebruiken; sluit deze op in voorwaartse slashes zoals /admin.*/."
1197
 
@@ -1199,125 +1199,125 @@ msgstr "Je kunt REGEX-patronen gebruiken; sluit deze op in voorwaartse slashes z
1199
  msgid "Cerber Traffic Inspector"
1200
  msgstr "Cerber Verkeersinspectie"
1201
 
1202
- #: admin/cerber-dashboard.php:62 admin/cerber-dashboard.php:2079
1203
- #: admin/cerber-dashboard.php:5201
1204
  msgid "Traffic Inspector"
1205
  msgstr "Verkeersinspectie"
1206
 
1207
- #: admin/cerber-dashboard.php:2118 admin/cerber-users.php:1113
1208
  msgid "Traffic"
1209
  msgstr "Verkeer"
1210
 
1211
- #: admin/cerber-dashboard.php:4397
1212
  msgid "Request"
1213
  msgstr "Verzoek"
1214
 
1215
- #: admin/cerber-dashboard.php:4399 admin/cerber-users.php:925
1216
  msgid "Host Info"
1217
  msgstr "Host Info"
1218
 
1219
  #. Do you mean a program for browsing the web like Chrome? Or a ftp user agent or so?
1220
- #: admin/cerber-dashboard.php:4400
1221
  msgid "User Agent"
1222
  msgstr "Webbrowser"
1223
 
1224
- #: admin/cerber-dashboard.php:4434
1225
  msgid "Form submissions"
1226
  msgstr "Formulierverzendingen"
1227
 
1228
- #: admin/cerber-dashboard.php:4435
1229
  msgid "Page Not Found"
1230
  msgstr "Pagina niet gevonden"
1231
 
1232
- #: admin/cerber-dashboard.php:4442
1233
  msgid "Longer than"
1234
  msgstr "Langer dan"
1235
 
1236
- #: admin/cerber-dashboard.php:4461
1237
  msgid "Refresh"
1238
  msgstr "Ververs"
1239
 
1240
- #: cerber-common.php:225 admin/cerber-dashboard.php:1374
1241
  msgid "Check for requests"
1242
  msgstr "Controleer op verzoeken"
1243
 
1244
- #: admin/cerber-dashboard.php:4496
1245
  msgid "Not specified"
1246
  msgstr "Niet gespecificeerd"
1247
 
1248
- #: cerber-settings.php:865
1249
  msgid "Logging mode"
1250
  msgstr "Rapportagestand"
1251
 
1252
- #: cerber-settings.php:868
1253
  msgid "Logging disabled"
1254
  msgstr "Rapportage uit"
1255
 
1256
- #: cerber-settings.php:870
1257
  msgid "Smart"
1258
  msgstr "Slim"
1259
 
1260
- #: cerber-settings.php:871
1261
  msgid "All traffic"
1262
  msgstr "Alle verkeer"
1263
 
1264
- #: cerber-settings.php:911
1265
  msgid "Mask these form fields"
1266
  msgstr "Verberg deze formuliervelden"
1267
 
1268
- #: cerber-settings.php:952
1269
  msgid "milliseconds"
1270
  msgstr "milliseconden"
1271
 
1272
- #: cerber-settings.php:814
1273
  msgid "Enable traffic inspection"
1274
  msgstr "Verkeersinspectie aanzetten"
1275
 
1276
- #: cerber-settings.php:906
1277
  msgid "Save request fields"
1278
  msgstr "Bewaar verzoekvelden"
1279
 
1280
- #: cerber-settings.php:951
1281
  msgid "Page generation time threshold"
1282
  msgstr "Drempeltijd paginaopbouw"
1283
 
1284
- #: admin/cerber-dashboard.php:4422
1285
  msgid "No requests have been logged."
1286
  msgstr "Er zijn geen verzoeken geregistreerd."
1287
 
1288
- #: admin/cerber-dashboard.php:2078
1289
  msgid "enabled"
1290
  msgstr "aan"
1291
 
1292
- #: admin/cerber-dashboard.php:2083
1293
  msgid "no connection"
1294
  msgstr "geen verbinding"
1295
 
1296
- #: admin/cerber-dashboard.php:1898
1297
  msgid "Last seen"
1298
  msgstr "Laatst gezien"
1299
 
1300
- #: cerber-load.php:4456
1301
  msgid "We're sorry, you are not allowed to proceed"
1302
  msgstr "Excuus, je mag niet doorgaan"
1303
 
1304
- #: cerber-settings.php:828
1305
  msgid "Request whitelist"
1306
  msgstr "Verzoek om whitelist"
1307
 
1308
- #: cerber-settings.php:832
1309
  msgid "Enter a request URI to exclude the request from inspection. One item per line."
1310
  msgstr "Voer een 'request URI' in om deze van inspectie uit te sluiten. Eén per regel."
1311
 
1312
- #: cerber-settings.php:919
1313
  msgid "Save request headers"
1314
  msgstr "Sla 'request headers' op"
1315
 
1316
- #: cerber-settings.php:941
1317
  msgid "Save $_SERVER"
1318
  msgstr "Sla $_SERVER op"
1319
 
1320
- #: cerber-settings.php:931
1321
  msgid "Save request cookies"
1322
  msgstr "Sla 'request cookies' op"
1323
 
@@ -1330,23 +1330,23 @@ msgid "Block unauthorized access to load-scripts.php and load-styles.php"
1330
  msgstr "Blokkeer ongeoorloofde toegang tot load-scripts.php en load-styles.php\n"
1331
  ""
1332
 
1333
- #: cerber-common.php:3028
1334
  msgid "Unable to create the directory"
1335
  msgstr "Kan map niet aanmaken"
1336
 
1337
- #: cerber-common.php:3033
1338
  msgid "Destination folder access denied"
1339
  msgstr "Toegang bestemmingsmap afgewezen"
1340
 
1341
- #: cerber-common.php:3036
1342
  msgid "File not found"
1343
  msgstr "Bestand niet gevonden"
1344
 
1345
- #: cerber-common.php:3039
1346
  msgid "Unable to copy the file"
1347
  msgstr "Kan bestand niet kopiëren"
1348
 
1349
- #: cerber-common.php:3045
1350
  msgid "Unable to delete the file"
1351
  msgstr "Kan bestand niet verwijderen"
1352
 
@@ -1362,16 +1362,16 @@ msgstr "Verouderde stand"
1362
  msgid "Standard mode"
1363
  msgstr "Standaardinstelling"
1364
 
1365
- #: admin/cerber-admin-settings.php:646
1366
  msgid "Plugin initialization mode has not been changed"
1367
  msgstr "Plugin initialisatie is niet aangepast"
1368
 
1369
- #: cerber-common.php:1549
1370
  msgid "File upload denied"
1371
  msgstr "Bestandsupload afgewezen"
1372
 
1373
  #. Shouldn't these 'braces' be 'brackets'?
1374
- #: cerber-settings.php:832 cerber-settings.php:894
1375
  msgid "To specify a REGEX pattern, enclose a whole line in two braces."
1376
  msgstr "Zet bij een REGEX-patroon de hele regel tussen accolades { }."
1377
 
@@ -1383,32 +1383,32 @@ msgstr "Wees voorzichtig met deze opties!"
1383
  msgid "If you forget your Custom login URL, you will be unable to log in."
1384
  msgstr "Als je de Aangepaste inlog-URL vergeet, kun je niet meer inloggen."
1385
 
1386
- #: admin/cerber-dashboard.php:73 admin/cerber-dashboard.php:5262
1387
  msgid "Site Integrity"
1388
  msgstr "Site-integriteit"
1389
 
1390
- #: cerber-scanner.php:1717 cerber-settings.php:675 cerber-settings.php:817
1391
- #: cerber-settings.php:847 cerber-settings.php:981 cerber-settings.php:990
1392
- #: cerber-settings.php:1409 admin/cerber-dashboard.php:2103
1393
- #: admin/cerber-dashboard.php:2105 admin/cerber-users.php:20
1394
  #: admin/cerber-users.php:474 admin/cerber-users.php:488
1395
  msgid "Disabled"
1396
  msgstr "Uitgeschakeld"
1397
 
1398
- #: cerber-scanner.php:1032 admin/cerber-dashboard.php:2104
1399
  msgid "Quick Scan"
1400
  msgstr "Snelle Scan"
1401
 
1402
- #: cerber-scanner.php:1032 admin/cerber-dashboard.php:2106
1403
  msgid "Full Scan"
1404
  msgstr "Volledige scan"
1405
 
1406
- #: cerber-common.php:1588
1407
  msgid "Denied"
1408
  msgstr "Afgewezen"
1409
 
1410
- #: cerber-settings.php:174 cerber-settings.php:602 cerber-settings.php:629
1411
- #: cerber-settings.php:823
1412
  msgid "Use White IP Access List"
1413
  msgstr "Lijst Toegelaten IP-adressen gebruiken"
1414
 
@@ -1420,35 +1420,35 @@ msgstr "Dashboard omleiding uitzetten"
1420
  msgid "Disable automatic redirection to the login page when /wp-admin/ is requested by an unauthorized request"
1421
  msgstr "Automatische omleiding naar de loginpagina uitzetten als /wp-admin/ ongeautoriseerd wordt opgevraagd"
1422
 
1423
- #: cerber-settings.php:973
1424
  msgid "Scanner settings"
1425
  msgstr "Scanner-instellingen"
1426
 
1427
- #: cerber-settings.php:1013
1428
  msgid "Custom signatures"
1429
  msgstr "Ondertekening op maat"
1430
 
1431
- #: cerber-settings.php:1017
1432
  msgid "Specify custom PHP code signatures. One item per line. To specify a REGEX pattern, enclose a whole line in two braces."
1433
  msgstr "Eigen PHP code ondertekeningen, één per regel. Zet bij een REGEX-patroon de hele regel tussen accolades { }."
1434
 
1435
- #: cerber-settings.php:1004
1436
  msgid "Unwanted file extensions"
1437
  msgstr "Ongewenste bestandsextensies"
1438
 
1439
- #: cerber-settings.php:1010
1440
  msgid "Specify file extensions to search for. Full scan only. Use comma to separate items."
1441
  msgstr "Geef bedoelde bestandsextensies op, komma-gescheiden. Alleen tbv de volledige scan."
1442
 
1443
- #: cerber-settings.php:1020
1444
  msgid "Directories to exclude"
1445
  msgstr "Uit te sluiten mappen"
1446
 
1447
- #: cerber-settings.php:1042
1448
  msgid "Delete quarantined files after"
1449
  msgstr "Wis bestanden in quarantaine na"
1450
 
1451
- #: cerber-settings.php:1055
1452
  msgid "Launch Quick Scan"
1453
  msgstr "Begin Snelle Scan"
1454
 
@@ -1464,51 +1464,51 @@ msgstr "Elke 3 uur"
1464
  msgid "Every 6 hours"
1465
  msgstr "Elke 6 uur"
1466
 
1467
- #: cerber-settings.php:1060
1468
  msgid "Launch Full Scan"
1469
  msgstr "Start volledige scan"
1470
 
1471
- #: cerber-settings.php:1075 cerber-settings.php:1121
1472
  msgid "Low severity"
1473
  msgstr "Niet ernstig"
1474
 
1475
- #: cerber-settings.php:1076 cerber-settings.php:1122
1476
  msgid "Medium severity"
1477
  msgstr "Ernstig"
1478
 
1479
- #: cerber-settings.php:1077 cerber-settings.php:1123
1480
  msgid "High severity"
1481
  msgstr "Zeer ernstig"
1482
 
1483
- #: cerber-settings.php:1072
1484
  msgid "Report an issue if any of the following is true"
1485
  msgstr "Rapporteer "
1486
 
1487
- #: cerber-settings.php:1081
1488
  msgid "Send email report"
1489
  msgstr "Stuur e-mail-rapport"
1490
 
1491
- #: cerber-settings.php:1084
1492
  msgid "After every scan"
1493
  msgstr "Na elke scan"
1494
 
1495
- #: cerber-settings.php:1085
1496
  msgid "If any changes in scan results occurred"
1497
  msgstr "Bij veranderingen in de scanresultaten"
1498
 
1499
- #: cerber-settings.php:1090
1500
  msgid "Include file sizes"
1501
  msgstr "Voeg bestandsgrootte toe"
1502
 
1503
- #: cerber-settings.php:1094
1504
  msgid "Include scan errors"
1505
  msgstr "Voeg scanfouten toe"
1506
 
1507
- #: admin/cerber-dashboard.php:5264
1508
  msgid "Security Scanner"
1509
  msgstr "Veiligheidsscanner"
1510
 
1511
- #: admin/cerber-dashboard.php:5266
1512
  msgid "Scheduling"
1513
  msgstr "Agenderen"
1514
 
@@ -1568,7 +1568,7 @@ msgstr "Kan integriteit van thema niet controleren door een netwerkfout"
1568
  msgid "Unable to process file"
1569
  msgstr "Kan bestand niet verwerken"
1570
 
1571
- #: cerber-scanner.php:1630 cerber-scanner.php:4603
1572
  msgid "Unable to open file"
1573
  msgstr "Kan bestand niet openen"
1574
 
@@ -1600,35 +1600,35 @@ msgstr "Inhoud is gewijzigd"
1600
  msgid "New file"
1601
  msgstr "Nieuw bestand"
1602
 
1603
- #: cerber-scanner.php:2456
1604
  msgid "Custom signature found"
1605
  msgstr "Eigen ondertekening gevonden"
1606
 
1607
- #: cerber-scanner.php:3695
1608
  msgid "Parsing the list of files"
1609
  msgstr "Bezig de bestandslijst door te nemen"
1610
 
1611
- #: cerber-scanner.php:3696
1612
  msgid "Checking for new and modified files"
1613
  msgstr "Controleren op nieuwe en gewijzigde bestanden"
1614
 
1615
- #: cerber-scanner.php:3697
1616
  msgid "Verifying the integrity of WordPress"
1617
  msgstr "Integriteit van WordPress controleren"
1618
 
1619
- #: cerber-scanner.php:3699
1620
  msgid "Verifying the integrity of the plugins"
1621
  msgstr "Integriteit van plugins controleren"
1622
 
1623
- #: cerber-scanner.php:3701
1624
  msgid "Verifying the integrity of the themes"
1625
  msgstr "Integriteit van thema's controleren"
1626
 
1627
- #: cerber-scanner.php:3703
1628
  msgid "Searching for malicious code"
1629
  msgstr "Kwaadaardige code zoeken"
1630
 
1631
- #: cerber-scanner.php:3704
1632
  msgid "Finalizing the scan"
1633
  msgstr "Scan afronden"
1634
 
@@ -1640,60 +1640,60 @@ msgstr "Bestanden te scannen"
1640
  msgid "Critical issues"
1641
  msgstr "Kritieke problemen"
1642
 
1643
- #: cerber-scanner.php:4767 admin/cerber-admin.php:115
1644
  msgid "Issues total"
1645
  msgstr "Totaal aan problemen"
1646
 
1647
- #: admin/cerber-admin.php:361
1648
  msgid "File access error. Possibly scan results are outdated. Please run Quick or Full Scan."
1649
  msgstr "Fout bij bestandstoegang. Scanresultaten zijn mogelijk verouderd. Scan opnieuw."
1650
 
1651
- #: cerber-scanner.php:4902
1652
  msgid "To view full report visit"
1653
  msgstr "Ga voor volledig rapport naar"
1654
 
1655
- #: cerber-load.php:4690
1656
  msgid "Scanner Report"
1657
  msgstr "Scannerrapport"
1658
 
1659
- #: cerber-settings.php:978
1660
  msgid "Monitor new files"
1661
  msgstr "Nieuwe bestanden bewaken"
1662
 
1663
- #: cerber-settings.php:987
1664
  msgid "Monitor modified files"
1665
  msgstr "Gewijzigde bestanden bewaken"
1666
 
1667
- #: cerber-settings.php:1086
1668
  msgid "If new issues found"
1669
  msgstr "Bij nieuw gevonden problemen"
1670
 
1671
- #: admin/cerber-admin-settings.php:944
1672
  msgid "The schedule has been updated"
1673
  msgstr "Het schema is aangepast"
1674
 
1675
  #. Is it really 'directives' or do you mean 'directories' ?
1676
- #: cerber-scanner.php:1641 cerber-scanner.php:1682 cerber-scanner.php:2611
1677
  msgid "Suspicious directives found"
1678
  msgstr "Verdachte instellingen gevonden"
1679
 
1680
- #: cerber-scanner.php:2609
1681
  msgid "Suspicious code instruction found"
1682
  msgstr "Verdachte code-instructie gevonden"
1683
 
1684
- #: cerber-scanner.php:2610
1685
  msgid "Suspicious code signatures found"
1686
  msgstr "Verdachte code-ondertekeningen gevonden"
1687
 
1688
- #: cerber-scanner.php:2613
1689
  msgid "To solve this issue you have to reinstall %s or update it to the latest version."
1690
  msgstr "Herinstalleer of update %s om dit probleem op te lossen."
1691
 
1692
- #: cerber-scanner.php:2614
1693
  msgid "Please upload a reference ZIP archive"
1694
  msgstr "Upload een referentie-ZIP-archief"
1695
 
1696
- #: cerber-scanner.php:2615
1697
  msgid "Resolve issue"
1698
  msgstr "Probleem oplossen"
1699
 
@@ -1705,52 +1705,52 @@ msgstr "We hebben geen integriteitsgegevens ter verificatie van"
1705
  msgid "You have to upload a ZIP archive from which you've installed it. This enables the security scanner to verify the integrity of the code and detect malware."
1706
  msgstr "Je moet het ZIP-archief uploaden vanwaar dit is geïnstalleerd. Daarmee kan de scanner de integriteit van de code controleren en malware herkennen."
1707
 
1708
- #: cerber-scanner.php:4739
1709
  msgid "Full Scan Report"
1710
  msgstr "Rapport Volledige Scan"
1711
 
1712
- #: cerber-scanner.php:4739
1713
  msgid "Quick Scan Report"
1714
  msgstr "Rapportage Snelle Scan"
1715
 
1716
- #: cerber-scanner.php:4752
1717
  msgid "Files scanned"
1718
  msgstr "Bestanden gescand"
1719
 
1720
- #: admin/cerber-dashboard.php:326 admin/cerber-dashboard.php:1661
1721
- #: admin/cerber-dashboard.php:1718 admin/cerber-dashboard.php:1849
1722
  msgid "Check for activities"
1723
  msgstr "Check op activiteiten"
1724
 
1725
- #: admin/cerber-dashboard.php:1880
1726
  msgid "Activated"
1727
  msgstr "Geactiveerd"
1728
 
1729
- #: cerber-common.php:1560
1730
  msgid "Malicious request denied"
1731
  msgstr "Kwaadaardige request afgewezen"
1732
 
1733
- #: cerber-common.php:1568
1734
  msgid "User activated"
1735
  msgstr "Gebruiker-geactiveerd"
1736
 
1737
- #: cerber-common.php:1590
1738
  msgid "Suspicious number of fields"
1739
  msgstr "Verdacht aantal velden"
1740
 
1741
- #: cerber-common.php:1591
1742
  msgid "Suspicious number of nested values"
1743
  msgstr "Verdacht aantal geneste waarden"
1744
 
1745
- #: cerber-common.php:1592 cerber-common.php:1689
1746
  msgid "Malicious code detected"
1747
  msgstr "Kwaadaardige code ontdekt"
1748
 
1749
- #: cerber-common.php:1690
1750
  msgid "Attempt to upload a file with malicious code"
1751
  msgstr "Poging een bestand met kwaadaardige code te uploaden"
1752
 
1753
- #: cerber-common.php:1973
1754
  msgid "Bytes"
1755
  msgstr "Bytes"
1756
 
@@ -1762,19 +1762,19 @@ msgstr "Kwetsbaarheid gevonden"
1762
  msgid "Unable to check the integrity due to a DB error"
1763
  msgstr "Kan integriteit niet controleren door DB-fout"
1764
 
1765
- #: cerber-settings.php:1050
1766
  msgid "Automated recurring scan schedule"
1767
  msgstr "Schema voor geautomatiseerde scans"
1768
 
1769
- #: cerber-settings.php:1067
1770
  msgid "Scan results reporting"
1771
  msgstr "Rapportage scanresultaten"
1772
 
1773
- #: admin/cerber-dashboard.php:1078
1774
  msgid "Suspicious activity"
1775
  msgstr "Verdachte activiteit"
1776
 
1777
- #: admin/cerber-dashboard.php:4431
1778
  msgid "Errors"
1779
  msgstr "Fouten"
1780
 
@@ -1783,21 +1783,21 @@ msgstr "Fouten"
1783
  msgid "Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications."
1784
  msgstr "Beschermt Wordpress tegen hack-aanvallen, spam, trojans en virussen. Malware scanner en integriteitscontrole. Versterkt Wordpress met uitgebreide veiligheidsalgoritmen. Beschermt tegen spam met reCAPTCHA en detectie van bot-activiteit. Maakt activiteit van gebruikers en indringers te volgen via meldingen per e-mail, mobiel of desktop."
1785
 
1786
- #: cerber-load.php:363
1787
  msgid "You have exceeded the number of allowed login attempts. Please try again in %d minutes."
1788
  msgstr "Je hebt de limiet aan loginpogingen bereikt. Probeer opnieuw na %d minuten."
1789
 
1790
- #: cerber-common.php:1853
1791
  msgctxt "preposition of a period of time like: in 6 hours"
1792
  msgid "in %s"
1793
  msgstr "over %s"
1794
 
1795
- #: admin/cerber-admin-settings.php:549
1796
  msgctxt "preposition of time like: at 11:00"
1797
  msgid "at"
1798
  msgstr "om"
1799
 
1800
- #: admin/cerber-dashboard.php:5269
1801
  msgid "Quarantine"
1802
  msgstr "Quarantine"
1803
 
@@ -1833,80 +1833,80 @@ msgstr "Ongewenste extensies"
1833
  msgid "Unattended files"
1834
  msgstr "Losstaande bestanden"
1835
 
1836
- #: admin/cerber-admin.php:108 admin/cerber-admin.php:770
1837
  msgid "Scanned"
1838
  msgstr "Gescand"
1839
 
1840
- #: admin/cerber-admin.php:714
1841
  msgid "There are no files in the quarantine at the moment."
1842
  msgstr "Er staan nu geen bestanden in quarantaine."
1843
 
1844
- #: admin/cerber-admin.php:752
1845
  msgid "Restore"
1846
  msgstr "Terugzetten"
1847
 
1848
- #: admin/cerber-admin.php:749
1849
  msgid "Delete permanently"
1850
  msgstr "Verwijder definitief"
1851
 
1852
- #: admin/cerber-admin.php:772
1853
  msgid "Automatic deletion"
1854
  msgstr "Automatische verwijdering"
1855
 
1856
- #: admin/cerber-admin.php:773 admin/cerber-admin.php:928
1857
- #: admin/cerber-admin.php:1393
1858
  msgid "Size"
1859
  msgstr "Grootte"
1860
 
1861
- #: admin/cerber-admin.php:774 admin/cerber-admin.php:929
1862
  msgid "File"
1863
  msgstr "Bestand"
1864
 
1865
- #: admin/cerber-admin.php:847
1866
  msgid "The file has been deleted permanently."
1867
  msgstr "Het bestand is definitief verwijderd."
1868
 
1869
- #: admin/cerber-admin.php:862
1870
  msgid "The file has been restored to its original location."
1871
  msgstr "Het bestand is teruggezet op de oorspronkelijke plek."
1872
 
1873
- #: admin/cerber-dashboard.php:2119
1874
  msgid "Integrity"
1875
  msgstr "Integriteit"
1876
 
1877
- #: cerber-common.php:1548
1878
  msgid "Attempt to upload malicious file denied"
1879
  msgstr "Poging afgeweerd om kwaadaardig bestand te uploaden"
1880
 
1881
- #: cerber-load.php:7758
1882
  msgid "Awesome!"
1883
  msgstr "Geweldig!"
1884
 
1885
- #: cerber-settings.php:1109
1886
  msgid "Automatic cleanup of malware and suspicious files"
1887
  msgstr "Automatisch opschonen van malware en verdachte bestanden"
1888
 
1889
- #: cerber-settings.php:1210
1890
  msgid "Files in the sessions directory"
1891
  msgstr "Bestanden in de sessie-map"
1892
 
1893
- #: cerber-settings.php:1190
1894
  msgid "Files in these directories"
1895
  msgstr "Bestanden in deze mappen"
1896
 
1897
- #: cerber-settings.php:1194
1898
  msgid "Use absolute paths. One item per line."
1899
  msgstr "Gebruik absolute paden; één item per regel."
1900
 
1901
- #: cerber-settings.php:1197
1902
  msgid "Files with these extensions"
1903
  msgstr "Bestanden met deze extensies"
1904
 
1905
- #: cerber-settings.php:1203
1906
  msgid "Use comma to separate items."
1907
  msgstr "Scheid items met komma's."
1908
 
1909
- #: admin/cerber-dashboard.php:5267
1910
  msgid "Cleaning up"
1911
  msgstr "Opschonen"
1912
 
@@ -1914,40 +1914,40 @@ msgstr "Opschonen"
1914
  msgid "Malicious code found"
1915
  msgstr "Kwaadaardige code gevonden"
1916
 
1917
- #: cerber-scanner.php:2606
1918
  msgid "This file contains executable code and may contain obfuscated malware. If this file is a part of a theme or a plugin, it must be located in the theme or the plugin folder. No exception, no excuses."
1919
  msgstr "Het bestand bevat uitvoerbare code en mogelijk verborgen malware. Maakt het deel uit van een thema of plugin, dan moet het in de desbetreffende map staan. Zonder uitzondering."
1920
 
1921
- #: cerber-scanner.php:2607
1922
  msgid "The scanner recognizes this file as \"ownerless\" or \"not bundled\" because it does not belong to any known part of the website and should not be here."
1923
  msgstr "De scanner ziet dit bestand als 'verweesd' of 'niet gekoppeld' omdat het bij geen enkel bekend deel van de website hoort en hier dus geen plaats heeft."
1924
 
1925
- #: cerber-scanner.php:2608
1926
  msgid "It may remain after upgrading to a newer version of %s. It also may be a piece of obfuscated malware. In a rare case it might be a part of a custom-made (bespoke) plugin or theme."
1927
  msgstr "Mogelijk achtergebleven bij een upgrade van %s. Het kan ook deel uitmaken van verborgen malware. Of -uitzonderlijk- bij een maatwerk plugin of thema horen."
1928
 
1929
- #: cerber-scanner.php:2612
1930
  msgid "The contents of the file have been changed and do not match what exists in the official WordPress repository or a reference file you have uploaded earlier. The file may have been altered by malware, infected by a virus or has been tampered with."
1931
  msgstr "De bestandsinhoud is veranderd en past niet bij wat er op de officiële WordPress-site staat of bij het referentiebestand dat je eerder hebt geüpload. Het bestand kan zijn aangepast door malware, geïnfecteerd met een virus of handmatig gewijzigd."
1932
 
1933
- #: cerber-scanner.php:4826
1934
  msgid "Deleted"
1935
  msgstr "Verwijderd"
1936
 
1937
- #: cerber-scanner.php:4886
1938
  msgid "Automatically moved to quarantine"
1939
  msgstr "Automatisch in quarantaine gezet"
1940
 
1941
- #: cerber-common.php:1593
1942
  msgid "Suspicious SQL code detected"
1943
  msgstr "Verdachte SQL-code gevonden"
1944
 
1945
- #: admin/cerber-dashboard.php:2100
1946
  msgctxt "Example: Last malware scan: 23 Jan 2018"
1947
  msgid "Last malware scan"
1948
  msgstr "Recente malware scan"
1949
 
1950
- #: admin/cerber-dashboard.php:5203
1951
  msgid "Live Traffic"
1952
  msgstr "Huidig verkeer"
1953
 
@@ -1959,7 +1959,7 @@ msgstr "Zet PHP uit in uploads"
1959
  msgid "Disable PHP error displaying"
1960
  msgstr "Zet PHP foutweergave uit"
1961
 
1962
- #: admin/cerber-dashboard.php:5268
1963
  msgid "Ignore List"
1964
  msgstr "Negeer-lijst"
1965
 
@@ -1968,151 +1968,151 @@ msgid "Ignore"
1968
  msgstr "Negeer"
1969
 
1970
  #. For translators
1971
- #: admin/cerber-admin.php:886
1972
  msgid "Apply"
1973
  msgstr "Pas toe"
1974
 
1975
- #: admin/cerber-admin.php:926
1976
  msgid "Added"
1977
  msgstr "Toegevoegd"
1978
 
1979
- #: admin/cerber-admin.php:887 admin/cerber-admin.php:914
1980
  msgid "Remove from the list"
1981
  msgstr "Verwijder van de lijst"
1982
 
1983
- #: admin/cerber-admin.php:888
1984
  msgid "User Insights"
1985
  msgstr "Gebruikersinzichten"
1986
 
1987
- #: admin/cerber-admin.php:889
1988
  msgid "Traffic Insights"
1989
  msgstr "Verkeersinzichten"
1990
 
1991
- #: admin/cerber-admin.php:890
1992
  msgid "Activity Insights"
1993
  msgstr "Activiteitsinzichten"
1994
 
1995
- #: admin/cerber-dashboard.php:3200
1996
  msgid "Are you sure you want to delete selected files?"
1997
  msgstr "Weet je zeker dat je de geselecteerde bestanden wilt wissen?"
1998
 
1999
- #: admin/cerber-dashboard.php:3201
2000
  msgid "These files have been moved to the quarantine"
2001
  msgstr "Deze bestanden zijn in quarantaine gezet"
2002
 
2003
- #: admin/cerber-dashboard.php:3204
2004
  msgid "Do you want to add selected files to the ignore list?"
2005
  msgstr "Wil je de geselecteerde bestanden toevoegen aan de negeer-lijst?"
2006
 
2007
- #: admin/cerber-dashboard.php:3205
2008
  msgid "These files have been added to the ignore list"
2009
  msgstr "Deze bestanden zijn toegevoegd aan de negeer-lijst"
2010
 
2011
- #: admin/cerber-dashboard.php:3207
2012
  msgid "Some errors occurred"
2013
  msgstr "Er zijn fouten opgetreden"
2014
 
2015
- #: admin/cerber-dashboard.php:3208
2016
  msgid "All files have been processed"
2017
  msgstr "Alle bestanden zijn verwerkt"
2018
 
2019
- #: admin/cerber-dashboard.php:5613
2020
  msgid "Know more about all advantages at"
2021
  msgstr "Leer alle voordelen kennen op"
2022
 
2023
- #: cerber-common.php:1594
2024
  msgid "Suspicious JavaScript code detected"
2025
  msgstr "Verdachte JavaScript-code ontdekt"
2026
 
2027
- #: admin/cerber-admin-settings.php:947
2028
  msgid "Unable to update the schedule"
2029
  msgstr "Kan het schema niet vernieuwen"
2030
 
2031
- #: admin/cerber-admin.php:785
2032
  msgid "All scans"
2033
  msgstr "Alle scans"
2034
 
2035
- #: admin/cerber-admin.php:892
2036
  msgid "The list is empty."
2037
  msgstr "De lijst is leeg."
2038
 
2039
- #: admin/cerber-admin.php:731
2040
  msgid "No files match the specified filter."
2041
  msgstr "Het filter levert geen bestanden op."
2042
 
2043
- #: admin/cerber-admin.php:731
2044
  msgid "Click here to see the full list of files"
2045
  msgstr "Klik hier om de hele bestandenlijst te zien"
2046
 
2047
- #: admin/cerber-dashboard.php:946
2048
  msgid "Additional Details"
2049
  msgstr "Aanvullende details"
2050
 
2051
- #: admin/cerber-dashboard.php:3915
2052
  msgid "Page generation time"
2053
  msgstr "Aanmaaktijd pagina"
2054
 
2055
- #: admin/cerber-dashboard.php:5648
2056
  msgid "Log In"
2057
  msgstr "Inloggen"
2058
 
2059
- #: admin/cerber-dashboard.php:5649
2060
  msgid "Log Out"
2061
  msgstr "Uitloggen"
2062
 
2063
- #: admin/cerber-dashboard.php:5650
2064
  msgid "Register"
2065
  msgstr "Aanmelden"
2066
 
2067
- #: admin/cerber-dashboard.php:5653
2068
  msgid "WooCommerce Log In"
2069
  msgstr "WooCommerce Log In"
2070
 
2071
- #: admin/cerber-dashboard.php:5654
2072
  msgid "WooCommerce Log Out"
2073
  msgstr "WooCommerce Log Out"
2074
 
2075
- #: cerber-common.php:1582
2076
  msgid "IP address is locked out"
2077
  msgstr "IP-adres is uitgesloten"
2078
 
2079
- #: cerber-common.php:1693
2080
  msgid "Multiple suspicious requests"
2081
  msgstr "Meerdere verdachte verzoeken"
2082
 
2083
- #: cerber-settings.php:809
2084
  msgid "Traffic Inspection"
2085
  msgstr "Verkeersinspectie"
2086
 
2087
- #: cerber-settings.php:818 cerber-settings.php:848
2088
  msgid "Maximum compatibility"
2089
  msgstr "Maximale compatibiliteit"
2090
 
2091
- #: cerber-settings.php:819 cerber-settings.php:849
2092
  msgid "Maximum security"
2093
  msgstr "Maximale veiligheid"
2094
 
2095
- #: cerber-settings.php:839
2096
  msgid "Erroneous Request Shielding"
2097
  msgstr "Afschermen foutieve requests"
2098
 
2099
- #: cerber-settings.php:844
2100
  msgid "Enable error shielding"
2101
  msgstr "Foutafscherming aanzetten"
2102
 
2103
- #: cerber-settings.php:946
2104
  msgid "Save software errors"
2105
  msgstr "Softwarefouten opslaan"
2106
 
2107
- #: cerber-scanner.php:3690
2108
  msgid "Preparing for the scan"
2109
  msgstr "Scan voorbereiden"
2110
 
2111
- #: cerber-common.php:1595
2112
  msgid "Blocked by administrator"
2113
  msgstr "Geblokkeerd door de beheerder"
2114
 
2115
- #: cerber-load.php:367
2116
  msgid "You are not allowed to log in"
2117
  msgstr "Je mag niet inloggen"
2118
 
@@ -2124,7 +2124,7 @@ msgstr "Blokkeer gebruiker"
2124
  msgid "User is not permitted to log into the website"
2125
  msgstr "Gebruiker mag niet inloggen op de site"
2126
 
2127
- #: cerber-settings.php:636 admin/cerber-users.php:68
2128
  msgid "User Message"
2129
  msgstr "bericht van gebruiker"
2130
 
@@ -2160,83 +2160,83 @@ msgstr "Sta deze naamruimtes toe"
2160
  msgid "These restrictions do not apply to IP addresses in the White IP Access List"
2161
  msgstr "Deze beperkingen gelden niet voor IP-adressen op de Toegelaten Lijst"
2162
 
2163
- #: admin/cerber-admin-settings.php:509
2164
  msgid "Select one or more roles"
2165
  msgstr "Kies een of meer rollen"
2166
 
2167
- #: admin/cerber-dashboard.php:1385 admin/cerber-users.php:968
2168
  msgid "Filter by registered user"
2169
  msgstr "Gefilterd door een geregistreerde gebruiker"
2170
 
2171
- #: cerber-settings.php:623
2172
  msgid "Authorized users only"
2173
  msgstr "Alleen bevoegde gebruikers"
2174
 
2175
- #: cerber-settings.php:624
2176
  msgid "Only registered and logged in website users have access to the website"
2177
  msgstr "Alleen geregistreerde en ingelogde gebruikers hebben toegang tot de website"
2178
 
2179
- #: cerber-settings.php:640 cerber-settings.php:1682
2180
  msgid "Only registered and logged in users are allowed to view this website"
2181
  msgstr "Alleen geregistreerde en ingelogde gebruikers mogen de website bekijken"
2182
 
2183
- #: cerber-settings.php:645
2184
  msgid "Redirect to URL"
2185
  msgstr "Omleiding naar URL"
2186
 
2187
- #: admin/cerber-dashboard.php:5322
2188
  msgid "Changelog"
2189
  msgstr "Log van aanpassingen"
2190
 
2191
- #: admin/cerber-dashboard.php:738
2192
  msgid "Default settings have been loaded"
2193
  msgstr "Standaardinstellingen zijn geladen"
2194
 
2195
- #: admin/cerber-dashboard.php:3624
2196
  msgid "Save all rules"
2197
  msgstr "Alle regels opslaan"
2198
 
2199
- #: cerber-common.php:1571
2200
  msgid "Invalid master credentials"
2201
  msgstr "Ongeldige hoofd-inloggegevens"
2202
 
2203
- #: cerber-settings.php:1354
2204
  msgid "Master settings"
2205
  msgstr "Hoofdinstellingen"
2206
 
2207
- #: cerber-settings.php:1362
2208
  msgid "Return to the website list"
2209
  msgstr "Terug naar de website-lijst"
2210
 
2211
- #: cerber-settings.php:1366
2212
  msgid "Show \"Switched to\" notification"
2213
  msgstr "Toon 'Omgeschakeld naar'-melding"
2214
 
2215
- #: cerber-settings.php:1370
2216
  msgid "Add @ site to the page title"
2217
  msgstr "Voeg '@site' toe aan de paginakop"
2218
 
2219
- #: cerber-settings.php:1037 cerber-settings.php:1387 cerber-settings.php:1415
2220
  msgid "Enable diagnostic logging"
2221
  msgstr "Diagnostische logging aanzetten"
2222
 
2223
- #: cerber-settings.php:1398
2224
  msgid "Limit access by IP address"
2225
  msgstr "Toegang beperken op IP-adres"
2226
 
2227
- #: cerber-settings.php:1404
2228
  msgid "Access to this website"
2229
  msgstr "Toegang tot deze website"
2230
 
2231
- #: cerber-settings.php:1407
2232
  msgid "Full access mode"
2233
  msgstr "Volledige-toegangs-modus"
2234
 
2235
- #: cerber-settings.php:1408
2236
  msgid "Read-only mode"
2237
  msgstr "Alleen-lezen-modus"
2238
 
2239
- #: cerber-settings.php:1429
2240
  msgid "The full access mode requires the PRO version of WP Cerber"
2241
  msgstr "Volledige toegang tot alle functies vergt WP Cerber PRO"
2242
 
@@ -2256,7 +2256,7 @@ msgstr "Aantekeningen"
2256
  msgid "Add a slave website"
2257
  msgstr "Voeg een 'slave'-website toe"
2258
 
2259
- #: nexus/cerber-slave-list.php:247 admin/cerber-users.php:1034
2260
  msgid "Search results for:"
2261
  msgstr "Zoekresultaten voor:"
2262
 
@@ -2400,13 +2400,13 @@ msgid "Install the access token on the master website."
2400
  msgstr "Installeer het toegangscertificaat op de hoofdwebsite."
2401
 
2402
  #. translators: Time difference between two dates, in seconds (sec=second). 1: Number of seconds
2403
- #: cerber-common.php:1846
2404
  msgid "%s sec"
2405
  msgid_plural "%s secs"
2406
  msgstr[0] "%s sec"
2407
  msgstr[1] "%s sec"
2408
 
2409
- #: cerber-settings.php:792
2410
  msgid "Send reports on"
2411
  msgstr "Verstuur rapportages op"
2412
 
@@ -2454,15 +2454,15 @@ msgstr "Organisatie"
2454
  msgid "Invalid response from the slave website"
2455
  msgstr "Ongeldig antwoord van de 'slave'-website"
2456
 
2457
- #: cerber-common.php:1541 cerber-common.php:1683
2458
  msgid "Attempt to log in with non-existing username"
2459
  msgstr "Inlogpoging met onbekende gebruikersnaam"
2460
 
2461
- #: cerber-load.php:4844
2462
  msgid "Attempts to log in with non-existing usernames"
2463
  msgstr "Pogingen om in te loggen met een onbekende gebruikersnaam"
2464
 
2465
- #: cerber-settings.php:1374
2466
  msgid "Use master language"
2467
  msgstr "Gebruik hoofdtaal"
2468
 
@@ -2490,39 +2490,39 @@ msgstr "Om het certificaat in te trekken en beheer op afstand te stoppen, klik h
2490
  msgid "Block execution of PHP scripts in the WordPress media folder"
2491
  msgstr "Voorkom uitvoeren van PHP-scripts in de WordPress media-map"
2492
 
2493
- #: nexus/cerber-nexus-master.php:1418 nexus/cerber-nexus-master.php:1426
2494
  msgid "Active plugins and updates on"
2495
  msgstr "Actieve plugins en updates op"
2496
 
2497
- #: nexus/cerber-nexus-master.php:1396
2498
  msgid "A newer version is available"
2499
  msgstr "Er is een nieuwere versie beschikbaar"
2500
 
2501
- #: admin/cerber-dashboard.php:1072
2502
  msgid "New users"
2503
  msgstr "Nieuwe gebruikers"
2504
 
2505
- #: admin/cerber-dashboard.php:1091
2506
  msgid "My activity"
2507
  msgstr "Mijn activiteiten"
2508
 
2509
- #: admin/cerber-dashboard.php:2939
2510
  msgid "Create Alert"
2511
  msgstr "Waarschuwing aanmaken"
2512
 
2513
- #: admin/cerber-dashboard.php:2943
2514
  msgid "Delete Alert"
2515
  msgstr "Waarschuwing verwijderen"
2516
 
2517
- #: admin/cerber-dashboard.php:2976
2518
  msgid "The alert has been created"
2519
  msgstr "Waarschuwing aangemaakt"
2520
 
2521
- #: admin/cerber-dashboard.php:2980
2522
  msgid "The alert has been deleted"
2523
  msgstr "Waarschuwing verwijderd"
2524
 
2525
- #: admin/cerber-dashboard.php:4448
2526
  msgid "Advanced Search"
2527
  msgstr "Geavanceerd zoeken"
2528
 
@@ -2531,7 +2531,7 @@ msgstr "Geavanceerd zoeken"
2531
  msgid "Cerber Tech Inc."
2532
  msgstr "Cerber Tech Inc."
2533
 
2534
- #: cerber-load.php:5434
2535
  msgid "To delete the alert, click here"
2536
  msgstr "Klik om waarschuwing te verwijderen"
2537
 
@@ -2551,27 +2551,27 @@ msgstr "Voorvoegsel voor plugin-cookies"
2551
  msgid "Prefix may contain only Latin alphanumeric characters and underscores"
2552
  msgstr "Gebruik letters, cijfers of onderstrepingen voor het voorvoegsel"
2553
 
2554
- #: cerber-settings.php:746
2555
  msgid "Lockout notifications"
2556
  msgstr "Melding van uitsluitingen"
2557
 
2558
- #: cerber-settings.php:774
2559
  msgid "Pushbullet access token"
2560
  msgstr "Pushbullet access token"
2561
 
2562
- #: cerber-settings.php:777
2563
  msgid "Pushbullet device"
2564
  msgstr "Pushbullet apparaat"
2565
 
2566
- #: cerber-settings.php:1114
2567
  msgid "Delete unattended files"
2568
  msgstr "Verwijder verweesde bestanden"
2569
 
2570
- #: cerber-settings.php:1173
2571
  msgid "Automatic recovery of modified and infected files"
2572
  msgstr "Automatisch herstel van aangepaste en geïnfecteerde bestanden"
2573
 
2574
- #: cerber-settings.php:1176
2575
  msgid "Recover WordPress files"
2576
  msgstr "Herstel Wordpress-bestanden"
2577
 
@@ -2583,23 +2583,23 @@ msgstr "Bestand verwijderd"
2583
  msgid "File recovered"
2584
  msgstr "Bestand hersteld"
2585
 
2586
- #: cerber-scanner.php:3698
2587
  msgid "Recovering WordPress files"
2588
  msgstr "Wordpress-bestanden aan het herstellen"
2589
 
2590
- #: cerber-scanner.php:3700
2591
  msgid "Recovering plugins files"
2592
  msgstr "Plugin-bestanden aan het herstellen"
2593
 
2594
- #: cerber-scanner.php:4830
2595
  msgid "Recovered"
2596
  msgstr "Hersteld"
2597
 
2598
- #: cerber-scanner.php:4887
2599
  msgid "Automatically deleted"
2600
  msgstr "Automatisch verwijderd"
2601
 
2602
- #: cerber-scanner.php:4890
2603
  msgid "Automatically recovered"
2604
  msgstr "Automatisch hersteld"
2605
 
@@ -2607,39 +2607,39 @@ msgstr "Automatisch hersteld"
2607
  msgid "Cerber User Security"
2608
  msgstr "Cerber Gebruikersbeveiliging"
2609
 
2610
- #: admin/cerber-dashboard.php:70 admin/cerber-dashboard.php:5227
2611
  msgid "User Policies"
2612
  msgstr "Gebruikersbeleid"
2613
 
2614
- #: admin/cerber-dashboard.php:2122
2615
  msgid "A new version is available"
2616
  msgstr "Er is een nieuwe versie beschikbaar"
2617
 
2618
- #: admin/cerber-dashboard.php:5230
2619
  msgid "Global"
2620
  msgstr "Algemeen"
2621
 
2622
- #: cerber-common.php:1596
2623
  msgid "Site policy enforcement"
2624
  msgstr "Afdwingen gebruiksvoorwaarden site"
2625
 
2626
- #: cerber-common.php:1597
2627
  msgid "2FA code verified"
2628
  msgstr "2FA code geverifieerd"
2629
 
2630
- #: cerber-common.php:1598
2631
  msgid "Initiated by the user"
2632
  msgstr "Gestart door gebruiker"
2633
 
2634
- #: cerber-common.php:2079
2635
  msgid "A new version of %s is available. Please install it."
2636
  msgstr "De nieuwste versie van %s staat klaar voor installatie."
2637
 
2638
- #: cerber-load.php:1826
2639
  msgid "Email address is not permitted."
2640
  msgstr "E-mail-adres niet toegestaan."
2641
 
2642
- #: cerber-load.php:1826
2643
  msgid "Please choose another one."
2644
  msgstr "Kies een andere."
2645
 
@@ -2683,7 +2683,7 @@ msgstr "Verwijs gebruiker door na login"
2683
  msgid "Redirect user after logout"
2684
  msgstr "Verwijs gebruiker door na logout"
2685
 
2686
- #: cerber-settings.php:679 admin/cerber-users.php:440
2687
  msgid "User session expiration time"
2688
  msgstr "Afkaptijd gebruikerssessie"
2689
 
@@ -2731,79 +2731,79 @@ msgstr "aantal aanmeldingen"
2731
  msgid "Policies have been updated"
2732
  msgstr "Beleid is vernieuwd"
2733
 
2734
- #: cerber-settings.php:582
2735
  msgid "Restrict email addresses"
2736
  msgstr "Beperk e-mail-adressen"
2737
 
2738
- #: cerber-settings.php:585
2739
  msgid "No restrictions"
2740
  msgstr "Geen beperkingen"
2741
 
2742
- #: cerber-settings.php:586
2743
  msgid "Deny all email addresses that match the following"
2744
  msgstr "Wijs mailadressen af die voldoen aan het volgende"
2745
 
2746
- #: cerber-settings.php:587
2747
  msgid "Permit only email addresses that match the following"
2748
  msgstr "Sta alleen mailadressen toe die voldoen aan het volgende"
2749
 
2750
- #: cerber-settings.php:592
2751
  msgid "Specify email addresses, wildcards or REGEX patterns. Use comma to separate items."
2752
  msgstr "Geef e-mailadressen, jokertekens of REGEX-patronen op. Scheid items met komma's."
2753
 
2754
- #: cerber-settings.php:1187
2755
  msgid "These files will never be deleted during automatic cleanup."
2756
  msgstr "Deze bestanden worden nooit gewist bij een automatische schoonmaak."
2757
 
2758
- #: cerber-2fa.php:365
2759
  msgid "This verification PIN code is expired. We have just sent a new one to your email."
2760
  msgstr "De bevestigings-pincode is verlopen. We hebben je een nieuwe gemaild."
2761
 
2762
- #: cerber-2fa.php:368
2763
  msgid "You have entered an incorrect verification PIN code"
2764
  msgstr "Je hebt een onjuiste bevestigings-pincode ingevoerd"
2765
 
2766
- #: cerber-2fa.php:415 cerber-2fa.php:503
2767
  msgid "Please verify that it’s you"
2768
  msgstr "Bevestig dat jij het bent"
2769
 
2770
- #: cerber-2fa.php:525
2771
  msgid "Here are the details of the sign-in attempt"
2772
  msgstr "Bijzonderheden van de inlogpoging"
2773
 
2774
- #: cerber-2fa.php:579
2775
  msgid "expires"
2776
  msgstr "verloopt"
2777
 
2778
- #: cerber-2fa.php:655
2779
  msgid "only digits are allowed"
2780
  msgstr "alleen cijfers toegestaan"
2781
 
2782
- #: cerber-2fa.php:658
2783
  msgid "We've sent a verification PIN code to your email"
2784
  msgstr "Pincode ter validatie naar je gemaild"
2785
 
2786
- #: cerber-2fa.php:659
2787
  msgid "Enter the code from the email in the field below."
2788
  msgstr "Voer de code uit de e-mail in het veld hieronder in."
2789
 
2790
- #: cerber-2fa.php:661
2791
  msgid "Try again"
2792
  msgstr "Probeer nogmaals"
2793
 
2794
- #: cerber-2fa.php:662
2795
  msgid "Cancel"
2796
  msgstr "Laat vervallen"
2797
 
2798
- #: cerber-2fa.php:663
2799
  msgid "or"
2800
  msgstr "of"
2801
 
2802
- #: cerber-2fa.php:669
2803
  msgid "Verify it's you"
2804
  msgstr "Bevestig dat jij het bent"
2805
 
2806
- #: cerber-2fa.php:674
2807
  msgid "Verify"
2808
  msgstr "Valideer"
2809
 
@@ -2811,7 +2811,7 @@ msgstr "Valideer"
2811
  msgid "Two-Factor Authentication Email"
2812
  msgstr "E-mail voor dubbele authenticatie"
2813
 
2814
- #: admin/cerber-dashboard.php:3567
2815
  msgid "Role-based rules are configured"
2816
  msgstr "Rolgebaseerde regels worden ingesteld"
2817
 
@@ -2820,71 +2820,71 @@ msgctxt "e.g. blocked by John at 11:00"
2820
  msgid "blocked by %s at %s"
2821
  msgstr "geblokkeerd door %s om %s"
2822
 
2823
- #: cerber-2fa.php:508
2824
  msgid "The code is valid for %s minutes."
2825
  msgstr "De code is %s minuten geldig."
2826
 
2827
- #: admin/cerber-dashboard.php:373
2828
  msgid "IP address %s has been added to White IP Access List"
2829
  msgstr "IP-adres %s staat nu op de lijst toegelaten adressen"
2830
 
2831
- #: admin/cerber-dashboard.php:370
2832
  msgid "IP address %s has been added to Black IP Access List"
2833
  msgstr "IP-adres %s staat nu op de lijst verboden adressen"
2834
 
2835
- #: admin/cerber-dashboard.php:212 admin/cerber-dashboard.php:943
2836
- #: admin/cerber-dashboard.php:1326 admin/cerber-dashboard.php:4398
2837
- #: admin/cerber-users.php:924
2838
  msgid "IP Address"
2839
  msgstr "IP-adres"
2840
 
2841
- #: admin/cerber-dashboard.php:950 admin/cerber-dashboard.php:1332
2842
  msgid "Username"
2843
  msgstr "Gebruikersnaam"
2844
 
2845
- #: admin/cerber-dashboard.php:3649
2846
  msgid "Any country is permitted"
2847
  msgstr "Elk land is toegestaan"
2848
 
2849
- #: admin/cerber-dashboard.php:3272 admin/cerber-dashboard.php:5132
2850
  msgid "Sessions"
2851
  msgstr "Sessies"
2852
 
2853
- #: cerber-load.php:1583
2854
  msgid "Session has been terminated"
2855
  msgid_plural "%s sessions have been terminated"
2856
  msgstr[0] "De sessie is gestopt"
2857
  msgstr[1] "%s sessies zijn gestopt"
2858
 
2859
- #: admin/cerber-users.php:922
2860
  msgid "Created"
2861
  msgstr "Aangemaakt"
2862
 
2863
- #: admin/cerber-users.php:943
2864
  msgid "Terminate session"
2865
  msgstr "Beëindig sessie"
2866
 
2867
- #: admin/cerber-users.php:944
2868
  msgid "Block user"
2869
  msgstr "Blokkeer gebruiker"
2870
 
2871
- #: admin/cerber-users.php:1076
2872
  msgid "Profile"
2873
  msgstr "Profiel"
2874
 
2875
- #: admin/cerber-users.php:1089
2876
  msgid "All Logins"
2877
  msgstr "Alle log-ins"
2878
 
2879
- #: admin/cerber-users.php:1090
2880
  msgid "User Activity"
2881
  msgstr "Gebruikersactiviteit"
2882
 
2883
- #: admin/cerber-users.php:1136
2884
  msgid "Terminate"
2885
  msgstr "Beëindig"
2886
 
2887
- #: admin/cerber-dashboard.php:2072
2888
  msgid "user"
2889
  msgid_plural "users"
2890
  msgstr[0] "gebruiker"
@@ -2906,99 +2906,99 @@ msgstr "Cerber Data Shield instellingen"
2906
  msgid "Data Shield"
2907
  msgstr "Data Shield"
2908
 
2909
- #: admin/cerber-dashboard.php:5217
2910
  msgid "Data Shield Policies"
2911
  msgstr "Data Shield instellingen"
2912
 
2913
- #: admin/cerber-dashboard.php:5219
2914
  msgid "Accounts & Roles"
2915
  msgstr "Accounts & Rollen"
2916
 
2917
- #: admin/cerber-dashboard.php:5220
2918
  msgid "Site Settings"
2919
  msgstr "Site-instellingen"
2920
 
2921
- #: cerber-common.php:1554
2922
  msgid "User creation denied"
2923
  msgstr "Gebruiker aanmaken afgewezen"
2924
 
2925
- #: cerber-common.php:1556
2926
  msgid "Role update denied"
2927
  msgstr "Bijwerken Rol afgewezen"
2928
 
2929
- #: cerber-common.php:1557
2930
  msgid "Setting update denied"
2931
  msgstr "Bijwerken instellingen afgewezen"
2932
 
2933
- #: cerber-common.php:1603
2934
  msgid "Permission denied"
2935
  msgstr "Toestemming geweigerd"
2936
 
2937
- #: cerber-common.php:1605
2938
  msgid "Invalid user"
2939
  msgstr "Ongeldige gebruiker"
2940
 
2941
- #: cerber-common.php:1606
2942
  msgid "Incorrect password"
2943
  msgstr "Onjuist wachtwoord"
2944
 
2945
- #: cerber-settings.php:479
2946
  msgid "Protect user accounts"
2947
  msgstr "Bescherm gebruiker-accounts"
2948
 
2949
- #: cerber-settings.php:484
2950
  msgid "Restrict user account creation and user management with the following policies"
2951
  msgstr "Beperk aanmaak gebruikers-accounts en gebruikerbeheer met de volgende instellingen"
2952
 
2953
- #: cerber-settings.php:490
2954
  msgid "User registrations are limited to these roles"
2955
  msgstr "Gebruikersregistratie is beperkt tot deze rollen"
2956
 
2957
- #: cerber-settings.php:496
2958
  msgid "Users with these roles are permitted to create new accounts"
2959
  msgstr "Gebruikers in deze rol kunnen nieuwe accounts aanmaken"
2960
 
2961
- #: cerber-settings.php:501
2962
  msgid "Users with these roles are permitted to change sensitive user data"
2963
  msgstr "Gebruikers in deze rol kunnen gebruikersdata aanpassen"
2964
 
2965
- #: cerber-settings.php:506 cerber-settings.php:534 cerber-settings.php:563
2966
  msgid "Do not apply these policies to the IP addresses in the White IP Access List"
2967
  msgstr "Pas deze instellingen niet toe op de lijst toegelaten IP-adressen"
2968
 
2969
- #: cerber-settings.php:514
2970
  msgid "Protect user roles"
2971
  msgstr "Bescherm gebruikersrollen"
2972
 
2973
- #: cerber-settings.php:518
2974
  msgid "Restrict roles and capabilities management with the following policies"
2975
  msgstr "Beperk beheer van rollen en instellingen met deze maatregelen"
2976
 
2977
- #: cerber-settings.php:524
2978
  msgid "Users with these roles are permitted to add new roles"
2979
  msgstr "Gebruikers in deze rol kunnen nieuwe rollen toevoegen"
2980
 
2981
- #: cerber-settings.php:529
2982
  msgid "Users with these roles are permitted to change role capabilities"
2983
  msgstr "Gebruikers in deze rol kunnen rol-instellingen aanpassen"
2984
 
2985
- #: cerber-settings.php:542
2986
  msgid "Protect site settings"
2987
  msgstr "Bescherm site-instellingen"
2988
 
2989
- #: cerber-settings.php:546
2990
  msgid "Restrict updating site settings with the following policies"
2991
  msgstr "Beperk het bijwerken van site-instellingen met deze maatregelen"
2992
 
2993
- #: cerber-settings.php:552
2994
  msgid "Users with these roles are permitted to change protected settings"
2995
  msgstr "Gebruikers in deze rol mogen beschermde instellingen aanpassen"
2996
 
2997
- #: cerber-settings.php:557
2998
  msgid "Protected settings"
2999
  msgstr "Beschermde instellingen"
3000
 
3001
- #: cerber-settings.php:630
3002
  msgid "Do not apply these policy to the IP addresses in the White IP Access List"
3003
  msgstr "Pas deze instelling niet toe op de lijst toegelaten IP-adressen"
3004
 
@@ -3026,31 +3026,31 @@ msgstr "Toon thuispagina in de Website-kolom"
3026
  msgid "Hide server IP address"
3027
  msgstr "Verberg IP-adres server"
3028
 
3029
- #: admin/cerber-dashboard.php:342
3030
  msgid "IP address, range, wildcard, or CIDR"
3031
  msgstr "IP-adres, -reeks, -jokerteken of CIDR"
3032
 
3033
- #: admin/cerber-dashboard.php:343
3034
  msgid "Add Entry"
3035
  msgstr "Voeg toe"
3036
 
3037
- #: admin/cerber-dashboard.php:5477
3038
  msgid "The IP address you are trying to add is already in the list"
3039
  msgstr "Het IP-adres dat je wilt toevoegen, staat al in de lijst"
3040
 
3041
- #: cerber-common.php:1516
3042
  msgid "IP subnet blocked"
3043
  msgstr "IP subnet geblokkeerd"
3044
 
3045
- #: cerber-common.php:1555
3046
  msgid "User row update denied"
3047
  msgstr "Aanpassing rij van gebruiker geweigerd"
3048
 
3049
- #: cerber-common.php:1558
3050
  msgid "User metadata update denied"
3051
  msgstr "Aanpassing metadata gebruiker geweigerd"
3052
 
3053
- #: cerber-settings.php:1500
3054
  msgid "Any activity"
3055
  msgstr "Enige activiteit"
3056
 
@@ -3062,11 +3062,11 @@ msgstr "Import van de toegangslijst leidde tot een database-fout"
3062
  msgid "Enable authentication log monitoring"
3063
  msgstr "Houd logboek voor aanmeldingen bij"
3064
 
3065
- #: cerber-settings.php:320 cerber-settings.php:958
3066
  msgid "Keep log records of not logged in visitors for"
3067
  msgstr "Leg niet-aangemelde bezoekers vast voor"
3068
 
3069
- #: cerber-settings.php:326 cerber-settings.php:964
3070
  msgid "Keep log records of logged in users for"
3071
  msgstr "Leg aangemelde gebruikers vast voor"
3072
 
@@ -3074,43 +3074,43 @@ msgstr "Leg aangemelde gebruikers vast voor"
3074
  msgid "Admin Note"
3075
  msgstr "Aantekening Admin"
3076
 
3077
- #: cerber-settings.php:695
3078
  msgid "Personal Data"
3079
  msgstr "Persoonlijke Gegevens"
3080
 
3081
- #: cerber-settings.php:701
3082
  msgid "Enable data erase"
3083
  msgstr "Gegevens wissen inschakelen"
3084
 
3085
- #: cerber-settings.php:708
3086
  msgid "Terminate user sessions"
3087
  msgstr "Beëindig gebruikerssessies"
3088
 
3089
- #: cerber-settings.php:709
3090
  msgid "Delete user sessions data when user data is erased"
3091
  msgstr "Verwijder gegevens gebruikerssessies als gebruikersinformatie wordt gewist"
3092
 
3093
- #: cerber-settings.php:715
3094
  msgid "Enable data export"
3095
  msgstr "Gegevensexport inschakelen"
3096
 
3097
- #: cerber-settings.php:722
3098
  msgid "Include activity log events"
3099
  msgstr "Voeg activiteitenlog toe"
3100
 
3101
- #: cerber-settings.php:728
3102
  msgid "Include traffic log entries"
3103
  msgstr "Voeg verkeersinformatie toe"
3104
 
3105
- #: cerber-settings.php:731
3106
  msgid "Request URL"
3107
  msgstr "URL opvragen"
3108
 
3109
- #: cerber-settings.php:732
3110
  msgid "Form fields data"
3111
  msgstr "Gegevens formuliervelden"
3112
 
3113
- #: cerber-settings.php:733
3114
  msgid "Cookies"
3115
  msgstr "Cookies"
3116
 
@@ -3118,7 +3118,7 @@ msgstr "Cookies"
3118
  msgid "Cerber anti-spam settings"
3119
  msgstr "Cerber anti-spam-instellingen"
3120
 
3121
- #: cerber-settings.php:1336 admin/cerber-dashboard.php:77
3122
  msgid "Anti-spam"
3123
  msgstr "Anti-spam"
3124
 
@@ -3127,27 +3127,27 @@ msgstr "Anti-spam"
3127
  msgid "Add-ons"
3128
  msgstr "Add-ons"
3129
 
3130
- #: admin/cerber-dashboard.php:5181
3131
  msgid "Anti-spam and bot detection settings"
3132
  msgstr "Anti-spam- en botdetectie-instellingen"
3133
 
3134
- #: admin/cerber-dashboard.php:5183
3135
  msgid "Anti-spam engine"
3136
  msgstr "Anti-spamroutine"
3137
 
3138
- #: cerber-common.php:1692
3139
  msgid "Multiple erroneous requests"
3140
  msgstr "Meervoudige foutieve verzoeken"
3141
 
3142
- #: admin/cerber-admin-settings.php:338
3143
  msgid "%s retries are allowed within %s minutes"
3144
  msgstr "%s herkansingen in %s minuten toegestaan"
3145
 
3146
- #: admin/cerber-admin-settings.php:344
3147
  msgid "%s registrations are allowed within %s minutes from one IP address"
3148
  msgstr "%s registraties binnen %s minuten vanaf één IP-adres toegestaan"
3149
 
3150
- #: admin/cerber-admin-settings.php:367
3151
  msgid "Enable after %s failed login attempts in the last %s minutes"
3152
  msgstr "Aanzetten na %s gefaalde inlogpogingen in de afgelopen %s minuten"
3153
 
@@ -3155,108 +3155,108 @@ msgstr "Aanzetten na %s gefaalde inlogpogingen in de afgelopen %s minuten"
3155
  msgid "Restrict or completely block access to the WordPress REST API according to your needs"
3156
  msgstr "Naar behoefte toegang tot de WordPress REST API beperken of blokkeren"
3157
 
3158
- #: cerber-settings.php:697
3159
  msgid "These features help your organization to be in compliance with personal data protection laws"
3160
  msgstr "Deze functies helpen u de privacywetgeving na te leven"
3161
 
3162
- #: cerber-settings.php:755
3163
  msgid "if empty, the website administrator email %s will be used"
3164
  msgstr "indien leeg, wordt de email %s van de sitebeheerder gebruikt"
3165
 
3166
- #: cerber-settings.php:759
3167
  msgid "notifications are allowed per hour (0 means unlimited)"
3168
  msgstr "meldingen per uur toegestaan (0 = onbeperkt)"
3169
 
3170
- #: cerber-settings.php:770
3171
  msgid "Get notified instantly with mobile and desktop notifications"
3172
  msgstr "Meteen op de hoogte met desktop- en mobiele meldingen"
3173
 
3174
- #: cerber-settings.php:785
3175
  msgid "Weekly report is a summary of all activities and suspicious events occurred during the last seven days"
3176
  msgstr "Het weekrapport is een overzicht van activiteiten en verdachte gebeurtenissen van de afgelopen zeven dagen"
3177
 
3178
- #: cerber-settings.php:798 cerber-settings.php:1099
3179
  msgid "if empty, the email addresses from the notification settings will be used"
3180
  msgstr "indien leeg, worden de mailadressen voor meldingen gebruikt"
3181
 
3182
- #: cerber-settings.php:810
3183
  msgid "Traffic Inspector is a context-aware web application firewall (WAF) that protects your website by recognizing and denying malicious HTTP requests"
3184
  msgstr "VerkeerInspectie beschermt als contextuele WebApplicatie Firewall (WAF) de website door kwaadaardige HTTP-verzoeken te herkennen en te weigeren\n"
3185
  ""
3186
 
3187
- #: cerber-settings.php:841
3188
  msgid "Block IP addresses that send excessive requests for non-existing pages or scan website for security breaches"
3189
  msgstr "Blokkeer IP-adressen die extreem veel niet-bestaande pagina's opvragen of die scannen voor beveiligingslekken"
3190
 
3191
- #: cerber-settings.php:860
3192
  msgid "Traffic Logging"
3193
  msgstr "Verkeer Loggen"
3194
 
3195
- #: cerber-settings.php:861
3196
  msgid "Enable optional traffic logging if you need to monitor suspicious and malicious activity or solve security issues"
3197
  msgstr "Ga het verkeer loggen als je verdachte of kwaadaardige activiteiten wilt volgen, of beveiligingsproblemen wilt oplossen"
3198
 
3199
- #: cerber-settings.php:974
3200
  msgid "The scanner monitors file changes, verifies the integrity of WordPress, plugins, and themes, and detects malware"
3201
  msgstr "De scanner ziet bestandswijzigingen, controleert de integriteit van WordPress, plugins en thema's, en detecteert malware"
3202
 
3203
- #: cerber-settings.php:1024
3204
  msgid "Specify directories to exclude from scanning. One directory per line."
3205
  msgstr "Stel de mappen in die niet gescand worden. Eén map per regel."
3206
 
3207
- #: cerber-settings.php:1051
3208
  msgid "The scanner automatically scans the website, removes malware and sends email reports with the results of a scan"
3209
  msgstr "De scanner scant de site automatisch, verwijdert malware en mailt de resultaten van de scan"
3210
 
3211
- #: cerber-settings.php:1068
3212
  msgid "Configure what issues to include in the email report and the condition for sending reports"
3213
  msgstr "Instellen wat deel moet uitmaken van de email-rapportage, en waarom deze verzonden wordt"
3214
 
3215
- #: cerber-settings.php:1218
3216
  msgid "Cerber anti-spam engine"
3217
  msgstr "Cerber anti-spam-routines"
3218
 
3219
- #: cerber-settings.php:1219
3220
  msgid "Spam protection for comment, registration and contact forms on a website"
3221
  msgstr "Spambescherming voor registratie-, opmerkingen- en contactformulieren op de site"
3222
 
3223
- #: cerber-settings.php:1246
3224
  msgid "Adjust anti-spam engine"
3225
  msgstr "Anti-spam-routine instellen"
3226
 
3227
- #: cerber-settings.php:1247
3228
  msgid "These settings enable you to fine-tune the behavior of anti-spam algorithms and avoid false positives"
3229
  msgstr "Met deze instellingen stel je de anti-spam algoritmes precies in, en voorkom je valse meldingen"
3230
 
3231
- #: cerber-settings.php:1271
3232
  msgid "How the plugin processes comments submitted through the standard comment form"
3233
  msgstr "Hoe de plugin opmerkingen verwerkt die binnenkomen via het opmerkingenformulier"
3234
 
3235
- #: nexus/cerber-nexus-slave.php:436
3236
  msgid "Settings updated"
3237
  msgstr "Instellingen aangepast"
3238
 
3239
- #: admin/cerber-dashboard.php:1389
3240
  msgid "Request ID"
3241
  msgstr "ID van verzoek"
3242
 
3243
- #: admin/cerber-dashboard.php:1390
3244
  msgid "Search in URL"
3245
  msgstr "Zoek in URL"
3246
 
3247
- #: cerber-settings.php:982 cerber-settings.php:991
3248
  msgid "Executable files"
3249
  msgstr "Uitvoerbare bestanden"
3250
 
3251
- #: cerber-settings.php:983 cerber-settings.php:992
3252
  msgid "All files"
3253
  msgstr "Alle bestanden"
3254
 
3255
- #: admin/cerber-dashboard.php:1903
3256
  msgid "Active sessions"
3257
  msgstr "Actieve sessies"
3258
 
3259
- #: cerber-settings.php:680
3260
  msgid "minutes (leave empty to use the default WordPress value)"
3261
  msgstr "minuten (leeg laten voor de standaard WordPress waarde)"
3262
 
@@ -3264,104 +3264,104 @@ msgstr "minuten (leeg laten voor de standaard WordPress waarde)"
3264
  msgid "Load entries"
3265
  msgstr "Waarden inladen"
3266
 
3267
- #: admin/cerber-dashboard.php:1092 admin/cerber-dashboard.php:4439
3268
  msgid "My IP"
3269
  msgstr "Mijn IP"
3270
 
3271
- #: admin/cerber-dashboard.php:5270
3272
  msgid "Analytics"
3273
  msgstr "Analyse"
3274
 
3275
- #: admin/cerber-dashboard.php:5319
3276
  msgid "Manage Settings"
3277
  msgstr "Instellingen beheren"
3278
 
3279
- #: cerber-settings.php:1038 cerber-settings.php:1388 cerber-settings.php:1416
3280
- #: admin/cerber-dashboard.php:5321
3281
  msgid "Diagnostic Log"
3282
  msgstr "Diagnostische log"
3283
 
3284
- #: cerber-common.php:1509
3285
  msgid "User deleted"
3286
  msgstr "Verwijderd door gebruiker"
3287
 
3288
- #: cerber-common.php:1601
3289
  msgid "Email address is prohibited"
3290
  msgstr "Email-adres is verboden"
3291
 
3292
- #: admin/cerber-admin.php:771
3293
  msgid "Quarantined"
3294
  msgstr "Afgezonderd"
3295
 
3296
- #: admin/cerber-admin.php:927 admin/cerber-admin.php:1394
3297
  msgid "Modified"
3298
  msgstr "Aangepast"
3299
 
3300
- #: admin/cerber-admin.php:1003
3301
  msgid "Files without extension"
3302
  msgstr "Bestanden zonder extensie"
3303
 
3304
- #: admin/cerber-admin.php:1004
3305
  msgid "Back to list"
3306
  msgstr "Terug naar de lijst"
3307
 
3308
- #: admin/cerber-admin.php:1064
3309
  msgid "Brief summary"
3310
  msgstr "Samenvatting"
3311
 
3312
- #: admin/cerber-admin.php:1115
3313
  msgid "Folder"
3314
  msgstr "Map"
3315
 
3316
- #: admin/cerber-admin.php:1116
3317
  msgid "Path"
3318
  msgstr "Pas"
3319
 
3320
- #: admin/cerber-admin.php:1117 admin/cerber-admin.php:1211
3321
  msgid "Files"
3322
  msgstr "Bestanden"
3323
 
3324
- #: admin/cerber-admin.php:1118 admin/cerber-admin.php:1212
3325
  msgid "Space Occupied"
3326
  msgstr "Ruimte Gebruikt"
3327
 
3328
- #: admin/cerber-admin.php:1182
3329
  msgid "No extension"
3330
  msgstr "Geen extensie"
3331
 
3332
- #: admin/cerber-admin.php:1207
3333
  msgid "File extensions statistics"
3334
  msgstr "Statistiek Bestandsextensie"
3335
 
3336
- #: admin/cerber-admin.php:1210
3337
  msgid "Extension"
3338
  msgstr "Extensie"
3339
 
3340
- #: admin/cerber-admin.php:1213
3341
  msgid "Smallest"
3342
  msgstr "Kleinste"
3343
 
3344
- #: admin/cerber-admin.php:1214
3345
  msgid "Largest"
3346
  msgstr "Grootste"
3347
 
3348
- #: admin/cerber-admin.php:1215
3349
  msgid "Average Size"
3350
  msgstr "Gemiddelde Grootte"
3351
 
3352
- #: admin/cerber-admin.php:1216
3353
  msgid "Oldest"
3354
  msgstr "Oudste"
3355
 
3356
- #: admin/cerber-admin.php:1217
3357
  msgid "Newest"
3358
  msgstr "Nieuwste"
3359
 
3360
- #: admin/cerber-admin.php:1233
3361
  msgid "Top 10 largest files"
3362
  msgstr "Top-10 grootste bestanden"
3363
 
3364
- #: admin/cerber-admin.php:1392
3365
  msgid "File Name"
3366
  msgstr "Bestandsnaam"
3367
 
@@ -3393,15 +3393,15 @@ msgstr "Onderstaande knop laadt WP Cerber's standaardinstellingen. Een aangepast
3393
  msgid "To get the most out of WP Cerber, follow these steps:"
3394
  msgstr "Om het meeste baat bij WP Cerber te hebben, doe dit:"
3395
 
3396
- #: cerber-common.php:1616
3397
  msgid "IP whitelisted"
3398
  msgstr "IP toegestaan"
3399
 
3400
- #: admin/cerber-dashboard.php:4438
3401
  msgid "My requests"
3402
  msgstr "Mijn verzoeken"
3403
 
3404
- #: admin/cerber-dashboard.php:3759
3405
  msgid "Log into the website"
3406
  msgstr "Bij de website inloggen"
3407
 
@@ -3410,55 +3410,55 @@ msgstr "Bij de website inloggen"
3410
  msgid "WP Cerber Security, Anti-spam & Malware Scan"
3411
  msgstr "WP Cerber Security, Anti-spam & Malware Scan"
3412
 
3413
- #: cerber-common.php:1547 cerber-common.php:1688
3414
  msgid "Probing for vulnerable code"
3415
  msgstr "Op zoek naar kwetsbare code"
3416
 
3417
- #: cerber-load.php:5708
3418
  msgid "Your IP address %s has been added to the White IP Access List"
3419
  msgstr "Je IP-adres %s is toegevoegd aan de Lijst Toegestane Adressen"
3420
 
3421
- #: admin/cerber-users.php:971
3422
  msgid "Search for IP address"
3423
  msgstr "IP-adres zoeken"
3424
 
3425
- #: cerber-settings.php:869
3426
  msgid "Minimal"
3427
  msgstr "Minimaal"
3428
 
3429
- #: cerber-settings.php:885
3430
  msgid "Do not log known crawlers"
3431
  msgstr "Log bekende crawlers niet"
3432
 
3433
- #: cerber-settings.php:890
3434
  msgid "Do not log these locations"
3435
  msgstr "Log deze locaties niet"
3436
 
3437
- #: cerber-settings.php:894
3438
  msgid "Specify URL paths to exclude requests from logging. One item per line."
3439
  msgstr "Geef aan welke url-paden niet gelogd worden. Eén per regel."
3440
 
3441
- #: cerber-settings.php:898
3442
  msgid "Do not log these User-Agents"
3443
  msgstr "Log deze 'user-agents' niet"
3444
 
3445
- #: cerber-settings.php:902
3446
  msgid "Specify User-Agents to exclude requests from logging. One item per line."
3447
  msgstr "Geef aan welke 'user-agents' niet gelogd worden. Eén per regel."
3448
 
3449
- #: admin/cerber-dashboard.php:4556
3450
  msgid "Unknown Google's bot"
3451
  msgstr "Onbekende Google-bot"
3452
 
3453
- #: cerber-common.php:1607
3454
  msgid "IP address is not allowed"
3455
  msgstr "IP-adres niet toegestaan"
3456
 
3457
- #: cerber-settings.php:603
3458
  msgid "Only users from IP addresses in the White IP Access List may register on the website"
3459
  msgstr "Alleen IP-adressen uit de Toegestane Lijst kunnen registreren op de website."
3460
 
3461
- #: cerber-settings.php:608
3462
  msgid "User message"
3463
  msgstr "Gebruikersbericht"
3464
 
@@ -3467,15 +3467,15 @@ msgid "File is missing"
3467
  msgstr "Bestand ontbreekt"
3468
 
3469
  #. Mandatory
3470
- #: cerber-scanner.php:2622
3471
  msgid "This file is missing. It's been deleted or it's not been installed."
3472
  msgstr "Dit bestand ontbreekt. Het is verwijderd of niet geïnstalleerd."
3473
 
3474
- #: cerber-scanner.php:3936
3475
  msgid "Error: file %s cannot be used."
3476
  msgstr "Fout: bestand %s is niet te gebruiken."
3477
 
3478
- #: cerber-scanner.php:3936
3479
  msgid "Please upload another file."
3480
  msgstr "Upload een ander bestand."
3481
 
@@ -3487,7 +3487,7 @@ msgstr "Uitgestelde weergave"
3487
  msgid "Defer rendering the custom login page"
3488
  msgstr "Stel weergave van de eigen inlogpagina uit"
3489
 
3490
- #: cerber-load.php:383
3491
  msgid "You have only one login attempt remaining."
3492
  msgstr "Je kunt nog één login-poging wagen."
3493
 
@@ -3515,15 +3515,15 @@ msgstr "Login vanuit een andere browser of een ander apparaat"
3515
  msgid "If the number of concurrent user sessions is greater"
3516
  msgstr "Als het aantal gelijktijdige gebruikersessies groter is"
3517
 
3518
- #: admin/cerber-dashboard.php:5612
3519
  msgid "These features are available in the professional version of WP Cerber."
3520
  msgstr "Deze mogelijkheden vind je in de betaalde versie van WP Cerber."
3521
 
3522
- #: cerber-common.php:1534
3523
  msgid "User session terminated"
3524
  msgstr "Gebruikerssessie beëindigd"
3525
 
3526
- #: cerber-common.php:1608
3527
  msgid "Limit on concurrent user sessions"
3528
  msgstr "Grens aan gelijktijdige gebruikersessies"
3529
 
@@ -3531,35 +3531,35 @@ msgstr "Grens aan gelijktijdige gebruikersessies"
3531
  msgid "It is visible only to website administrators"
3532
  msgstr "Alleen zichtbaar voor websitebeheerders"
3533
 
3534
- #: admin/cerber-admin.php:1499
3535
  msgid "Authorized"
3536
  msgstr "Geautoriseerd"
3537
 
3538
- #: admin/cerber-admin.php:1500
3539
  msgid "Authorization Failed"
3540
  msgstr "Autorisatie mislukt"
3541
 
3542
- #: admin/cerber-admin-settings.php:756
3543
  msgid "Important note if you have a caching plugin in place"
3544
  msgstr "Belangrijk bericht als je een caching plugin benut"
3545
 
3546
- #: admin/cerber-admin-settings.php:757
3547
  msgid "To avoid false positives and get better anti-spam performance, please clear the plugin cache."
3548
  msgstr "Wis de plugin cache om valse positieven te voorkomen en beter anti-spam-gedrag te krijgen."
3549
 
3550
- #: cerber-common.php:1564
3551
  msgid "API request authorized"
3552
  msgstr "API-verzoek toegestaan"
3553
 
3554
- #: cerber-common.php:1565
3555
  msgid "API request authorization failed"
3556
  msgstr "API-verzoek afgewezen"
3557
 
3558
- #: cerber-common.php:1552
3559
  msgid "Request to XML-RPC API denied"
3560
  msgstr "Verzoek aan XML-RPC API afgewezen"
3561
 
3562
- #: cerber-common.php:1609
3563
  msgid "Invalid cookies"
3564
  msgstr "Ongeldige cookies"
3565
 
@@ -3575,24 +3575,24 @@ msgstr "Perk aggressieve pogingen in"
3575
  msgid "Do not show PHP errors on my website"
3576
  msgstr "Verberg PHP-fouten op mijn website"
3577
 
3578
- #: cerber-settings.php:875
3579
  msgid "Log all REST API requests"
3580
  msgstr "Log alle REST API-verzoeken"
3581
 
3582
- #: cerber-settings.php:880
3583
  msgid "Log all XML-RPC requests"
3584
  msgstr "Log alle XML-RPC-verzoeken "
3585
 
3586
- #: cerber-settings.php:1233
3587
  msgid "Custom comment URL"
3588
  msgstr "URL met aangepast commentaar"
3589
 
3590
- #: cerber-settings.php:1234
3591
  msgid "Use custom URL for the WordPress comment form"
3592
  msgstr "Gebruik eigen URL voor het WordPress"
3593
 
3594
- #: cerber-settings.php:456 cerber-settings.php:1255
3595
- #: admin/cerber-dashboard.php:2072
3596
  msgid "Logged-in users"
3597
  msgstr "Ingelogde gebruikers"
3598
 
@@ -3604,47 +3604,47 @@ msgstr "Persoonlijke Voorkeuren"
3604
  msgid "Allow access to REST API for logged-in users"
3605
  msgstr "Sta toegang tot REST-API toe voor ingelogde gebruikers"
3606
 
3607
- #: cerber-settings.php:572
3608
  msgid "User registration"
3609
  msgstr "Gebruikersregistratie"
3610
 
3611
- #: cerber-settings.php:573
3612
  msgid "Restrict new user registrations by the following conditions"
3613
  msgstr "Beperk nieuwe gebruikers met deze voorwaarden"
3614
 
3615
- #: cerber-settings.php:618
3616
  msgid "Authorized Access"
3617
  msgstr "Bevoegde toegang"
3618
 
3619
- #: cerber-settings.php:619
3620
  msgid "Grant access to the website to logged-in users only"
3621
  msgstr "Sta site-toegang alleen toe aan ingelogde gebruikers"
3622
 
3623
- #: cerber-settings.php:657 cerber-settings.php:1029
3624
  msgid "Miscellaneous Settings"
3625
  msgstr "Diverse instellingen"
3626
 
3627
- #: cerber-settings.php:670 admin/cerber-users.php:468
3628
  msgid "Application Passwords"
3629
  msgstr "Applicatie-wachtwoorden"
3630
 
3631
- #: cerber-settings.php:673 admin/cerber-users.php:472
3632
  msgid "Enabled, access to API using standard user passwords is allowed"
3633
  msgstr "Vrijgegeven, toegang tot API met gewoon gebruikersaccount"
3634
 
3635
- #: cerber-settings.php:674 admin/cerber-users.php:473
3636
  msgid "Enabled, no access to API using standard user passwords"
3637
  msgstr "Vrijgegeven, geen toegang tot API met gewoon gebruikersaccount"
3638
 
3639
- #: cerber-settings.php:853
3640
  msgid "Ignore logged-in users"
3641
  msgstr "Negeer ingelogde gebruikers"
3642
 
3643
- #: cerber-settings.php:1256
3644
  msgid "Disable bot detection engine for logged-in users"
3645
  msgstr "Zet bot-detectie uit voor ingelogde gebruikers"
3646
 
3647
- #: cerber-settings.php:1342
3648
  msgid "Disable reCAPTCHA for logged-in users"
3649
  msgstr "Zet reCAPTCHA uit voor ingelogde gebruikers"
3650
 
@@ -3652,7 +3652,7 @@ msgstr "Zet reCAPTCHA uit voor ingelogde gebruikers"
3652
  msgid "Use global policies"
3653
  msgstr "Gebruik algemene instellingen"
3654
 
3655
- #: cerber-load.php:386
3656
  msgid "You have %d login attempt remaining."
3657
  msgid_plural "You have %d login attempts remaining."
3658
  msgstr[0] "Laatste inlogpoging."
@@ -3662,11 +3662,11 @@ msgstr[1] "Nog %d inlogpogingen te gaan."
3662
  msgid "Display this message if an attempt to log in is denied because the limit on concurrent user sessions has been reached"
3663
  msgstr "Toon dit bericht als een inlogpoging wordt afgewezen vanwege de limiet op gelijktijdige sessies"
3664
 
3665
- #: admin/cerber-dashboard.php:5229
3666
  msgid "Role-Based"
3667
  msgstr "Rolgebaseerd"
3668
 
3669
- #: cerber-common.php:1563
3670
  msgid "User application password created"
3671
  msgstr "Gebruikerswachtwoord aangemaakt"
3672
 
@@ -3674,19 +3674,19 @@ msgstr "Gebruikerswachtwoord aangemaakt"
3674
  msgid "Initialization Mode"
3675
  msgstr "Initialisatiefase"
3676
 
3677
- #: cerber-settings.php:925
3678
  msgid "Save response headers"
3679
  msgstr "Response headers opslaan"
3680
 
3681
- #: cerber-settings.php:936
3682
  msgid "Save response cookies"
3683
  msgstr "Response cookies opslaan"
3684
 
3685
- #: cerber-load.php:7736
3686
  msgid "We need your support to keep moving forward"
3687
  msgstr "We hebben je ondersteuning nodig om door te gaan"
3688
 
3689
- #: cerber-load.php:7738
3690
  msgid "By sharing your unique opinion on WP Cerber, you help the engineers behind the plugin make greater progress and help other professionals find the right software. You can leave your review on one of the following websites. Feel free to use your native language. Thanks!"
3691
  msgstr "Door WP Cerber te beoordelen, scherp je de focus van de makers en help je anderen de juiste programma's te vinden. Plaats je bespreking op een van deze sites. Dat kan gewoon in het Nederlands. Dankjewel!"
3692
 
@@ -3694,40 +3694,40 @@ msgstr "Door WP Cerber te beoordelen, scherp je de focus van de makers en help j
3694
  msgid "Secret Access Token is invalid"
3695
  msgstr "Ongeldig Geheim Toegangscertificaat"
3696
 
3697
- #: admin/cerber-dashboard.php:226
3698
  msgid "Click the IP address to see its activity"
3699
  msgstr "Klik op het IP-adres om z'n acties te zien"
3700
 
3701
- #: admin/cerber-dashboard.php:1073
3702
  msgid "Login issues"
3703
  msgstr "Login-problemen"
3704
 
3705
- #: admin/cerber-dashboard.php:1090 admin/cerber-dashboard.php:4433
3706
  msgid "Non-authenticated"
3707
  msgstr "Niet-geautoriseerd"
3708
 
3709
- #: admin/cerber-dashboard.php:1367 admin/cerber-dashboard.php:1803
3710
- #: admin/cerber-dashboard.php:2660 admin/cerber-admin.php:1334
3711
  msgid "No activity has been logged yet."
3712
  msgstr "Er is nog geen activiteit geregistreerd"
3713
 
3714
- #: admin/cerber-dashboard.php:2676
3715
  msgid "Users' Activity"
3716
  msgstr "Gebruikersactiviteit"
3717
 
3718
- #: admin/cerber-dashboard.php:2696
3719
  msgid "Malicious Activity"
3720
  msgstr "Kwaadaardige activiteit"
3721
 
3722
- #: admin/cerber-dashboard.php:4430
3723
  msgid "Suspicious requests"
3724
  msgstr "Verdachte verzoeken"
3725
 
3726
- #: admin/cerber-dashboard.php:1089 admin/cerber-dashboard.php:4432
3727
  msgid "Users"
3728
  msgstr "Gebruikers"
3729
 
3730
- #: cerber-common.php:1611
3731
  msgid "Forbidden URL"
3732
  msgstr "Verboden URL"
3733
 
@@ -3759,19 +3759,19 @@ msgstr "Blokkeer toegang tot wp-login.php"
3759
  msgid "Shift admin menu"
3760
  msgstr "Verplaats admin-menu"
3761
 
3762
- #: cerber-2fa.php:507
3763
  msgid "You or someone else trying to log into the website. We have to verify that it's you. If this wasn't you, please immediately reset your password to safeguard your account."
3764
  msgstr "Iemand wil de site binnenkomen. We willen zeker weten dat jij het zelf bent. Zo niet, vernieuw dan meteen je wachtwoord om je site te beschermen."
3765
 
3766
- #: cerber-2fa.php:663
3767
  msgid "Did not receive the email?"
3768
  msgstr "E-mail niet ontvangen?"
3769
 
3770
- #: cerber-2fa.php:508
3771
  msgid "Please use the following verification PIN code to verify your identity."
3772
  msgstr "Gebruik de volgende verificatie-PIN om je identiteit te bevestigen."
3773
 
3774
- #: admin/cerber-admin-settings.php:690
3775
  msgid "You have disabled the default login page. Ensure that you have configured an alternative login page. Otherwise, you will not be able to log in."
3776
  msgstr "Je hebt de standaard login-pagina uitgezet. Vergewis je ervan dat je een andere login-pagina hebt geconfigureerd; anders ben je voorgoed buitengesloten."
3777
 
@@ -3791,27 +3791,27 @@ msgstr "Houd niet-bestaande gebruikersnamen en emails achter bij het rapporteren
3791
  msgid "Deny authentication through wp-login.php"
3792
  msgstr "Wijs authenticatie via wp-login.php af"
3793
 
3794
- #: cerber-common.php:1610
3795
  msgid "Invalid cookies cleared"
3796
  msgstr "Ongeldige cookies gewist"
3797
 
3798
- #: cerber-load.php:1728
3799
  msgid "If we have found your account, we have sent the confirmation link to the email address on the account."
3800
  msgstr "Als we je account hebben, sturen we een bevestigingslink naar het email-adres in dat account."
3801
 
3802
- #: cerber-load.php:5665
3803
  msgid "WP Cerber requires PHP %s or higher. You are running %s."
3804
  msgstr "WP Cerber vergt PHP %s or hoger. Jij draait %s."
3805
 
3806
- #: cerber-load.php:5669
3807
  msgid "WP Cerber requires WordPress %s or higher. You are running %s."
3808
  msgstr "WP Cerber vergt WordPress %s or hoger. Jij draait %s."
3809
 
3810
- #: cerber-common.php:449
3811
  msgid "WP Cerber requires PHP %s or higher. You are running %s"
3812
  msgstr "WP Cerber vergt PHP %s or hoger. Jij draait %s"
3813
 
3814
- #: cerber-common.php:453
3815
  msgid "WP Cerber requires WordPress %s or higher. You are running %s"
3816
  msgstr "WP Cerber vergt WordPress %s or hoger. Jij draait %s"
3817
 
@@ -3835,15 +3835,15 @@ msgstr "Voorkom ontdekken van gebruikersnamen via oEmber"
3835
  msgid "Prevent username discovery via user XML sitemaps"
3836
  msgstr "Voorkom ontdekken van gebruikersnamen via XML sitemaps"
3837
 
3838
- #: admin/cerber-admin.php:1019
3839
  msgid "No data for generating reports. Please run the Full Scan. After the scan is completed, the reports will be generated."
3840
  msgstr "Er zijn geen gegevens voor een rapport. Doe een Volledige Scan. Na afloop stellen we de rapportage samen."
3841
 
3842
- #: cerber-settings.php:1038 cerber-settings.php:1388 cerber-settings.php:1416
3843
  msgid "Once enabled, the log is available here: %s"
3844
  msgstr "Indien ingeschakeld, vind je de log hier: %s"
3845
 
3846
- #: cerber-scanner.php:2623
3847
  msgid "The scanner identifies this file as missing based on the integrity data (checksums) provided by the developer of %s."
3848
  msgstr "Met de integriteitsdata ('checksums') van de ontwikkelaar van %s, ziet de scanner dit als een ontbrekend bestand."
3849
 
@@ -3859,55 +3859,55 @@ msgstr "Toon het WP Server Admin-menu bovenaan voor wie als admin browst"
3859
  msgid "Show IP WHOIS data"
3860
  msgstr "Toon WHOIS-info van IP-adres"
3861
 
3862
- #: cerber-settings.php:1139
3863
  msgid "Analyze the uploads directory"
3864
  msgstr "De uploads-map controleren"
3865
 
3866
- #: cerber-settings.php:1140
3867
  msgid "Analyze the WordPress uploads directory to detect injected files"
3868
  msgstr "De Wordpress-uploads-map controleren op bijgevoegde bestanden"
3869
 
3870
- #: cerber-settings.php:1033
3871
  msgid "Change file and directory permissions if it is required to delete files"
3872
  msgstr "Bestands- en maptoestemmingen zo nodig aanpassen om bestanden te verwijderen"
3873
 
3874
- #: cerber-settings.php:1032
3875
  msgid "Change filesystem permissions"
3876
  msgstr "Toestemmingen bestandssysteem aanpassen"
3877
 
3878
- #: cerber-settings.php:1118
3879
  msgid "Delete files in the WordPress uploads directory"
3880
  msgstr "Bestanden uit Wordpress' uploads-map verwijderen"
3881
 
3882
- #: cerber-settings.php:1127
3883
  msgid "Delete files with unwanted extensions"
3884
  msgstr "Bestanden met ongewenste extensies verwijderen"
3885
 
3886
- #: cerber-settings.php:1160
3887
  msgid "Delete publicly accessible files with these extensions"
3888
  msgstr "Verwijder publiek bereikbare bestanden met deze extensies"
3889
 
3890
- #: cerber-scanner.php:3702
3891
  msgid "Detecting injected files in the WordPress uploads directory"
3892
  msgstr "Bijgevoegde bestanden detecteren in de Wordpress uploads-map"
3893
 
3894
- #: cerber-common.php:1612
3895
  msgid "Executable file extension detected"
3896
  msgstr "Uitvoerbare bestandextensie aangetroffen"
3897
 
3898
- #: cerber-common.php:1613
3899
  msgid "Filename is prohibited"
3900
  msgstr "Bestandsnaam is verboden"
3901
 
3902
- #: cerber-settings.php:1206
3903
  msgid "Files in temporary directories"
3904
  msgstr "Bestanden in tijdelijke mappen"
3905
 
3906
- #: cerber-settings.php:1186
3907
  msgid "Global Exclusions"
3908
  msgstr "Algemene Uitsluitingen"
3909
 
3910
- #: cerber-settings.php:1147
3911
  msgid "Ignore files with these extensions"
3912
  msgstr "Bestanden met deze extensies negeren"
3913
 
@@ -3923,7 +3923,7 @@ msgstr "Bijgevoegd bestanden"
3923
  msgid "KB/sec"
3924
  msgstr "KB/sec"
3925
 
3926
- #: cerber-settings.php:1134
3927
  msgid "Keep the WordPress uploads directory clean and secure. Detect injected files with public web access, report them, and remove malicious ones."
3928
  msgstr "Houd de WP uploads-map schoon en veilig. Detecteer tussengevoegde bestanden met internettoegang, rapporteer ze en verwijder de kwaadaardige."
3929
 
@@ -3931,59 +3931,59 @@ msgstr "Houd de WP uploads-map schoon en veilig. Detecteer tussengevoegde bestan
3931
  msgid "Local hash not found"
3932
  msgstr "Lokale hash niet gevonden"
3933
 
3934
- #: cerber-settings.php:1062
3935
  msgid "once a day at"
3936
  msgstr "eenmaal daags om"
3937
 
3938
- #: cerber-settings.php:1158
3939
  msgid "Prohibited extensions"
3940
  msgstr "Verboden extensies"
3941
 
3942
- #: cerber-settings.php:1180
3943
  msgid "Recover plugins' files"
3944
  msgstr "Plugin-bestanden herstellen"
3945
 
3946
- #: cerber-settings.php:1000
3947
  msgid "Scan the sessions directory"
3948
  msgstr "De sessie-map controleren"
3949
 
3950
- #: cerber-settings.php:996
3951
  msgid "Scan web server's temporary directories"
3952
  msgstr "Tijdelijke mappen van de webserver controleren"
3953
 
3954
- #: cerber-scanner.php:3693
3955
  msgid "Scanning server's temporary directories for files"
3956
  msgstr "Tijdelijke mappen van de webserver controleren op bestanden"
3957
 
3958
- #: cerber-scanner.php:3694
3959
  msgid "Scanning the sessions directory for files"
3960
  msgstr "Sessie-map controleren op bestanden"
3961
 
3962
- #: cerber-scanner.php:3692
3963
  msgid "Scanning the temporary upload directory for files"
3964
  msgstr "Tijdelijke upload-map controleren op bestanden"
3965
 
3966
- #: cerber-scanner.php:3691
3967
  msgid "Scanning website directories for files"
3968
  msgstr "Website-mappen controleren op bestanden"
3969
 
3970
- #: cerber-settings.php:1145
3971
  msgid "Skip files with these extensions"
3972
  msgstr "Bestanden met deze extensies overslaan"
3973
 
3974
- #: cerber-settings.php:1110
3975
  msgid "These policies are automatically enforced at the end of every scan based on its results. All affected files are moved to the quarantine."
3976
  msgstr "Het beleid wordt automatisch toegepast na elke scan, afhankelijk van de resultaten. Aangetaste bestanden gaan naar de quarantaine."
3977
 
3978
- #: admin/cerber-dashboard.php:3209
3979
  msgid "This scan report was generated by the previous version of WP Cerber. Please run a new scan to get consistent and accurate results."
3980
  msgstr "Het scan-rapport komt van een eerdere versie van WP Cerber. Scan opnieuw voor een consistent en accuraat resultaat."
3981
 
3982
- #: cerber-settings.php:1148 cerber-settings.php:1161
3983
  msgid "Use comma to separate multiple extensions"
3984
  msgstr "Scheid extensies met komma's"
3985
 
3986
- #: cerber-settings.php:1133
3987
  msgid "WordPress uploads analysis"
3988
  msgstr "WordPress uploads analyse"
3989
 
@@ -4005,11 +4005,76 @@ msgctxt "This is a risk level."
4005
  msgid "Medium"
4006
  msgstr "Midden"
4007
 
4008
- #: cerber-load.php:4458
4009
  msgid "If you believe you should be able to perform this request, please let us know."
4010
  msgstr "Meen je dit verzoek te moeten kunnen uitvoeren, laat het ons weten."
4011
 
4012
- #: cerber-load.php:4457
4013
  msgid "Your request looks suspiciously similar to automated requests from spam posting software or it has been denied by a security policy configured by the website administrator."
4014
  msgstr "Je verzoek lijkt te veel op een geautomatiseerd verzoek van spam-software óf is geweigerd door een beveiligingsinstelling van de beheerder."
4015
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  msgid "Custom login URL"
45
  msgstr "Aangepaste inlog-URL"
46
 
47
+ #: cerber-settings.php:284 admin/cerber-dashboard.php:2086
48
  msgid "Citadel mode"
49
  msgstr "Citadelstand"
50
 
56
  msgid "Duration"
57
  msgstr "Duur"
58
 
59
+ #: cerber-settings.php:305 admin/cerber-dashboard.php:5147
60
  msgid "Notifications"
61
  msgstr "Meldingen"
62
 
64
  msgid "Send notification to admin email"
65
  msgstr "Melding versturen naar admin e-mailadres"
66
 
67
+ #: admin/cerber-dashboard.php:5144 admin/cerber-tools.php:38
68
  #: admin/cerber-tools.php:49
69
  msgid "Access Lists"
70
  msgstr "Toegangslijsten"
71
 
72
+ #: cerber-load.php:5607 cerber-settings.php:317
73
+ #: admin/cerber-dashboard.php:2127 admin/cerber-dashboard.php:5140
74
+ #: admin/cerber-users.php:1114
75
  msgid "Activity"
76
  msgstr "Activiteit"
77
 
78
+ #: admin/cerber-dashboard.php:5142
79
  msgid "Lockouts"
80
  msgstr "Uitsluitingen"
81
 
82
+ #: cerber-load.php:5616
83
  msgid "IP"
84
  msgstr "IP"
85
 
86
+ #: admin/cerber-dashboard.php:943 admin/cerber-dashboard.php:1337
87
+ #: admin/cerber-dashboard.php:3918 admin/cerber-dashboard.php:4405
88
  msgid "Date"
89
  msgstr "Datum"
90
 
91
+ #: admin/cerber-dashboard.php:946 admin/cerber-dashboard.php:1339
92
+ #: admin/cerber-dashboard.php:4410
93
  msgid "Local User"
94
  msgstr "Lokale gebruiker"
95
 
96
+ #: cerber-load.php:5624
97
  msgid "Username used"
98
  msgstr "Toegepaste gebruikersnaam"
99
 
100
+ #: cerber-common.php:1563
101
  msgid "Logged in"
102
  msgstr "Ingelogd"
103
 
104
+ #: cerber-common.php:1564
105
  msgid "Logged out"
106
  msgstr "Uitgelogd"
107
 
108
+ #: cerber-common.php:1565
109
  msgid "Login failed"
110
  msgstr "Inloggen mislukt"
111
 
112
+ #: cerber-common.php:1568 admin/cerber-dashboard.php:1087
113
  msgid "IP blocked"
114
  msgstr "IP geblokkeerd"
115
 
116
+ #: cerber-common.php:1572
117
  msgid "Citadel activated!"
118
  msgstr "Citadelstand geactiveerd!"
119
 
120
+ #: cerber-common.php:1639 admin/cerber-dashboard.php:1689
121
  msgid "Locked out"
122
  msgstr "Buitengesloten"
123
 
124
+ #: cerber-common.php:1641
125
  msgid "IP blacklisted"
126
  msgstr "IP uitgesloten"
127
 
128
+ #: cerber-common.php:1585
129
  msgid "Password changed"
130
  msgstr "Wachtwoord veranderd"
131
 
132
+ #: admin/cerber-dashboard.php:204 admin/cerber-dashboard.php:329
133
  msgid "Remove"
134
  msgstr "Verwijderen"
135
 
136
+ #: admin/cerber-dashboard.php:659
137
  msgid "Lockout for %s was removed"
138
  msgstr "Uitsluiting voor %s is verwijderd"
139
 
140
+ #: admin/cerber-dashboard.php:275 admin/cerber-dashboard.php:1596
141
+ #: admin/cerber-dashboard.php:1680 admin/cerber-dashboard.php:2084
142
  #: admin/cerber-tools.php:69
143
  msgid "White IP Access List"
144
  msgstr "Toegelaten IP-adressen"
145
 
146
+ #: admin/cerber-dashboard.php:278 admin/cerber-dashboard.php:1599
147
+ #: admin/cerber-dashboard.php:1683 admin/cerber-dashboard.php:2085
148
  #: admin/cerber-tools.php:70
149
  msgid "Black IP Access List"
150
  msgstr "Uitgesloten IP-adressen"
151
 
152
+ #: admin/cerber-dashboard.php:335
153
  msgid "List is empty"
154
  msgstr "Lijst is leeg"
155
 
156
+ #: cerber-load.php:4801
157
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
158
  msgstr "Citadelstand geactiveerd na %d mislukte inlogpogingen binnen %d minuten."
159
 
160
+ #: admin/cerber-dashboard.php:2852 admin/cerber-dashboard.php:3279
161
  msgid "View Activity"
162
  msgstr "Activiteit bekijken"
163
 
164
+ #: nexus/cerber-nexus.php:95 admin/cerber-dashboard.php:5213
165
+ #: admin/cerber-dashboard.php:5274 admin/cerber-tools.php:37
166
  #: admin/cerber-tools.php:48
167
  msgid "Settings"
168
  msgstr "Instellingen"
169
 
170
+ #: admin/cerber-dashboard.php:1953
171
  msgid "Last login"
172
  msgstr "Laatst ingelogd"
173
 
174
+ #: cerber-common.php:1924 nexus/cerber-slave-list.php:347
175
+ #: admin/cerber-dashboard.php:476 admin/cerber-dashboard.php:2058
176
+ #: admin/cerber-dashboard.php:2107
177
  msgid "Never"
178
  msgstr "Nooit"
179
 
180
+ #: admin/cerber-dashboard.php:5636 admin/cerber-tools.php:59
181
+ #: admin/cerber-admin.php:738 admin/cerber-admin.php:905
182
  msgid "Are you sure?"
183
  msgstr "Weet je het zeker?"
184
 
185
+ #: cerber-settings.php:263 admin/cerber-dashboard.php:2491
186
  msgid "My site is behind a reverse proxy"
187
  msgstr "Mijn website draait achter een reverse proxy"
188
 
194
  msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
195
  msgstr "Schakel Permalinks in om deze functionaliteit te gebruiken. Stel de Permalinks instelling in op iets anders dan Standaard."
196
 
197
+ #: admin/cerber-dashboard.php:5143
198
  msgid "Main Settings"
199
  msgstr "Hoofdinstellingen"
200
 
201
+ #: admin/cerber-dashboard.php:5433
202
  msgid "Help"
203
  msgstr "Hulp"
204
 
205
+ #: admin/cerber-admin-settings.php:344
206
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
207
  msgstr "Uitsluiting verlengen naar %s uur na %s uitsluitingen in de afgelopen %s uur"
208
 
209
+ #: cerber-load.php:356 admin/cerber-users.php:463
210
  msgid "You are not allowed to log in. Ask your administrator for assistance."
211
  msgstr "Je hebt geen toestemming om in te loggen. Vraag je beheerder om informatie."
212
 
213
+ #: admin/cerber-dashboard.php:214 admin/cerber-users.php:925
214
  msgid "Expires"
215
  msgstr "Verloopt"
216
 
217
+ #: admin/cerber-dashboard.php:242 admin/cerber-dashboard.php:2724
218
  msgid "No lockouts at the moment. The sky is clear."
219
  msgstr "Momenteel geen uitsluitingen."
220
 
221
+ #: admin/cerber-dashboard.php:285
222
  msgid "Your IP"
223
  msgstr "Jouw IP"
224
 
225
+ #: cerber-load.php:4802
226
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
227
  msgstr "Laatste mislukte inlogpoging was op %s vanaf IP %s op gebruiker %s."
228
 
229
+ #: cerber-load.php:5894
230
  msgid "Can't activate WP Cerber due to a database error."
231
  msgstr "Kan WP Cerber niet activeren door een fout in de database."
232
 
233
+ #: admin/cerber-admin-settings.php:352
234
  msgid "Notify admin if the number of active lockouts above"
235
  msgstr "Stuur admin een melding bij meer uitsluitingen dan"
236
 
237
+ #: cerber-settings.php:321 cerber-settings.php:327 cerber-settings.php:963
238
+ #: cerber-settings.php:969 cerber-settings.php:1048 cerber-settings.php:1316
239
  msgid "days"
240
  msgstr "dagen"
241
 
242
+ #: admin/cerber-dashboard.php:2024
243
  msgid "Cerber Quick View"
244
  msgstr "Cerber Quick View"
245
 
247
  msgid "Always block entire subnet Class C of intruders IP"
248
  msgstr "Blokkeer altijd gehele IP Class C subnet van aanvaller"
249
 
250
+ #: cerber-settings.php:311 admin/cerber-admin-settings.php:357
251
  msgid "Click to send test"
252
  msgstr "Klik om test te verzenden"
253
 
254
+ #: admin/cerber-admin-settings.php:677 admin/cerber-admin-settings.php:678
255
  msgid "Attention! You have changed the login URL! The new login URL is"
256
  msgstr "Let op! Je hebt de inlog-URL veranderd. De nieuwe inlog-URL is"
257
 
258
+ #: admin/cerber-dashboard.php:1952
259
  msgid "Comments"
260
  msgstr "Reacties"
261
 
262
+ #: cerber-load.php:4803 cerber-load.php:5648
263
  msgid "View activity in dashboard"
264
  msgstr "Activiteiten bekijken in dashboard"
265
 
266
+ #: cerber-load.php:4832
267
  msgid "Number of active lockouts"
268
  msgstr "Aantal actieve uitsluitingen"
269
 
270
+ #: cerber-load.php:4836
271
  msgid "View lockouts in dashboard"
272
  msgstr "Uitsluitingen bekijken in dashboard"
273
 
274
+ #: cerber-load.php:4930
275
  msgid "This message was sent by"
276
  msgstr "Dit bericht is verzonden door"
277
 
278
+ #: admin/cerber-dashboard.php:88 admin/cerber-dashboard.php:5325
279
  msgid "Tools"
280
  msgstr "Gereedschap"
281
 
327
  msgid "Error while parsing file"
328
  msgstr "Fout bij verwerken bestand"
329
 
330
+ #: admin/cerber-dashboard.php:212 admin/cerber-dashboard.php:1335
331
  msgid "Hostname"
332
  msgstr "Hostnaam"
333
 
334
+ #: admin/cerber-dashboard.php:597
335
  msgid "unknown"
336
  msgstr "onbekend"
337
 
338
+ #: admin/cerber-dashboard.php:2063 admin/cerber-dashboard.php:2093
339
  msgid "active"
340
  msgstr "actief"
341
 
342
+ #: admin/cerber-dashboard.php:2063
343
  msgid "deactivate"
344
  msgstr "deactiveren"
345
 
346
+ #: admin/cerber-dashboard.php:2067
347
  msgid "not active"
348
  msgstr "niet actief"
349
 
350
+ #: admin/cerber-dashboard.php:2070 admin/cerber-dashboard.php:2088
351
  msgid "disabled"
352
  msgstr "gedeactiveerd"
353
 
354
+ #: admin/cerber-dashboard.php:2076
355
  msgid "failed attempts"
356
  msgstr "mislukte pogingen"
357
 
358
+ #: admin/cerber-dashboard.php:2076 admin/cerber-dashboard.php:2077
359
  msgid "in 24 hours"
360
  msgstr "in 24 uur"
361
 
362
+ #: admin/cerber-dashboard.php:2076 admin/cerber-dashboard.php:2077
363
  msgid "view all"
364
  msgstr "bekijk alles"
365
 
366
+ #: admin/cerber-dashboard.php:2077
367
  msgid "lockouts"
368
  msgstr "uitsluitingen"
369
 
370
+ #: admin/cerber-dashboard.php:2079
371
  msgid "Lockouts at the moment"
372
  msgstr "Actuele uitsluitingen"
373
 
374
+ #: admin/cerber-dashboard.php:2080
375
  msgid "Last lockout"
376
  msgstr "Recente uitsluiting"
377
 
378
+ #: admin/cerber-dashboard.php:2084 admin/cerber-dashboard.php:2085
379
+ #: admin/cerber-dashboard.php:3038
380
  msgid "entry"
381
  msgid_plural "entries"
382
  msgstr[0] "item"
386
  msgid "Load default settings"
387
  msgstr "Aanbevolen instellingen laden"
388
 
389
+ #: cerber-settings.php:766
390
  msgid "New version is available"
391
  msgstr "Nieuwe versie beschikbaar"
392
 
393
+ #: cerber-load.php:4775
394
  msgid "WP Cerber notify"
395
  msgstr "WP Cerber melding"
396
 
397
+ #: cerber-load.php:4799
398
  msgid "Citadel mode is activated"
399
  msgstr "Citadelstand is actief"
400
 
401
+ #: cerber-load.php:4875
402
  msgid "New Custom login URL"
403
  msgstr "Nieuwe Aangepaste inlog-URL"
404
 
410
  msgid "Write failed login attempts to the file"
411
  msgstr "Mislukte pogingen opslaan in bestand"
412
 
413
+ #: admin/cerber-dashboard.php:2851
414
  msgid "Deactivate"
415
  msgstr "Deactiveren"
416
 
417
+ #: cerber-load.php:4834 admin/cerber-dashboard.php:215
418
  msgid "Reason"
419
  msgstr "Reden"
420
 
421
+ #: admin/cerber-dashboard.php:1747
422
  msgid "Add IP to the Black List"
423
  msgstr "IP-adres toevoegen aan Uitsluitingslijst"
424
 
425
+ #: cerber-common.php:1747
426
  msgid "Attempt to access"
427
  msgstr "Poging tot toegang"
428
 
429
+ #: cerber-common.php:1746
430
  msgid "Limit on login attempts is reached"
431
  msgstr "Limiet voor aantal inlogpogingen is bereikt"
432
 
433
+ #: cerber-load.php:4833
434
  msgid "Last lockout was added: %s for IP %s"
435
  msgstr "Laatste uitsluiting was toegevoegd: %s voor IP-adres %s"
436
 
437
+ #: admin/cerber-dashboard.php:5145
438
  msgid "Hardening"
439
  msgstr "Versterking"
440
 
441
+ #: admin/cerber-dashboard.php:1719
442
  msgid "Abuse email:"
443
  msgstr "E-mail voor misbruik:"
444
 
445
+ #: cerber-settings.php:753 cerber-settings.php:800 cerber-settings.php:1102
446
  msgid "Email Address"
447
  msgstr "E-mailadres"
448
 
474
  msgid "Disable REST API"
475
  msgstr "REST API uitschakelen"
476
 
477
+ #: cerber-load.php:4864 cerber-load.php:5937
478
  msgid "WP Cerber is now active and has started protecting your site"
479
  msgstr "WP Cerber is actief en beschermt nu je website"
480
 
481
+ #: admin/cerber-dashboard.php:216 admin/cerber-users.php:928
482
+ #: admin/cerber-admin.php:774 admin/cerber-admin.php:929
483
  msgid "Action"
484
  msgstr "Actie"
485
 
486
+ #: admin/cerber-dashboard.php:5482
487
  msgid "Incorrect IP address or IP range"
488
  msgstr "IP-adres of -reeks is incorrect"
489
 
490
+ #: admin/cerber-dashboard.php:2867
491
  msgid "Settings saved"
492
  msgstr "Instellingen opgeslagen"
493
 
494
+ #: admin/cerber-dashboard.php:1725
495
  msgid "Network:"
496
  msgstr "Netwerk:"
497
 
498
+ #: admin/cerber-dashboard.php:1741
499
  msgid "Add network to the Black List"
500
  msgstr "Netwerk toevoegen aan Uitsluitingslijst"
501
 
502
+ #: admin/cerber-dashboard.php:2850
503
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
504
  msgstr "Let op! Citadelstand is actief; niemand kan inloggen."
505
 
506
+ #: cerber-whois.php:236 cerber-whois.php:267 cerber-common.php:1771
507
+ #: nexus/cerber-slave-list.php:333 admin/cerber-dashboard.php:457
508
+ #: admin/cerber-dashboard.php:4071 admin/cerber-dashboard.php:4642
509
  msgid "Unknown"
510
  msgstr "Onbekend"
511
 
512
+ #: cerber-load.php:711 cerber-load.php:724 cerber-load.php:732
513
+ #: cerber-load.php:1080 cerber-load.php:1941 cerber-load.php:2264
514
+ #: cerber-load.php:3375 cerber-common.php:390 cerber-common.php:489
515
+ #: cerber-common.php:494 cerber-common.php:500 cerber-common.php:504
516
+ #: nexus/cerber-nexus-slave.php:203 nexus/cerber-nexus-slave.php:214
517
+ #: admin/cerber-admin-settings.php:649 admin/cerber-admin-settings.php:669
518
+ #: admin/cerber-admin-settings.php:777 admin/cerber-admin.php:875
519
  msgid "ERROR:"
520
  msgstr "FOUT:"
521
 
522
+ #: cerber-load.php:746
523
  msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
524
  msgstr "Menselijke verificatie mislukt. Klik het vierkant in onderstaand reCAPTCHA-blok."
525
 
526
+ #: cerber-load.php:1921
527
  msgid "Username is not allowed. Please choose another one."
528
  msgstr "Gebruikersnaam is niet toegestaan, kies een andere."
529
 
530
+ #: cerber-load.php:4827
531
  msgid "unspecified"
532
  msgstr "niet gespecificeerd"
533
 
534
+ #: cerber-load.php:4830
535
  msgid "Number of lockouts is increasing"
536
  msgstr "Aantal uitsluitingen loopt op"
537
 
538
+ #: cerber-load.php:4835
539
  msgid "View activity for this IP"
540
  msgstr "Bekijk activiteit voor dit adres"
541
 
542
+ #: cerber-load.php:4839 cerber-load.php:4841
543
  msgid "A new version of WP Cerber is available to install"
544
  msgstr "De nieuwste versie WP Cerber staat klaar voor installatie"
545
 
546
+ #: cerber-load.php:4840
547
  msgid "Hi!"
548
  msgstr "Hallo!"
549
 
550
+ #: cerber-load.php:4843 cerber-load.php:4854 nexus/cerber-slave-list.php:44
551
  msgid "Website"
552
  msgstr "Website"
553
 
554
+ #: cerber-load.php:4846 cerber-load.php:4847
555
  msgid "The WP Cerber security plugin has been deactivated"
556
  msgstr "WP Cerber is gedeactiveerd"
557
 
558
+ #: cerber-load.php:4849
559
  msgid "Not logged in"
560
  msgstr "Niet ingelogd"
561
 
562
+ #: cerber-load.php:4855
563
  msgid "By user"
564
  msgstr "Door gebruiker"
565
 
566
+ #: cerber-load.php:4856
567
  msgid "From IP address"
568
  msgstr "Van IP-adres"
569
 
570
+ #: cerber-load.php:4859
571
  msgid "From country"
572
  msgstr "Uit land"
573
 
574
+ #: cerber-load.php:4863
575
  msgid "The WP Cerber security plugin is now active"
576
  msgstr "WP Cerber is actief"
577
 
578
+ #: cerber-load.php:5950
579
  msgid "Import settings"
580
  msgstr "Instellingen importeren"
581
 
582
+ #: cerber-settings.php:761
583
  msgid "Notification limit"
584
  msgstr "Limiet aan meldingen"
585
 
586
+ #: cerber-settings.php:663
587
  msgid "Prohibited usernames"
588
  msgstr "Verboden gebruikersnamen"
589
 
590
+ #: cerber-settings.php:664
591
  msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
592
  msgstr "Gebruikersnamen op deze lijst kunnen niet aanmelden of inloggen. IP-adressen die deze namen gebruiken, worden direct uitgesloten. Scheid namen met een komma."
593
 
594
+ #: cerber-settings.php:1322
595
  msgid "reCAPTCHA settings"
596
  msgstr "reCAPTCHA-instellingen"
597
 
598
+ #: cerber-settings.php:1327
599
  msgid "Site key"
600
  msgstr "Site-sleutel"
601
 
602
+ #: cerber-settings.php:1331
603
  msgid "Secret key"
604
  msgstr "Geheime sleutel"
605
 
606
+ #: cerber-settings.php:1341
607
  msgid "Enable reCAPTCHA for WordPress registration form"
608
  msgstr "ReCAPTCHA instellen voor WordPress regstratieformulier"
609
 
610
+ #: cerber-settings.php:1350
611
  msgid "Lost password form"
612
  msgstr "Formulier voor zoekgeraakt wachtwoord"
613
 
614
+ #: cerber-settings.php:1360
615
  msgid "Login form"
616
  msgstr "Login-formulier"
617
 
618
+ #: cerber-settings.php:1361
619
  msgid "Enable reCAPTCHA for WordPress login form"
620
  msgstr "ReCAPTCHA inschakelen voor WordPress inlogpagina"
621
 
622
+ #: cerber-settings.php:1323
623
  msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
624
  msgstr "Haal eerst een Site-sleutel en Geheime Sleutel op van Google om reCAPTCHA te kunnen gebruiken"
625
 
626
+ #: cerber-lab.php:897 admin/cerber-admin-settings.php:101
627
+ #: admin/cerber-admin-settings.php:251
628
  msgid "Know more"
629
  msgstr "Meer weten"
630
 
631
+ #: cerber-common.php:1560
632
  msgid "User created"
633
  msgstr "Gebruiker toegevoegd"
634
 
635
+ #: cerber-common.php:1561
636
  msgid "User registered"
637
  msgstr "Gebruiker aangemeld"
638
 
639
+ #: cerber-common.php:1592 cerber-common.php:1688
640
  msgid "reCAPTCHA verification failed"
641
  msgstr "reCAPTCHA verificatie mislukt"
642
 
643
+ #: cerber-common.php:1593 cerber-common.php:1689
644
  msgid "reCAPTCHA settings are incorrect"
645
  msgstr "foutieve reCAPTCHA-instellingen"
646
 
647
  #. I see this line used where someone tries to log in from a blocked URL. So shouldn't this line be "Attempt to access from a prohibited URL" ?
648
+ #: cerber-common.php:1597 cerber-common.php:1748
649
  msgid "Attempt to access prohibited URL"
650
  msgstr "Poging verboden URL te benaderen"
651
 
652
+ #: cerber-common.php:1599 cerber-common.php:1750
653
  msgid "Attempt to log in with prohibited username"
654
  msgstr "Inlogpoging met verboden gebruikersnaam"
655
 
665
  msgid "Cerber Lab protocol"
666
  msgstr "Cerber Lab protocol"
667
 
668
+ #: cerber-settings.php:1227 cerber-settings.php:1340
669
  msgid "Registration form"
670
  msgstr "Registratieformulier"
671
 
672
+ #: cerber-settings.php:1346
673
  msgid "Enable reCAPTCHA for WooCommerce registration form"
674
  msgstr "ReCAPTCHA inschakelen voor WooCommerce registratie"
675
 
676
+ #: cerber-settings.php:1351
677
  msgid "Enable reCAPTCHA for WordPress lost password form"
678
  msgstr "ReCAPTCHA inschakelen om nieuw WordPress wachtwoord op te vragen"
679
 
680
+ #: cerber-settings.php:1356
681
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
682
  msgstr "ReCAPTCHA inschakelen om nieuw WooCommerce wachtwoord op te vragen"
683
 
684
+ #: cerber-settings.php:1366
685
  msgid "Enable reCAPTCHA for WooCommerce login form"
686
  msgstr "ReCAPTCHA inschakelen voor WooCommerce inlogpagina"
687
 
688
+ #: cerber-common.php:1594 cerber-common.php:1690
689
  msgid "Request to the Google reCAPTCHA service failed"
690
  msgstr "Verzoek aan Google ReCAPTCHA-service mislukt"
691
 
692
+ #: admin/cerber-dashboard.php:1056 admin/cerber-dashboard.php:1067
693
+ #: admin/cerber-dashboard.php:1080 admin/cerber-dashboard.php:2727
694
+ #: admin/cerber-dashboard.php:4438
695
  msgid "View all"
696
  msgstr "Zie alle"
697
 
698
+ #: admin/cerber-dashboard.php:2735
699
  msgid "Recently locked out IP addresses"
700
  msgstr "Recent buitengesloten IP-adressen"
701
 
702
+ #: cerber-lab.php:895
703
  msgid "OK, nail them all"
704
  msgstr "OK, gooi ze er allemaal uit"
705
 
706
+ #: cerber-lab.php:896
707
  msgid "NO, maybe later"
708
  msgstr "Nee, misschien later"
709
 
710
+ #: admin/cerber-dashboard.php:60 admin/cerber-dashboard.php:2126
711
+ #: admin/cerber-dashboard.php:3060 admin/cerber-dashboard.php:5139
712
  msgid "Dashboard"
713
  msgstr "Dashboard"
714
 
715
+ #: cerber-lab.php:893
716
  msgid "Want to make WP Cerber even more powerful?"
717
  msgstr "Wil je WP Cerber nog beter maken?"
718
 
719
+ #: cerber-lab.php:894
720
  msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
721
  msgstr "Sta WP Cerber toe om geblokkeerde boosaardige IP-adressen te delen met Cerber Lab. Dat helpt ons betere algoritmes te maken om WordPress te beschermen tegen nieuwe bedreigingen en botnets. Je kunt je toestemming altijd weer intrekken."
722
 
723
+ #: admin/cerber-dashboard.php:3917
724
  msgid "IP address"
725
  msgstr "IP-adres"
726
 
727
+ #: admin/cerber-dashboard.php:947
728
  msgid "User login"
729
  msgstr "Gebruikers-login"
730
 
731
+ #: admin/cerber-dashboard.php:948 admin/cerber-dashboard.php:3923
732
  msgid "User ID"
733
  msgstr "Gebruikers-ID"
734
 
735
+ #: admin/cerber-dashboard.php:1369 admin/cerber-dashboard.php:4464
736
  msgid "Export"
737
  msgstr "Export"
738
 
739
+ #: admin/cerber-dashboard.php:1394
740
  msgid "Search for IP or username"
741
  msgstr "Zoek IP of gebruikersnaam"
742
 
743
+ #: admin/cerber-dashboard.php:1405
744
  msgid "Filter"
745
  msgstr "Filter"
746
 
756
  msgid "Unsubscribe"
757
  msgstr "Uitschrijven"
758
 
759
+ #: cerber-load.php:4879 cerber-load.php:4880
760
  msgid "A new activity has been recorded"
761
  msgstr "Er is nieuwe activiteit waargenomen"
762
 
763
+ #: cerber-load.php:5620 admin/cerber-users.php:922
764
  msgid "User"
765
  msgstr "Gebruiker"
766
 
767
+ #: cerber-load.php:5628
768
  msgid "Search string"
769
  msgstr "Zoekfrase"
770
 
776
  msgid "if empty, the default format %s will be used"
777
  msgstr "indien leeg, gebruiken we standaardinstelling %s"
778
 
779
+ #: cerber-settings.php:772
780
  msgid "Push notifications"
781
  msgstr "Push meldingen"
782
 
783
+ #: cerber-settings.php:744
784
  msgid "Email notifications"
785
  msgstr "E-mail meldingen"
786
 
787
+ #: cerber-settings.php:754 cerber-settings.php:802 cerber-settings.php:917
788
+ #: cerber-settings.php:1104
789
  msgid "Use comma to specify multiple values"
790
  msgstr "Scheid meer waarden met komma's"
791
 
801
  msgid "Not available"
802
  msgstr "Niet beschikbaar"
803
 
804
+ #: cerber-common.php:1586
805
  msgid "Password reset requested"
806
  msgstr "Wachtwoordvernieuwing aangevraagd"
807
 
808
+ #: cerber-common.php:1751
809
  msgid "Limit on failed reCAPTCHA verifications is reached"
810
  msgstr "Grens bereikt van foutieve reCAPTCHA's"
811
 
817
  msgid "Display 404 page"
818
  msgstr "Toon 404-pagina"
819
 
820
+ #: cerber-settings.php:1335
821
  msgid "Invisible reCAPTCHA"
822
  msgstr "Onzichtbare reCAPTCHA"
823
 
824
+ #: cerber-settings.php:1336
825
  msgid "Enable invisible reCAPTCHA"
826
  msgstr "Zet onzichtbare reCAPTCHA aan"
827
 
828
+ #: cerber-settings.php:1336
829
  msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
830
  msgstr "(zet pas aan als je de Sitesleutel en Geheime Sleutel voor de onzichtbare versie hebt ontvangen)"
831
 
832
+ #: cerber-settings.php:1371
833
  msgid "Enable reCAPTCHA for WordPress comment form"
834
  msgstr "Zet reCAPTCHA aan voor WordPress reacties"
835
 
836
+ #: cerber-settings.php:1386
837
  msgid "Limit attempts"
838
  msgstr "Beperk aantal pogingen"
839
 
840
+ #: cerber-settings.php:1387
841
  msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
842
  msgstr "Sluit IP-adressen uit voor %s minuten na %s mislukte pogingen in %s minuten"
843
 
845
  msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
846
  msgstr "In de Citadelstand kunnen alleen adressen van de Lijst Toegelaten IP-adressen inloggen. Heeft geen effect op reeds ingelogde gebruikers."
847
 
848
+ #: admin/cerber-dashboard.php:944 admin/cerber-dashboard.php:1338
849
  msgid "Event"
850
  msgstr "Gebeurtenis"
851
 
852
+ #: cerber-common.php:331
853
  msgid "Spam comments denied"
854
  msgstr "Spamreacties afgewezen"
855
 
856
+ #: cerber-common.php:333
857
  msgid "Malicious IP addresses detected"
858
  msgstr "Kwaadaardige IP-adressen gevonden"
859
 
860
+ #: cerber-common.php:334
861
  msgid "Lockouts occurred"
862
  msgstr "Uitsluitingen"
863
 
864
+ #: cerber-load.php:1900 cerber-load.php:1906 cerber-load.php:1911
865
+ #: cerber-load.php:1931 cerber-load.php:1936
866
  msgid "You are not allowed to register."
867
  msgstr "Je mag niet aanmelden."
868
 
869
+ #: cerber-common.php:1573
870
  msgid "Spam comment denied"
871
  msgstr "Spamreactie afgewezen"
872
 
873
+ #: cerber-common.php:1602
874
  msgid "Attempt to log in denied"
875
  msgstr "Inlogpoging afgewezen"
876
 
877
+ #: cerber-common.php:1603
878
  msgid "Attempt to register denied"
879
  msgstr "Aanmeldingspoging afgewezen"
880
 
881
+ #: cerber-common.php:328
882
  msgid "Malicious activities mitigated"
883
  msgstr "Verdachte activiteiten afgevangen"
884
 
885
+ #: cerber-settings.php:1232 cerber-settings.php:1370
886
  msgid "Comment form"
887
  msgstr "Reactiepagina"
888
 
889
+ #: cerber-settings.php:1233
890
  msgid "Protect comment form with bot detection engine"
891
  msgstr "Bescherm invoer reacties met bot-detectie"
892
 
893
+ #: cerber-settings.php:1228
894
  msgid "Protect registration form with bot detection engine"
895
  msgstr "Bescherm registratie met bot-detectie"
896
 
897
+ #: admin/cerber-dashboard.php:5329
898
  msgid "Diagnostic"
899
  msgstr "Diagnose"
900
 
901
+ #: admin/cerber-dashboard.php:5332
902
  msgid "License"
903
  msgstr "Licentie"
904
 
905
+ #: cerber-load.php:2264
906
  msgid "Sorry, human verification failed."
907
  msgstr "Sorry, je verificatie faalt."
908
 
909
+ #: cerber-common.php:1752
910
  msgid "Bot activity is detected"
911
  msgstr "Bot-activiteit getedecteerd"
912
 
913
+ #: cerber-settings.php:1304
914
  msgid "Comment processing"
915
  msgstr "Verwerking van reactie"
916
 
917
+ #: cerber-settings.php:1308
918
  msgid "If a spam comment detected"
919
  msgstr "Bij detectie van een spam-reactie"
920
 
921
+ #: cerber-settings.php:1313
922
  msgid "Trash spam comments"
923
  msgstr "Spamreacties weggooien"
924
 
925
+ #: cerber-settings.php:1315
926
  msgid "Move spam comments to trash after"
927
  msgstr "Verwijder spamreacties na"
928
 
929
+ #: cerber-common.php:1574
930
  msgid "Spam form submission denied"
931
  msgstr "Geweigerd wegens spam"
932
 
933
+ #: cerber-settings.php:1243
934
  msgid "Other forms"
935
  msgstr "Andere formulieren"
936
 
937
+ #: cerber-settings.php:1244
938
  msgid "Protect all forms on the website with bot detection engine"
939
  msgstr "Bescherm alle invoerformulieren met bot-detectie"
940
 
941
+ #: cerber-settings.php:1279
942
  msgid "Safe mode"
943
  msgstr "Veilige stand"
944
 
945
+ #: cerber-settings.php:1280
946
  msgid "Use less restrictive policies (allow AJAX)"
947
  msgstr "Minder restricties (sta AJAX toe)"
948
 
949
+ #: admin/cerber-dashboard.php:213 admin/cerber-dashboard.php:1336
950
  msgid "Country"
951
  msgstr "Land"
952
 
954
  msgid "Cerber Security Rules"
955
  msgstr "Cerber Beveiligingsregels"
956
 
957
+ #: admin/cerber-dashboard.php:67 admin/cerber-dashboard.php:5256
958
  msgid "Security Rules"
959
  msgstr "Beveiligingsregels"
960
 
961
+ #: admin/cerber-dashboard.php:1954
962
  msgid "Failed login attempts"
963
  msgstr "Gefaalde loginpogingen"
964
 
965
+ #: admin/cerber-dashboard.php:1878 admin/cerber-dashboard.php:1955
966
  msgid "Registered"
967
  msgstr "Aangemeld"
968
 
969
+ #: admin/cerber-dashboard.php:2002 admin/cerber-users.php:52
970
+ #: admin/cerber-users.php:1081
971
  msgid "You"
972
  msgstr "Jij"
973
 
974
+ #: cerber-common.php:332
975
  msgid "Spam form submissions denied"
976
  msgstr "Spam formulierafgifte afgewezen"
977
 
978
+ #: cerber-load.php:4866 cerber-load.php:5941
979
  msgid "Getting Started Guide"
980
  msgstr "Startgids"
981
 
982
+ #: admin/cerber-dashboard.php:5258
983
  msgid "Countries"
984
  msgstr "Landen"
985
 
986
+ #: admin/cerber-dashboard.php:3646
987
  msgid "Permitted for one country"
988
  msgid_plural "Permitted for %d countries"
989
  msgstr[0] "Toegestaan voor één land"
990
  msgstr[1] "Toegestaan voor %d landen"
991
 
992
+ #: admin/cerber-dashboard.php:3657
993
  msgid "No rule"
994
  msgstr "Geen regel"
995
 
996
+ #: admin/cerber-dashboard.php:3818
997
  msgid "Security rules have been updated"
998
  msgstr "Beveiligingsregels zijn vernieuwd"
999
 
1002
  msgid "https://wpcerber.com"
1003
  msgstr "https://wpcerber.com"
1004
 
1005
+ #: cerber-common.php:1575
1006
  msgid "Form submission denied"
1007
  msgstr "Formulierafgifte afgewezen"
1008
 
1009
+ #: cerber-common.php:1576
1010
  msgid "Comment denied"
1011
  msgstr "Commentaar afgewezen"
1012
 
1013
+ #: cerber-common.php:1608
1014
  msgid "Request to REST API denied"
1015
  msgstr "Verzoek aan REST API afgewezen"
1016
 
1017
+ #: cerber-common.php:1637
1018
  msgid "Bot detected"
1019
  msgstr "Bot gedetecteerd"
1020
 
1021
+ #: cerber-common.php:1638
1022
  msgid "Citadel mode is active"
1023
  msgstr "Citadelstand actief"
1024
 
1025
+ #: cerber-common.php:1642
1026
  msgid "Malicious activity detected"
1027
  msgstr "Kwaadaardige activiteit gedetecteerd"
1028
 
1029
+ #: cerber-common.php:1643
1030
  msgid "Blocked by country rule"
1031
  msgstr "Geblokkeerd door landenregel"
1032
 
1033
+ #: cerber-common.php:1644
1034
  msgid "Limit reached"
1035
  msgstr "Limiet bereikt"
1036
 
1037
+ #: cerber-common.php:1645
1038
  msgid "Multiple suspicious activities"
1039
  msgstr "Meerdere verdachte activiteiten"
1040
 
1041
+ #: cerber-common.php:1753
1042
  msgid "Multiple suspicious activities were detected"
1043
  msgstr "Meerdere verdachte activiteiten gedetecteerd"
1044
 
1046
  msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
1047
  msgstr "Geef toegestane REST API-naamruimtes op als de REST API is uitgeschakeld. Eén tekenreeks per regel."
1048
 
1049
+ #: cerber-settings.php:579
1050
  msgid "Registration limit"
1051
  msgstr "Registratielimiet"
1052
 
1053
+ #: cerber-settings.php:689
1054
  msgid "Sort users in dashboard"
1055
  msgstr "Gebruikers in dashboard sorteren"
1056
 
1057
+ #: cerber-settings.php:690
1058
  msgid "by date of registration"
1059
  msgstr "per registratiedatum"
1060
 
1061
+ #: cerber-settings.php:1294
1062
  msgid "Query whitelist"
1063
  msgstr "Toegestane queries"
1064
 
1065
+ #: admin/cerber-dashboard.php:3626
1066
  msgid "Start typing here to find a country"
1067
  msgstr "Begin te typen om een land te vinden"
1068
 
1069
+ #: admin/cerber-dashboard.php:3741
1070
  msgid "Click on a country name to add it to the list of selected countries"
1071
  msgstr "Klik op een landnaam om toe te voegen aan de lijst gekozen landen"
1072
 
1073
+ #: admin/cerber-dashboard.php:3773
1074
  msgid "Submit forms"
1075
  msgstr "Formulieren versturen"
1076
 
1077
+ #: admin/cerber-dashboard.php:3774
1078
  msgid "Post comments"
1079
  msgstr "Commentaar plaatsen"
1080
 
1081
+ #: admin/cerber-dashboard.php:3772
1082
  msgid "Register on the website"
1083
  msgstr "Aanmelden bij de website"
1084
 
1085
+ #: admin/cerber-dashboard.php:3775
1086
  msgid "Use XML-RPC"
1087
  msgstr "Benut XML-RPC"
1088
 
1089
+ #: admin/cerber-dashboard.php:3776
1090
  msgid "Use REST API"
1091
  msgstr "Benut REST API"
1092
 
1093
+ #: cerber-settings.php:1310
1094
  msgid "Deny it completely"
1095
  msgstr "Volledig negeren"
1096
 
1097
+ #: cerber-settings.php:1310
1098
  msgid "Mark it as spam"
1099
  msgstr "Markeren als spam"
1100
 
1101
+ #: admin/cerber-dashboard.php:3061
1102
  msgid "Main settings"
1103
  msgstr "Hoofdinstellingen"
1104
 
1105
+ #: cerber-settings.php:787
1106
  msgid "Weekly reports"
1107
  msgstr "Weekrapporten"
1108
 
1109
+ #: admin/cerber-admin-settings.php:679 admin/cerber-admin-settings.php:680
1110
  msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
1111
  msgstr "Gebruik je een caching plugin, dan moet je je nieuwe login URL toevoegen aan de niet te cachen pagina's."
1112
 
1113
+ #: cerber-load.php:4885
1114
  msgid "Weekly report"
1115
  msgstr "Weekrapport"
1116
 
1117
+ #: cerber-load.php:4888 cerber-load.php:4896
1118
  msgid "To change reporting settings visit"
1119
  msgstr "Om je rapportageinstellingen aan te passen, ga naar"
1120
 
1121
+ #: cerber-load.php:4922
1122
  msgid "Your login page:"
1123
  msgstr "Je login-pagina:"
1124
 
1125
+ #: cerber-load.php:4927
1126
  msgid "Your license is valid until"
1127
  msgstr "Je licentie geldt tot"
1128
 
1129
+ #: cerber-load.php:5033
1130
  msgid "Activity details"
1131
  msgstr "Details van activiteiten"
1132
 
1133
+ #: admin/cerber-admin-settings.php:572
1134
  msgid "Click to send now"
1135
  msgstr "Klik om nu te versturen"
1136
 
1137
+ #: admin/cerber-dashboard.php:667
1138
  msgid "Email has been sent to"
1139
  msgstr "E-mail is verzonden naar"
1140
 
1141
+ #: admin/cerber-dashboard.php:670
1142
  msgid "Unable to send email to"
1143
  msgstr "Kan geen e-mail verzenden naar"
1144
 
1145
+ #: admin/cerber-dashboard.php:3649
1146
  msgid "Not permitted for one country"
1147
  msgid_plural "Not permitted for %d countries"
1148
  msgstr[0] "Niet toegestaan voor één land"
1149
  msgstr[1] "Niet toegestaan voor %d landen"
1150
 
1151
+ #: admin/cerber-dashboard.php:3745
1152
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1153
  msgid "Selected countries are permitted to %s, other countries are not permitted to"
1154
  msgstr "Gekozen landen mogen %s, overige landen niet"
1155
 
1156
+ #: admin/cerber-dashboard.php:3748
1157
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1158
  msgid "Selected countries are not permitted to %s, other countries are permitted to"
1159
  msgstr "Gekozen landen mogen niet %s, overige landen wel"
1160
 
1161
+ #: cerber-load.php:5021
1162
  msgid "Weekly Report"
1163
  msgstr "Weekrapport"
1164
 
1170
  msgid "Display simple 404 page"
1171
  msgstr "Toon eenvoudige 404-pagina"
1172
 
1173
+ #: cerber-settings.php:1295
1174
  msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
1175
  msgstr "Voer een deel van een query-tekenreeks of -pad in om een request uit te sluiten van inspectie. Eén item per regel."
1176
 
1177
+ #: cerber-settings.php:791
1178
  msgid "Enable reporting"
1179
  msgstr "Rapporteren aanzetten"
1180
 
1181
  #. How to interpret this line? Do you mean 'was DATE/TIME from IP ADDRESS' ?
1182
+ #: cerber-load.php:4951
1183
  msgid "Your last sign-in was %s from %s"
1184
  msgstr "Je laatste inlog was op %s vanaf %s"
1185
 
1186
+ #: admin/cerber-dashboard.php:343
1187
  msgid "Optional comment for this entry"
1188
  msgstr "Opmerking hierbij"
1189
 
1190
+ #: admin/cerber-dashboard.php:365
1191
  msgid "You cannot add your IP address or network"
1192
  msgstr "Je kunt je eigen IP of netwerk niet toevoegen"
1193
 
1194
+ #: cerber-settings.php:595 cerber-settings.php:664
1195
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
1196
  msgstr "Je kunt REGEX-patronen gebruiken; sluit deze op in voorwaartse slashes zoals /admin.*/."
1197
 
1199
  msgid "Cerber Traffic Inspector"
1200
  msgstr "Cerber Verkeersinspectie"
1201
 
1202
+ #: admin/cerber-dashboard.php:62 admin/cerber-dashboard.php:2089
1203
+ #: admin/cerber-dashboard.php:5210
1204
  msgid "Traffic Inspector"
1205
  msgstr "Verkeersinspectie"
1206
 
1207
+ #: admin/cerber-dashboard.php:2128 admin/cerber-users.php:1115
1208
  msgid "Traffic"
1209
  msgstr "Verkeer"
1210
 
1211
+ #: admin/cerber-dashboard.php:4406
1212
  msgid "Request"
1213
  msgstr "Verzoek"
1214
 
1215
+ #: admin/cerber-dashboard.php:4408 admin/cerber-users.php:927
1216
  msgid "Host Info"
1217
  msgstr "Host Info"
1218
 
1219
  #. Do you mean a program for browsing the web like Chrome? Or a ftp user agent or so?
1220
+ #: admin/cerber-dashboard.php:4409
1221
  msgid "User Agent"
1222
  msgstr "Webbrowser"
1223
 
1224
+ #: admin/cerber-dashboard.php:4443
1225
  msgid "Form submissions"
1226
  msgstr "Formulierverzendingen"
1227
 
1228
+ #: admin/cerber-dashboard.php:4444
1229
  msgid "Page Not Found"
1230
  msgstr "Pagina niet gevonden"
1231
 
1232
+ #: admin/cerber-dashboard.php:4451
1233
  msgid "Longer than"
1234
  msgstr "Langer dan"
1235
 
1236
+ #: admin/cerber-dashboard.php:4470
1237
  msgid "Refresh"
1238
  msgstr "Ververs"
1239
 
1240
+ #: cerber-common.php:235 admin/cerber-dashboard.php:1382
1241
  msgid "Check for requests"
1242
  msgstr "Controleer op verzoeken"
1243
 
1244
+ #: admin/cerber-dashboard.php:4505
1245
  msgid "Not specified"
1246
  msgstr "Niet gespecificeerd"
1247
 
1248
+ #: cerber-settings.php:869
1249
  msgid "Logging mode"
1250
  msgstr "Rapportagestand"
1251
 
1252
+ #: cerber-settings.php:872
1253
  msgid "Logging disabled"
1254
  msgstr "Rapportage uit"
1255
 
1256
+ #: cerber-settings.php:874
1257
  msgid "Smart"
1258
  msgstr "Slim"
1259
 
1260
+ #: cerber-settings.php:875
1261
  msgid "All traffic"
1262
  msgstr "Alle verkeer"
1263
 
1264
+ #: cerber-settings.php:915
1265
  msgid "Mask these form fields"
1266
  msgstr "Verberg deze formuliervelden"
1267
 
1268
+ #: cerber-settings.php:956
1269
  msgid "milliseconds"
1270
  msgstr "milliseconden"
1271
 
1272
+ #: cerber-settings.php:817
1273
  msgid "Enable traffic inspection"
1274
  msgstr "Verkeersinspectie aanzetten"
1275
 
1276
+ #: cerber-settings.php:910
1277
  msgid "Save request fields"
1278
  msgstr "Bewaar verzoekvelden"
1279
 
1280
+ #: cerber-settings.php:955
1281
  msgid "Page generation time threshold"
1282
  msgstr "Drempeltijd paginaopbouw"
1283
 
1284
+ #: admin/cerber-dashboard.php:4431
1285
  msgid "No requests have been logged."
1286
  msgstr "Er zijn geen verzoeken geregistreerd."
1287
 
1288
+ #: admin/cerber-dashboard.php:2088
1289
  msgid "enabled"
1290
  msgstr "aan"
1291
 
1292
+ #: admin/cerber-dashboard.php:2093
1293
  msgid "no connection"
1294
  msgstr "geen verbinding"
1295
 
1296
+ #: admin/cerber-dashboard.php:1906
1297
  msgid "Last seen"
1298
  msgstr "Laatst gezien"
1299
 
1300
+ #: cerber-load.php:4659
1301
  msgid "We're sorry, you are not allowed to proceed"
1302
  msgstr "Excuus, je mag niet doorgaan"
1303
 
1304
+ #: cerber-settings.php:832
1305
  msgid "Request whitelist"
1306
  msgstr "Verzoek om whitelist"
1307
 
1308
+ #: cerber-settings.php:836
1309
  msgid "Enter a request URI to exclude the request from inspection. One item per line."
1310
  msgstr "Voer een 'request URI' in om deze van inspectie uit te sluiten. Eén per regel."
1311
 
1312
+ #: cerber-settings.php:923
1313
  msgid "Save request headers"
1314
  msgstr "Sla 'request headers' op"
1315
 
1316
+ #: cerber-settings.php:945
1317
  msgid "Save $_SERVER"
1318
  msgstr "Sla $_SERVER op"
1319
 
1320
+ #: cerber-settings.php:935
1321
  msgid "Save request cookies"
1322
  msgstr "Sla 'request cookies' op"
1323
 
1330
  msgstr "Blokkeer ongeoorloofde toegang tot load-scripts.php en load-styles.php\n"
1331
  ""
1332
 
1333
+ #: cerber-common.php:3102
1334
  msgid "Unable to create the directory"
1335
  msgstr "Kan map niet aanmaken"
1336
 
1337
+ #: cerber-common.php:3107
1338
  msgid "Destination folder access denied"
1339
  msgstr "Toegang bestemmingsmap afgewezen"
1340
 
1341
+ #: cerber-common.php:3110
1342
  msgid "File not found"
1343
  msgstr "Bestand niet gevonden"
1344
 
1345
+ #: cerber-common.php:3113
1346
  msgid "Unable to copy the file"
1347
  msgstr "Kan bestand niet kopiëren"
1348
 
1349
+ #: cerber-common.php:3119
1350
  msgid "Unable to delete the file"
1351
  msgstr "Kan bestand niet verwijderen"
1352
 
1362
  msgid "Standard mode"
1363
  msgstr "Standaardinstelling"
1364
 
1365
+ #: admin/cerber-admin-settings.php:650
1366
  msgid "Plugin initialization mode has not been changed"
1367
  msgstr "Plugin initialisatie is niet aangepast"
1368
 
1369
+ #: cerber-common.php:1606
1370
  msgid "File upload denied"
1371
  msgstr "Bestandsupload afgewezen"
1372
 
1373
  #. Shouldn't these 'braces' be 'brackets'?
1374
+ #: cerber-settings.php:836 cerber-settings.php:898
1375
  msgid "To specify a REGEX pattern, enclose a whole line in two braces."
1376
  msgstr "Zet bij een REGEX-patroon de hele regel tussen accolades { }."
1377
 
1383
  msgid "If you forget your Custom login URL, you will be unable to log in."
1384
  msgstr "Als je de Aangepaste inlog-URL vergeet, kun je niet meer inloggen."
1385
 
1386
+ #: admin/cerber-dashboard.php:73 admin/cerber-dashboard.php:5271
1387
  msgid "Site Integrity"
1388
  msgstr "Site-integriteit"
1389
 
1390
+ #: cerber-scanner.php:1717 cerber-settings.php:678 cerber-settings.php:820
1391
+ #: cerber-settings.php:851 cerber-settings.php:985 cerber-settings.php:994
1392
+ #: cerber-settings.php:1449 admin/cerber-dashboard.php:2113
1393
+ #: admin/cerber-dashboard.php:2115 admin/cerber-users.php:20
1394
  #: admin/cerber-users.php:474 admin/cerber-users.php:488
1395
  msgid "Disabled"
1396
  msgstr "Uitgeschakeld"
1397
 
1398
+ #: cerber-scanner.php:1032 admin/cerber-dashboard.php:2114
1399
  msgid "Quick Scan"
1400
  msgstr "Snelle Scan"
1401
 
1402
+ #: cerber-scanner.php:1032 admin/cerber-dashboard.php:2116
1403
  msgid "Full Scan"
1404
  msgstr "Volledige scan"
1405
 
1406
+ #: cerber-common.php:1646
1407
  msgid "Denied"
1408
  msgstr "Afgewezen"
1409
 
1410
+ #: cerber-settings.php:174 cerber-settings.php:605 cerber-settings.php:632
1411
+ #: cerber-settings.php:826 cerber-settings.php:1289 cerber-settings.php:1381
1412
  msgid "Use White IP Access List"
1413
  msgstr "Lijst Toegelaten IP-adressen gebruiken"
1414
 
1420
  msgid "Disable automatic redirection to the login page when /wp-admin/ is requested by an unauthorized request"
1421
  msgstr "Automatische omleiding naar de loginpagina uitzetten als /wp-admin/ ongeautoriseerd wordt opgevraagd"
1422
 
1423
+ #: cerber-settings.php:977
1424
  msgid "Scanner settings"
1425
  msgstr "Scanner-instellingen"
1426
 
1427
+ #: cerber-settings.php:1017
1428
  msgid "Custom signatures"
1429
  msgstr "Ondertekening op maat"
1430
 
1431
+ #: cerber-settings.php:1021
1432
  msgid "Specify custom PHP code signatures. One item per line. To specify a REGEX pattern, enclose a whole line in two braces."
1433
  msgstr "Eigen PHP code ondertekeningen, één per regel. Zet bij een REGEX-patroon de hele regel tussen accolades { }."
1434
 
1435
+ #: cerber-settings.php:1008
1436
  msgid "Unwanted file extensions"
1437
  msgstr "Ongewenste bestandsextensies"
1438
 
1439
+ #: cerber-settings.php:1014
1440
  msgid "Specify file extensions to search for. Full scan only. Use comma to separate items."
1441
  msgstr "Geef bedoelde bestandsextensies op, komma-gescheiden. Alleen tbv de volledige scan."
1442
 
1443
+ #: cerber-settings.php:1024
1444
  msgid "Directories to exclude"
1445
  msgstr "Uit te sluiten mappen"
1446
 
1447
+ #: cerber-settings.php:1046
1448
  msgid "Delete quarantined files after"
1449
  msgstr "Wis bestanden in quarantaine na"
1450
 
1451
+ #: cerber-settings.php:1059
1452
  msgid "Launch Quick Scan"
1453
  msgstr "Begin Snelle Scan"
1454
 
1464
  msgid "Every 6 hours"
1465
  msgstr "Elke 6 uur"
1466
 
1467
+ #: cerber-settings.php:1064
1468
  msgid "Launch Full Scan"
1469
  msgstr "Start volledige scan"
1470
 
1471
+ #: cerber-settings.php:1079 cerber-settings.php:1125
1472
  msgid "Low severity"
1473
  msgstr "Niet ernstig"
1474
 
1475
+ #: cerber-settings.php:1080 cerber-settings.php:1126
1476
  msgid "Medium severity"
1477
  msgstr "Ernstig"
1478
 
1479
+ #: cerber-settings.php:1081 cerber-settings.php:1127
1480
  msgid "High severity"
1481
  msgstr "Zeer ernstig"
1482
 
1483
+ #: cerber-settings.php:1076
1484
  msgid "Report an issue if any of the following is true"
1485
  msgstr "Rapporteer "
1486
 
1487
+ #: cerber-settings.php:1085
1488
  msgid "Send email report"
1489
  msgstr "Stuur e-mail-rapport"
1490
 
1491
+ #: cerber-settings.php:1088
1492
  msgid "After every scan"
1493
  msgstr "Na elke scan"
1494
 
1495
+ #: cerber-settings.php:1089
1496
  msgid "If any changes in scan results occurred"
1497
  msgstr "Bij veranderingen in de scanresultaten"
1498
 
1499
+ #: cerber-settings.php:1094
1500
  msgid "Include file sizes"
1501
  msgstr "Voeg bestandsgrootte toe"
1502
 
1503
+ #: cerber-settings.php:1098
1504
  msgid "Include scan errors"
1505
  msgstr "Voeg scanfouten toe"
1506
 
1507
+ #: admin/cerber-dashboard.php:5273
1508
  msgid "Security Scanner"
1509
  msgstr "Veiligheidsscanner"
1510
 
1511
+ #: admin/cerber-dashboard.php:5275
1512
  msgid "Scheduling"
1513
  msgstr "Agenderen"
1514
 
1568
  msgid "Unable to process file"
1569
  msgstr "Kan bestand niet verwerken"
1570
 
1571
+ #: cerber-scanner.php:1630 cerber-scanner.php:4612
1572
  msgid "Unable to open file"
1573
  msgstr "Kan bestand niet openen"
1574
 
1600
  msgid "New file"
1601
  msgstr "Nieuw bestand"
1602
 
1603
+ #: cerber-scanner.php:2470
1604
  msgid "Custom signature found"
1605
  msgstr "Eigen ondertekening gevonden"
1606
 
1607
+ #: cerber-scanner.php:3697
1608
  msgid "Parsing the list of files"
1609
  msgstr "Bezig de bestandslijst door te nemen"
1610
 
1611
+ #: cerber-scanner.php:3698
1612
  msgid "Checking for new and modified files"
1613
  msgstr "Controleren op nieuwe en gewijzigde bestanden"
1614
 
1615
+ #: cerber-scanner.php:3699
1616
  msgid "Verifying the integrity of WordPress"
1617
  msgstr "Integriteit van WordPress controleren"
1618
 
1619
+ #: cerber-scanner.php:3701
1620
  msgid "Verifying the integrity of the plugins"
1621
  msgstr "Integriteit van plugins controleren"
1622
 
1623
+ #: cerber-scanner.php:3703
1624
  msgid "Verifying the integrity of the themes"
1625
  msgstr "Integriteit van thema's controleren"
1626
 
1627
+ #: cerber-scanner.php:3705
1628
  msgid "Searching for malicious code"
1629
  msgstr "Kwaadaardige code zoeken"
1630
 
1631
+ #: cerber-scanner.php:3706
1632
  msgid "Finalizing the scan"
1633
  msgstr "Scan afronden"
1634
 
1640
  msgid "Critical issues"
1641
  msgstr "Kritieke problemen"
1642
 
1643
+ #: cerber-scanner.php:4776 admin/cerber-admin.php:115
1644
  msgid "Issues total"
1645
  msgstr "Totaal aan problemen"
1646
 
1647
+ #: admin/cerber-admin.php:360
1648
  msgid "File access error. Possibly scan results are outdated. Please run Quick or Full Scan."
1649
  msgstr "Fout bij bestandstoegang. Scanresultaten zijn mogelijk verouderd. Scan opnieuw."
1650
 
1651
+ #: cerber-scanner.php:4911
1652
  msgid "To view full report visit"
1653
  msgstr "Ga voor volledig rapport naar"
1654
 
1655
+ #: cerber-load.php:4893
1656
  msgid "Scanner Report"
1657
  msgstr "Scannerrapport"
1658
 
1659
+ #: cerber-settings.php:982
1660
  msgid "Monitor new files"
1661
  msgstr "Nieuwe bestanden bewaken"
1662
 
1663
+ #: cerber-settings.php:991
1664
  msgid "Monitor modified files"
1665
  msgstr "Gewijzigde bestanden bewaken"
1666
 
1667
+ #: cerber-settings.php:1090
1668
  msgid "If new issues found"
1669
  msgstr "Bij nieuw gevonden problemen"
1670
 
1671
+ #: admin/cerber-admin-settings.php:948
1672
  msgid "The schedule has been updated"
1673
  msgstr "Het schema is aangepast"
1674
 
1675
  #. Is it really 'directives' or do you mean 'directories' ?
1676
+ #: cerber-scanner.php:1641 cerber-scanner.php:1682 cerber-scanner.php:2625
1677
  msgid "Suspicious directives found"
1678
  msgstr "Verdachte instellingen gevonden"
1679
 
1680
+ #: cerber-scanner.php:2623
1681
  msgid "Suspicious code instruction found"
1682
  msgstr "Verdachte code-instructie gevonden"
1683
 
1684
+ #: cerber-scanner.php:2624
1685
  msgid "Suspicious code signatures found"
1686
  msgstr "Verdachte code-ondertekeningen gevonden"
1687
 
1688
+ #: cerber-scanner.php:2627
1689
  msgid "To solve this issue you have to reinstall %s or update it to the latest version."
1690
  msgstr "Herinstalleer of update %s om dit probleem op te lossen."
1691
 
1692
+ #: cerber-scanner.php:2628
1693
  msgid "Please upload a reference ZIP archive"
1694
  msgstr "Upload een referentie-ZIP-archief"
1695
 
1696
+ #: cerber-scanner.php:2629
1697
  msgid "Resolve issue"
1698
  msgstr "Probleem oplossen"
1699
 
1705
  msgid "You have to upload a ZIP archive from which you've installed it. This enables the security scanner to verify the integrity of the code and detect malware."
1706
  msgstr "Je moet het ZIP-archief uploaden vanwaar dit is geïnstalleerd. Daarmee kan de scanner de integriteit van de code controleren en malware herkennen."
1707
 
1708
+ #: cerber-scanner.php:4748
1709
  msgid "Full Scan Report"
1710
  msgstr "Rapport Volledige Scan"
1711
 
1712
+ #: cerber-scanner.php:4748
1713
  msgid "Quick Scan Report"
1714
  msgstr "Rapportage Snelle Scan"
1715
 
1716
+ #: cerber-scanner.php:4761
1717
  msgid "Files scanned"
1718
  msgstr "Bestanden gescand"
1719
 
1720
+ #: admin/cerber-dashboard.php:325 admin/cerber-dashboard.php:1669
1721
+ #: admin/cerber-dashboard.php:1726 admin/cerber-dashboard.php:1857
1722
  msgid "Check for activities"
1723
  msgstr "Check op activiteiten"
1724
 
1725
+ #: admin/cerber-dashboard.php:1888
1726
  msgid "Activated"
1727
  msgstr "Geactiveerd"
1728
 
1729
+ #: cerber-common.php:1617
1730
  msgid "Malicious request denied"
1731
  msgstr "Kwaadaardige request afgewezen"
1732
 
1733
+ #: cerber-common.php:1626
1734
  msgid "User activated"
1735
  msgstr "Gebruiker-geactiveerd"
1736
 
1737
+ #: cerber-common.php:1648
1738
  msgid "Suspicious number of fields"
1739
  msgstr "Verdacht aantal velden"
1740
 
1741
+ #: cerber-common.php:1649
1742
  msgid "Suspicious number of nested values"
1743
  msgstr "Verdacht aantal geneste waarden"
1744
 
1745
+ #: cerber-common.php:1650 cerber-common.php:1755
1746
  msgid "Malicious code detected"
1747
  msgstr "Kwaadaardige code ontdekt"
1748
 
1749
+ #: cerber-common.php:1756
1750
  msgid "Attempt to upload a file with malicious code"
1751
  msgstr "Poging een bestand met kwaadaardige code te uploaden"
1752
 
1753
+ #: cerber-common.php:2039
1754
  msgid "Bytes"
1755
  msgstr "Bytes"
1756
 
1762
  msgid "Unable to check the integrity due to a DB error"
1763
  msgstr "Kan integriteit niet controleren door DB-fout"
1764
 
1765
+ #: cerber-settings.php:1054
1766
  msgid "Automated recurring scan schedule"
1767
  msgstr "Schema voor geautomatiseerde scans"
1768
 
1769
+ #: cerber-settings.php:1071
1770
  msgid "Scan results reporting"
1771
  msgstr "Rapportage scanresultaten"
1772
 
1773
+ #: admin/cerber-dashboard.php:1077
1774
  msgid "Suspicious activity"
1775
  msgstr "Verdachte activiteit"
1776
 
1777
+ #: admin/cerber-dashboard.php:4440
1778
  msgid "Errors"
1779
  msgstr "Fouten"
1780
 
1783
  msgid "Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications."
1784
  msgstr "Beschermt Wordpress tegen hack-aanvallen, spam, trojans en virussen. Malware scanner en integriteitscontrole. Versterkt Wordpress met uitgebreide veiligheidsalgoritmen. Beschermt tegen spam met reCAPTCHA en detectie van bot-activiteit. Maakt activiteit van gebruikers en indringers te volgen via meldingen per e-mail, mobiel of desktop."
1785
 
1786
+ #: cerber-load.php:362
1787
  msgid "You have exceeded the number of allowed login attempts. Please try again in %d minutes."
1788
  msgstr "Je hebt de limiet aan loginpogingen bereikt. Probeer opnieuw na %d minuten."
1789
 
1790
+ #: cerber-common.php:1919
1791
  msgctxt "preposition of a period of time like: in 6 hours"
1792
  msgid "in %s"
1793
  msgstr "over %s"
1794
 
1795
+ #: admin/cerber-admin-settings.php:553
1796
  msgctxt "preposition of time like: at 11:00"
1797
  msgid "at"
1798
  msgstr "om"
1799
 
1800
+ #: admin/cerber-dashboard.php:5278
1801
  msgid "Quarantine"
1802
  msgstr "Quarantine"
1803
 
1833
  msgid "Unattended files"
1834
  msgstr "Losstaande bestanden"
1835
 
1836
+ #: admin/cerber-admin.php:108 admin/cerber-admin.php:769
1837
  msgid "Scanned"
1838
  msgstr "Gescand"
1839
 
1840
+ #: admin/cerber-admin.php:713
1841
  msgid "There are no files in the quarantine at the moment."
1842
  msgstr "Er staan nu geen bestanden in quarantaine."
1843
 
1844
+ #: admin/cerber-admin.php:751
1845
  msgid "Restore"
1846
  msgstr "Terugzetten"
1847
 
1848
+ #: admin/cerber-admin.php:748
1849
  msgid "Delete permanently"
1850
  msgstr "Verwijder definitief"
1851
 
1852
+ #: admin/cerber-admin.php:771
1853
  msgid "Automatic deletion"
1854
  msgstr "Automatische verwijdering"
1855
 
1856
+ #: admin/cerber-admin.php:772 admin/cerber-admin.php:927
1857
+ #: admin/cerber-admin.php:1392
1858
  msgid "Size"
1859
  msgstr "Grootte"
1860
 
1861
+ #: admin/cerber-admin.php:773 admin/cerber-admin.php:928
1862
  msgid "File"
1863
  msgstr "Bestand"
1864
 
1865
+ #: admin/cerber-admin.php:846
1866
  msgid "The file has been deleted permanently."
1867
  msgstr "Het bestand is definitief verwijderd."
1868
 
1869
+ #: admin/cerber-admin.php:861
1870
  msgid "The file has been restored to its original location."
1871
  msgstr "Het bestand is teruggezet op de oorspronkelijke plek."
1872
 
1873
+ #: admin/cerber-dashboard.php:2129
1874
  msgid "Integrity"
1875
  msgstr "Integriteit"
1876
 
1877
+ #: cerber-common.php:1605
1878
  msgid "Attempt to upload malicious file denied"
1879
  msgstr "Poging afgeweerd om kwaadaardig bestand te uploaden"
1880
 
1881
+ #: cerber-load.php:7980
1882
  msgid "Awesome!"
1883
  msgstr "Geweldig!"
1884
 
1885
+ #: cerber-settings.php:1113
1886
  msgid "Automatic cleanup of malware and suspicious files"
1887
  msgstr "Automatisch opschonen van malware en verdachte bestanden"
1888
 
1889
+ #: cerber-settings.php:1214
1890
  msgid "Files in the sessions directory"
1891
  msgstr "Bestanden in de sessie-map"
1892
 
1893
+ #: cerber-settings.php:1194
1894
  msgid "Files in these directories"
1895
  msgstr "Bestanden in deze mappen"
1896
 
1897
+ #: cerber-settings.php:1198
1898
  msgid "Use absolute paths. One item per line."
1899
  msgstr "Gebruik absolute paden; één item per regel."
1900
 
1901
+ #: cerber-settings.php:1201
1902
  msgid "Files with these extensions"
1903
  msgstr "Bestanden met deze extensies"
1904
 
1905
+ #: cerber-settings.php:1207
1906
  msgid "Use comma to separate items."
1907
  msgstr "Scheid items met komma's."
1908
 
1909
+ #: admin/cerber-dashboard.php:5276
1910
  msgid "Cleaning up"
1911
  msgstr "Opschonen"
1912
 
1914
  msgid "Malicious code found"
1915
  msgstr "Kwaadaardige code gevonden"
1916
 
1917
+ #: cerber-scanner.php:2620
1918
  msgid "This file contains executable code and may contain obfuscated malware. If this file is a part of a theme or a plugin, it must be located in the theme or the plugin folder. No exception, no excuses."
1919
  msgstr "Het bestand bevat uitvoerbare code en mogelijk verborgen malware. Maakt het deel uit van een thema of plugin, dan moet het in de desbetreffende map staan. Zonder uitzondering."
1920
 
1921
+ #: cerber-scanner.php:2621
1922
  msgid "The scanner recognizes this file as \"ownerless\" or \"not bundled\" because it does not belong to any known part of the website and should not be here."
1923
  msgstr "De scanner ziet dit bestand als 'verweesd' of 'niet gekoppeld' omdat het bij geen enkel bekend deel van de website hoort en hier dus geen plaats heeft."
1924
 
1925
+ #: cerber-scanner.php:2622
1926
  msgid "It may remain after upgrading to a newer version of %s. It also may be a piece of obfuscated malware. In a rare case it might be a part of a custom-made (bespoke) plugin or theme."
1927
  msgstr "Mogelijk achtergebleven bij een upgrade van %s. Het kan ook deel uitmaken van verborgen malware. Of -uitzonderlijk- bij een maatwerk plugin of thema horen."
1928
 
1929
+ #: cerber-scanner.php:2626
1930
  msgid "The contents of the file have been changed and do not match what exists in the official WordPress repository or a reference file you have uploaded earlier. The file may have been altered by malware, infected by a virus or has been tampered with."
1931
  msgstr "De bestandsinhoud is veranderd en past niet bij wat er op de officiële WordPress-site staat of bij het referentiebestand dat je eerder hebt geüpload. Het bestand kan zijn aangepast door malware, geïnfecteerd met een virus of handmatig gewijzigd."
1932
 
1933
+ #: cerber-scanner.php:4835
1934
  msgid "Deleted"
1935
  msgstr "Verwijderd"
1936
 
1937
+ #: cerber-scanner.php:4895
1938
  msgid "Automatically moved to quarantine"
1939
  msgstr "Automatisch in quarantaine gezet"
1940
 
1941
+ #: cerber-common.php:1651
1942
  msgid "Suspicious SQL code detected"
1943
  msgstr "Verdachte SQL-code gevonden"
1944
 
1945
+ #: admin/cerber-dashboard.php:2110
1946
  msgctxt "Example: Last malware scan: 23 Jan 2018"
1947
  msgid "Last malware scan"
1948
  msgstr "Recente malware scan"
1949
 
1950
+ #: admin/cerber-dashboard.php:5212
1951
  msgid "Live Traffic"
1952
  msgstr "Huidig verkeer"
1953
 
1959
  msgid "Disable PHP error displaying"
1960
  msgstr "Zet PHP foutweergave uit"
1961
 
1962
+ #: admin/cerber-dashboard.php:5277
1963
  msgid "Ignore List"
1964
  msgstr "Negeer-lijst"
1965
 
1968
  msgstr "Negeer"
1969
 
1970
  #. For translators
1971
+ #: admin/cerber-admin.php:885
1972
  msgid "Apply"
1973
  msgstr "Pas toe"
1974
 
1975
+ #: admin/cerber-admin.php:925
1976
  msgid "Added"
1977
  msgstr "Toegevoegd"
1978
 
1979
+ #: admin/cerber-admin.php:886 admin/cerber-admin.php:913
1980
  msgid "Remove from the list"
1981
  msgstr "Verwijder van de lijst"
1982
 
1983
+ #: admin/cerber-admin.php:887
1984
  msgid "User Insights"
1985
  msgstr "Gebruikersinzichten"
1986
 
1987
+ #: admin/cerber-admin.php:888
1988
  msgid "Traffic Insights"
1989
  msgstr "Verkeersinzichten"
1990
 
1991
+ #: admin/cerber-admin.php:889
1992
  msgid "Activity Insights"
1993
  msgstr "Activiteitsinzichten"
1994
 
1995
+ #: admin/cerber-dashboard.php:3206
1996
  msgid "Are you sure you want to delete selected files?"
1997
  msgstr "Weet je zeker dat je de geselecteerde bestanden wilt wissen?"
1998
 
1999
+ #: admin/cerber-dashboard.php:3207
2000
  msgid "These files have been moved to the quarantine"
2001
  msgstr "Deze bestanden zijn in quarantaine gezet"
2002
 
2003
+ #: admin/cerber-dashboard.php:3210
2004
  msgid "Do you want to add selected files to the ignore list?"
2005
  msgstr "Wil je de geselecteerde bestanden toevoegen aan de negeer-lijst?"
2006
 
2007
+ #: admin/cerber-dashboard.php:3211
2008
  msgid "These files have been added to the ignore list"
2009
  msgstr "Deze bestanden zijn toegevoegd aan de negeer-lijst"
2010
 
2011
+ #: admin/cerber-dashboard.php:3213
2012
  msgid "Some errors occurred"
2013
  msgstr "Er zijn fouten opgetreden"
2014
 
2015
+ #: admin/cerber-dashboard.php:3214
2016
  msgid "All files have been processed"
2017
  msgstr "Alle bestanden zijn verwerkt"
2018
 
2019
+ #: admin/cerber-dashboard.php:5622
2020
  msgid "Know more about all advantages at"
2021
  msgstr "Leer alle voordelen kennen op"
2022
 
2023
+ #: cerber-common.php:1652
2024
  msgid "Suspicious JavaScript code detected"
2025
  msgstr "Verdachte JavaScript-code ontdekt"
2026
 
2027
+ #: admin/cerber-admin-settings.php:951
2028
  msgid "Unable to update the schedule"
2029
  msgstr "Kan het schema niet vernieuwen"
2030
 
2031
+ #: admin/cerber-admin.php:784
2032
  msgid "All scans"
2033
  msgstr "Alle scans"
2034
 
2035
+ #: admin/cerber-admin.php:891
2036
  msgid "The list is empty."
2037
  msgstr "De lijst is leeg."
2038
 
2039
+ #: admin/cerber-admin.php:730
2040
  msgid "No files match the specified filter."
2041
  msgstr "Het filter levert geen bestanden op."
2042
 
2043
+ #: admin/cerber-admin.php:730
2044
  msgid "Click here to see the full list of files"
2045
  msgstr "Klik hier om de hele bestandenlijst te zien"
2046
 
2047
+ #: admin/cerber-dashboard.php:945
2048
  msgid "Additional Details"
2049
  msgstr "Aanvullende details"
2050
 
2051
+ #: admin/cerber-dashboard.php:3924
2052
  msgid "Page generation time"
2053
  msgstr "Aanmaaktijd pagina"
2054
 
2055
+ #: admin/cerber-dashboard.php:5657
2056
  msgid "Log In"
2057
  msgstr "Inloggen"
2058
 
2059
+ #: admin/cerber-dashboard.php:5658
2060
  msgid "Log Out"
2061
  msgstr "Uitloggen"
2062
 
2063
+ #: admin/cerber-dashboard.php:5659
2064
  msgid "Register"
2065
  msgstr "Aanmelden"
2066
 
2067
+ #: admin/cerber-dashboard.php:5662
2068
  msgid "WooCommerce Log In"
2069
  msgstr "WooCommerce Log In"
2070
 
2071
+ #: admin/cerber-dashboard.php:5663
2072
  msgid "WooCommerce Log Out"
2073
  msgstr "WooCommerce Log Out"
2074
 
2075
+ #: cerber-common.php:1640
2076
  msgid "IP address is locked out"
2077
  msgstr "IP-adres is uitgesloten"
2078
 
2079
+ #: cerber-common.php:1759
2080
  msgid "Multiple suspicious requests"
2081
  msgstr "Meerdere verdachte verzoeken"
2082
 
2083
+ #: cerber-settings.php:812
2084
  msgid "Traffic Inspection"
2085
  msgstr "Verkeersinspectie"
2086
 
2087
+ #: cerber-settings.php:821 cerber-settings.php:852
2088
  msgid "Maximum compatibility"
2089
  msgstr "Maximale compatibiliteit"
2090
 
2091
+ #: cerber-settings.php:822 cerber-settings.php:853
2092
  msgid "Maximum security"
2093
  msgstr "Maximale veiligheid"
2094
 
2095
+ #: cerber-settings.php:843
2096
  msgid "Erroneous Request Shielding"
2097
  msgstr "Afschermen foutieve requests"
2098
 
2099
+ #: cerber-settings.php:848
2100
  msgid "Enable error shielding"
2101
  msgstr "Foutafscherming aanzetten"
2102
 
2103
+ #: cerber-settings.php:950
2104
  msgid "Save software errors"
2105
  msgstr "Softwarefouten opslaan"
2106
 
2107
+ #: cerber-scanner.php:3692
2108
  msgid "Preparing for the scan"
2109
  msgstr "Scan voorbereiden"
2110
 
2111
+ #: cerber-common.php:1653
2112
  msgid "Blocked by administrator"
2113
  msgstr "Geblokkeerd door de beheerder"
2114
 
2115
+ #: cerber-load.php:366
2116
  msgid "You are not allowed to log in"
2117
  msgstr "Je mag niet inloggen"
2118
 
2124
  msgid "User is not permitted to log into the website"
2125
  msgstr "Gebruiker mag niet inloggen op de site"
2126
 
2127
+ #: cerber-settings.php:639 admin/cerber-users.php:68
2128
  msgid "User Message"
2129
  msgstr "bericht van gebruiker"
2130
 
2160
  msgid "These restrictions do not apply to IP addresses in the White IP Access List"
2161
  msgstr "Deze beperkingen gelden niet voor IP-adressen op de Toegelaten Lijst"
2162
 
2163
+ #: admin/cerber-admin-settings.php:513
2164
  msgid "Select one or more roles"
2165
  msgstr "Kies een of meer rollen"
2166
 
2167
+ #: admin/cerber-dashboard.php:1393 admin/cerber-users.php:970
2168
  msgid "Filter by registered user"
2169
  msgstr "Gefilterd door een geregistreerde gebruiker"
2170
 
2171
+ #: cerber-settings.php:626
2172
  msgid "Authorized users only"
2173
  msgstr "Alleen bevoegde gebruikers"
2174
 
2175
+ #: cerber-settings.php:627
2176
  msgid "Only registered and logged in website users have access to the website"
2177
  msgstr "Alleen geregistreerde en ingelogde gebruikers hebben toegang tot de website"
2178
 
2179
+ #: cerber-settings.php:643 cerber-settings.php:1727
2180
  msgid "Only registered and logged in users are allowed to view this website"
2181
  msgstr "Alleen geregistreerde en ingelogde gebruikers mogen de website bekijken"
2182
 
2183
+ #: cerber-settings.php:648
2184
  msgid "Redirect to URL"
2185
  msgstr "Omleiding naar URL"
2186
 
2187
+ #: admin/cerber-dashboard.php:5331
2188
  msgid "Changelog"
2189
  msgstr "Log van aanpassingen"
2190
 
2191
+ #: admin/cerber-dashboard.php:736
2192
  msgid "Default settings have been loaded"
2193
  msgstr "Standaardinstellingen zijn geladen"
2194
 
2195
+ #: admin/cerber-dashboard.php:3633
2196
  msgid "Save all rules"
2197
  msgstr "Alle regels opslaan"
2198
 
2199
+ #: cerber-common.php:1629
2200
  msgid "Invalid master credentials"
2201
  msgstr "Ongeldige hoofd-inloggegevens"
2202
 
2203
+ #: cerber-settings.php:1394
2204
  msgid "Master settings"
2205
  msgstr "Hoofdinstellingen"
2206
 
2207
+ #: cerber-settings.php:1402
2208
  msgid "Return to the website list"
2209
  msgstr "Terug naar de website-lijst"
2210
 
2211
+ #: cerber-settings.php:1406
2212
  msgid "Show \"Switched to\" notification"
2213
  msgstr "Toon 'Omgeschakeld naar'-melding"
2214
 
2215
+ #: cerber-settings.php:1410
2216
  msgid "Add @ site to the page title"
2217
  msgstr "Voeg '@site' toe aan de paginakop"
2218
 
2219
+ #: cerber-settings.php:1041 cerber-settings.php:1427 cerber-settings.php:1455
2220
  msgid "Enable diagnostic logging"
2221
  msgstr "Diagnostische logging aanzetten"
2222
 
2223
+ #: cerber-settings.php:1438
2224
  msgid "Limit access by IP address"
2225
  msgstr "Toegang beperken op IP-adres"
2226
 
2227
+ #: cerber-settings.php:1444
2228
  msgid "Access to this website"
2229
  msgstr "Toegang tot deze website"
2230
 
2231
+ #: cerber-settings.php:1447
2232
  msgid "Full access mode"
2233
  msgstr "Volledige-toegangs-modus"
2234
 
2235
+ #: cerber-settings.php:1448
2236
  msgid "Read-only mode"
2237
  msgstr "Alleen-lezen-modus"
2238
 
2239
+ #: cerber-settings.php:1469
2240
  msgid "The full access mode requires the PRO version of WP Cerber"
2241
  msgstr "Volledige toegang tot alle functies vergt WP Cerber PRO"
2242
 
2256
  msgid "Add a slave website"
2257
  msgstr "Voeg een 'slave'-website toe"
2258
 
2259
+ #: nexus/cerber-slave-list.php:247 admin/cerber-users.php:1036
2260
  msgid "Search results for:"
2261
  msgstr "Zoekresultaten voor:"
2262
 
2400
  msgstr "Installeer het toegangscertificaat op de hoofdwebsite."
2401
 
2402
  #. translators: Time difference between two dates, in seconds (sec=second). 1: Number of seconds
2403
+ #: cerber-common.php:1912
2404
  msgid "%s sec"
2405
  msgid_plural "%s secs"
2406
  msgstr[0] "%s sec"
2407
  msgstr[1] "%s sec"
2408
 
2409
+ #: cerber-settings.php:795
2410
  msgid "Send reports on"
2411
  msgstr "Verstuur rapportages op"
2412
 
2454
  msgid "Invalid response from the slave website"
2455
  msgstr "Ongeldig antwoord van de 'slave'-website"
2456
 
2457
+ #: cerber-common.php:1598 cerber-common.php:1749
2458
  msgid "Attempt to log in with non-existing username"
2459
  msgstr "Inlogpoging met onbekende gebruikersnaam"
2460
 
2461
+ #: cerber-load.php:5047
2462
  msgid "Attempts to log in with non-existing usernames"
2463
  msgstr "Pogingen om in te loggen met een onbekende gebruikersnaam"
2464
 
2465
+ #: cerber-settings.php:1414
2466
  msgid "Use master language"
2467
  msgstr "Gebruik hoofdtaal"
2468
 
2490
  msgid "Block execution of PHP scripts in the WordPress media folder"
2491
  msgstr "Voorkom uitvoeren van PHP-scripts in de WordPress media-map"
2492
 
2493
+ #: nexus/cerber-nexus-master.php:1419 nexus/cerber-nexus-master.php:1427
2494
  msgid "Active plugins and updates on"
2495
  msgstr "Actieve plugins en updates op"
2496
 
2497
+ #: nexus/cerber-nexus-master.php:1397
2498
  msgid "A newer version is available"
2499
  msgstr "Er is een nieuwere versie beschikbaar"
2500
 
2501
+ #: admin/cerber-dashboard.php:1071
2502
  msgid "New users"
2503
  msgstr "Nieuwe gebruikers"
2504
 
2505
+ #: admin/cerber-dashboard.php:1090
2506
  msgid "My activity"
2507
  msgstr "Mijn activiteiten"
2508
 
2509
+ #: admin/cerber-dashboard.php:2946
2510
  msgid "Create Alert"
2511
  msgstr "Waarschuwing aanmaken"
2512
 
2513
+ #: admin/cerber-dashboard.php:2950
2514
  msgid "Delete Alert"
2515
  msgstr "Waarschuwing verwijderen"
2516
 
2517
+ #: admin/cerber-dashboard.php:2983
2518
  msgid "The alert has been created"
2519
  msgstr "Waarschuwing aangemaakt"
2520
 
2521
+ #: admin/cerber-dashboard.php:2987
2522
  msgid "The alert has been deleted"
2523
  msgstr "Waarschuwing verwijderd"
2524
 
2525
+ #: admin/cerber-dashboard.php:4457
2526
  msgid "Advanced Search"
2527
  msgstr "Geavanceerd zoeken"
2528
 
2531
  msgid "Cerber Tech Inc."
2532
  msgstr "Cerber Tech Inc."
2533
 
2534
+ #: cerber-load.php:5649
2535
  msgid "To delete the alert, click here"
2536
  msgstr "Klik om waarschuwing te verwijderen"
2537
 
2551
  msgid "Prefix may contain only Latin alphanumeric characters and underscores"
2552
  msgstr "Gebruik letters, cijfers of onderstrepingen voor het voorvoegsel"
2553
 
2554
+ #: cerber-settings.php:749
2555
  msgid "Lockout notifications"
2556
  msgstr "Melding van uitsluitingen"
2557
 
2558
+ #: cerber-settings.php:777
2559
  msgid "Pushbullet access token"
2560
  msgstr "Pushbullet access token"
2561
 
2562
+ #: cerber-settings.php:780
2563
  msgid "Pushbullet device"
2564
  msgstr "Pushbullet apparaat"
2565
 
2566
+ #: cerber-settings.php:1118
2567
  msgid "Delete unattended files"
2568
  msgstr "Verwijder verweesde bestanden"
2569
 
2570
+ #: cerber-settings.php:1177
2571
  msgid "Automatic recovery of modified and infected files"
2572
  msgstr "Automatisch herstel van aangepaste en geïnfecteerde bestanden"
2573
 
2574
+ #: cerber-settings.php:1180
2575
  msgid "Recover WordPress files"
2576
  msgstr "Herstel Wordpress-bestanden"
2577
 
2583
  msgid "File recovered"
2584
  msgstr "Bestand hersteld"
2585
 
2586
+ #: cerber-scanner.php:3700
2587
  msgid "Recovering WordPress files"
2588
  msgstr "Wordpress-bestanden aan het herstellen"
2589
 
2590
+ #: cerber-scanner.php:3702
2591
  msgid "Recovering plugins files"
2592
  msgstr "Plugin-bestanden aan het herstellen"
2593
 
2594
+ #: cerber-scanner.php:4839
2595
  msgid "Recovered"
2596
  msgstr "Hersteld"
2597
 
2598
+ #: cerber-scanner.php:4896
2599
  msgid "Automatically deleted"
2600
  msgstr "Automatisch verwijderd"
2601
 
2602
+ #: cerber-scanner.php:4899
2603
  msgid "Automatically recovered"
2604
  msgstr "Automatisch hersteld"
2605
 
2607
  msgid "Cerber User Security"
2608
  msgstr "Cerber Gebruikersbeveiliging"
2609
 
2610
+ #: admin/cerber-dashboard.php:70 admin/cerber-dashboard.php:5236
2611
  msgid "User Policies"
2612
  msgstr "Gebruikersbeleid"
2613
 
2614
+ #: admin/cerber-dashboard.php:2132
2615
  msgid "A new version is available"
2616
  msgstr "Er is een nieuwe versie beschikbaar"
2617
 
2618
+ #: admin/cerber-dashboard.php:5239
2619
  msgid "Global"
2620
  msgstr "Algemeen"
2621
 
2622
+ #: cerber-common.php:1654
2623
  msgid "Site policy enforcement"
2624
  msgstr "Afdwingen gebruiksvoorwaarden site"
2625
 
2626
+ #: cerber-common.php:1655
2627
  msgid "2FA code verified"
2628
  msgstr "2FA code geverifieerd"
2629
 
2630
+ #: cerber-common.php:1656
2631
  msgid "Initiated by the user"
2632
  msgstr "Gestart door gebruiker"
2633
 
2634
+ #: cerber-common.php:2145
2635
  msgid "A new version of %s is available. Please install it."
2636
  msgstr "De nieuwste versie van %s staat klaar voor installatie."
2637
 
2638
+ #: cerber-load.php:1926
2639
  msgid "Email address is not permitted."
2640
  msgstr "E-mail-adres niet toegestaan."
2641
 
2642
+ #: cerber-load.php:1926
2643
  msgid "Please choose another one."
2644
  msgstr "Kies een andere."
2645
 
2683
  msgid "Redirect user after logout"
2684
  msgstr "Verwijs gebruiker door na logout"
2685
 
2686
+ #: cerber-settings.php:682 admin/cerber-users.php:440
2687
  msgid "User session expiration time"
2688
  msgstr "Afkaptijd gebruikerssessie"
2689
 
2731
  msgid "Policies have been updated"
2732
  msgstr "Beleid is vernieuwd"
2733
 
2734
+ #: cerber-settings.php:585
2735
  msgid "Restrict email addresses"
2736
  msgstr "Beperk e-mail-adressen"
2737
 
2738
+ #: cerber-settings.php:588
2739
  msgid "No restrictions"
2740
  msgstr "Geen beperkingen"
2741
 
2742
+ #: cerber-settings.php:589
2743
  msgid "Deny all email addresses that match the following"
2744
  msgstr "Wijs mailadressen af die voldoen aan het volgende"
2745
 
2746
+ #: cerber-settings.php:590
2747
  msgid "Permit only email addresses that match the following"
2748
  msgstr "Sta alleen mailadressen toe die voldoen aan het volgende"
2749
 
2750
+ #: cerber-settings.php:595
2751
  msgid "Specify email addresses, wildcards or REGEX patterns. Use comma to separate items."
2752
  msgstr "Geef e-mailadressen, jokertekens of REGEX-patronen op. Scheid items met komma's."
2753
 
2754
+ #: cerber-settings.php:1191
2755
  msgid "These files will never be deleted during automatic cleanup."
2756
  msgstr "Deze bestanden worden nooit gewist bij een automatische schoonmaak."
2757
 
2758
+ #: cerber-2fa.php:363
2759
  msgid "This verification PIN code is expired. We have just sent a new one to your email."
2760
  msgstr "De bevestigings-pincode is verlopen. We hebben je een nieuwe gemaild."
2761
 
2762
+ #: cerber-2fa.php:366
2763
  msgid "You have entered an incorrect verification PIN code"
2764
  msgstr "Je hebt een onjuiste bevestigings-pincode ingevoerd"
2765
 
2766
+ #: cerber-2fa.php:413 cerber-2fa.php:501
2767
  msgid "Please verify that it’s you"
2768
  msgstr "Bevestig dat jij het bent"
2769
 
2770
+ #: cerber-2fa.php:523
2771
  msgid "Here are the details of the sign-in attempt"
2772
  msgstr "Bijzonderheden van de inlogpoging"
2773
 
2774
+ #: cerber-2fa.php:577
2775
  msgid "expires"
2776
  msgstr "verloopt"
2777
 
2778
+ #: cerber-2fa.php:654
2779
  msgid "only digits are allowed"
2780
  msgstr "alleen cijfers toegestaan"
2781
 
2782
+ #: cerber-2fa.php:657
2783
  msgid "We've sent a verification PIN code to your email"
2784
  msgstr "Pincode ter validatie naar je gemaild"
2785
 
2786
+ #: cerber-2fa.php:658
2787
  msgid "Enter the code from the email in the field below."
2788
  msgstr "Voer de code uit de e-mail in het veld hieronder in."
2789
 
2790
+ #: cerber-2fa.php:660
2791
  msgid "Try again"
2792
  msgstr "Probeer nogmaals"
2793
 
2794
+ #: cerber-2fa.php:661
2795
  msgid "Cancel"
2796
  msgstr "Laat vervallen"
2797
 
2798
+ #: cerber-2fa.php:662
2799
  msgid "or"
2800
  msgstr "of"
2801
 
2802
+ #: cerber-2fa.php:668
2803
  msgid "Verify it's you"
2804
  msgstr "Bevestig dat jij het bent"
2805
 
2806
+ #: cerber-2fa.php:673
2807
  msgid "Verify"
2808
  msgstr "Valideer"
2809
 
2811
  msgid "Two-Factor Authentication Email"
2812
  msgstr "E-mail voor dubbele authenticatie"
2813
 
2814
+ #: admin/cerber-dashboard.php:3576
2815
  msgid "Role-based rules are configured"
2816
  msgstr "Rolgebaseerde regels worden ingesteld"
2817
 
2820
  msgid "blocked by %s at %s"
2821
  msgstr "geblokkeerd door %s om %s"
2822
 
2823
+ #: cerber-2fa.php:506
2824
  msgid "The code is valid for %s minutes."
2825
  msgstr "De code is %s minuten geldig."
2826
 
2827
+ #: admin/cerber-dashboard.php:372
2828
  msgid "IP address %s has been added to White IP Access List"
2829
  msgstr "IP-adres %s staat nu op de lijst toegelaten adressen"
2830
 
2831
+ #: admin/cerber-dashboard.php:369
2832
  msgid "IP address %s has been added to Black IP Access List"
2833
  msgstr "IP-adres %s staat nu op de lijst verboden adressen"
2834
 
2835
+ #: admin/cerber-dashboard.php:211 admin/cerber-dashboard.php:942
2836
+ #: admin/cerber-dashboard.php:1334 admin/cerber-dashboard.php:4407
2837
+ #: admin/cerber-users.php:926
2838
  msgid "IP Address"
2839
  msgstr "IP-adres"
2840
 
2841
+ #: admin/cerber-dashboard.php:949 admin/cerber-dashboard.php:1340
2842
  msgid "Username"
2843
  msgstr "Gebruikersnaam"
2844
 
2845
+ #: admin/cerber-dashboard.php:3658
2846
  msgid "Any country is permitted"
2847
  msgstr "Elk land is toegestaan"
2848
 
2849
+ #: admin/cerber-dashboard.php:3281 admin/cerber-dashboard.php:5141
2850
  msgid "Sessions"
2851
  msgstr "Sessies"
2852
 
2853
+ #: cerber-load.php:1685
2854
  msgid "Session has been terminated"
2855
  msgid_plural "%s sessions have been terminated"
2856
  msgstr[0] "De sessie is gestopt"
2857
  msgstr[1] "%s sessies zijn gestopt"
2858
 
2859
+ #: admin/cerber-users.php:924
2860
  msgid "Created"
2861
  msgstr "Aangemaakt"
2862
 
2863
+ #: admin/cerber-users.php:945
2864
  msgid "Terminate session"
2865
  msgstr "Beëindig sessie"
2866
 
2867
+ #: admin/cerber-users.php:946
2868
  msgid "Block user"
2869
  msgstr "Blokkeer gebruiker"
2870
 
2871
+ #: admin/cerber-users.php:1078
2872
  msgid "Profile"
2873
  msgstr "Profiel"
2874
 
2875
+ #: admin/cerber-users.php:1091
2876
  msgid "All Logins"
2877
  msgstr "Alle log-ins"
2878
 
2879
+ #: admin/cerber-users.php:1092
2880
  msgid "User Activity"
2881
  msgstr "Gebruikersactiviteit"
2882
 
2883
+ #: admin/cerber-users.php:1138
2884
  msgid "Terminate"
2885
  msgstr "Beëindig"
2886
 
2887
+ #: admin/cerber-dashboard.php:2082
2888
  msgid "user"
2889
  msgid_plural "users"
2890
  msgstr[0] "gebruiker"
2906
  msgid "Data Shield"
2907
  msgstr "Data Shield"
2908
 
2909
+ #: admin/cerber-dashboard.php:5226
2910
  msgid "Data Shield Policies"
2911
  msgstr "Data Shield instellingen"
2912
 
2913
+ #: admin/cerber-dashboard.php:5228
2914
  msgid "Accounts & Roles"
2915
  msgstr "Accounts & Rollen"
2916
 
2917
+ #: admin/cerber-dashboard.php:5229
2918
  msgid "Site Settings"
2919
  msgstr "Site-instellingen"
2920
 
2921
+ #: cerber-common.php:1611
2922
  msgid "User creation denied"
2923
  msgstr "Gebruiker aanmaken afgewezen"
2924
 
2925
+ #: cerber-common.php:1613
2926
  msgid "Role update denied"
2927
  msgstr "Bijwerken Rol afgewezen"
2928
 
2929
+ #: cerber-common.php:1614
2930
  msgid "Setting update denied"
2931
  msgstr "Bijwerken instellingen afgewezen"
2932
 
2933
+ #: cerber-common.php:1661
2934
  msgid "Permission denied"
2935
  msgstr "Toestemming geweigerd"
2936
 
2937
+ #: cerber-common.php:1663
2938
  msgid "Invalid user"
2939
  msgstr "Ongeldige gebruiker"
2940
 
2941
+ #: cerber-common.php:1664
2942
  msgid "Incorrect password"
2943
  msgstr "Onjuist wachtwoord"
2944
 
2945
+ #: cerber-settings.php:482
2946
  msgid "Protect user accounts"
2947
  msgstr "Bescherm gebruiker-accounts"
2948
 
2949
+ #: cerber-settings.php:487
2950
  msgid "Restrict user account creation and user management with the following policies"
2951
  msgstr "Beperk aanmaak gebruikers-accounts en gebruikerbeheer met de volgende instellingen"
2952
 
2953
+ #: cerber-settings.php:493
2954
  msgid "User registrations are limited to these roles"
2955
  msgstr "Gebruikersregistratie is beperkt tot deze rollen"
2956
 
2957
+ #: cerber-settings.php:499
2958
  msgid "Users with these roles are permitted to create new accounts"
2959
  msgstr "Gebruikers in deze rol kunnen nieuwe accounts aanmaken"
2960
 
2961
+ #: cerber-settings.php:504
2962
  msgid "Users with these roles are permitted to change sensitive user data"
2963
  msgstr "Gebruikers in deze rol kunnen gebruikersdata aanpassen"
2964
 
2965
+ #: cerber-settings.php:509 cerber-settings.php:537 cerber-settings.php:566
2966
  msgid "Do not apply these policies to the IP addresses in the White IP Access List"
2967
  msgstr "Pas deze instellingen niet toe op de lijst toegelaten IP-adressen"
2968
 
2969
+ #: cerber-settings.php:517
2970
  msgid "Protect user roles"
2971
  msgstr "Bescherm gebruikersrollen"
2972
 
2973
+ #: cerber-settings.php:521
2974
  msgid "Restrict roles and capabilities management with the following policies"
2975
  msgstr "Beperk beheer van rollen en instellingen met deze maatregelen"
2976
 
2977
+ #: cerber-settings.php:527
2978
  msgid "Users with these roles are permitted to add new roles"
2979
  msgstr "Gebruikers in deze rol kunnen nieuwe rollen toevoegen"
2980
 
2981
+ #: cerber-settings.php:532
2982
  msgid "Users with these roles are permitted to change role capabilities"
2983
  msgstr "Gebruikers in deze rol kunnen rol-instellingen aanpassen"
2984
 
2985
+ #: cerber-settings.php:545
2986
  msgid "Protect site settings"
2987
  msgstr "Bescherm site-instellingen"
2988
 
2989
+ #: cerber-settings.php:549
2990
  msgid "Restrict updating site settings with the following policies"
2991
  msgstr "Beperk het bijwerken van site-instellingen met deze maatregelen"
2992
 
2993
+ #: cerber-settings.php:555
2994
  msgid "Users with these roles are permitted to change protected settings"
2995
  msgstr "Gebruikers in deze rol mogen beschermde instellingen aanpassen"
2996
 
2997
+ #: cerber-settings.php:560
2998
  msgid "Protected settings"
2999
  msgstr "Beschermde instellingen"
3000
 
3001
+ #: cerber-settings.php:633
3002
  msgid "Do not apply these policy to the IP addresses in the White IP Access List"
3003
  msgstr "Pas deze instelling niet toe op de lijst toegelaten IP-adressen"
3004
 
3026
  msgid "Hide server IP address"
3027
  msgstr "Verberg IP-adres server"
3028
 
3029
+ #: admin/cerber-dashboard.php:341
3030
  msgid "IP address, range, wildcard, or CIDR"
3031
  msgstr "IP-adres, -reeks, -jokerteken of CIDR"
3032
 
3033
+ #: admin/cerber-dashboard.php:342
3034
  msgid "Add Entry"
3035
  msgstr "Voeg toe"
3036
 
3037
+ #: admin/cerber-dashboard.php:5486
3038
  msgid "The IP address you are trying to add is already in the list"
3039
  msgstr "Het IP-adres dat je wilt toevoegen, staat al in de lijst"
3040
 
3041
+ #: cerber-common.php:1569
3042
  msgid "IP subnet blocked"
3043
  msgstr "IP subnet geblokkeerd"
3044
 
3045
+ #: cerber-common.php:1612
3046
  msgid "User row update denied"
3047
  msgstr "Aanpassing rij van gebruiker geweigerd"
3048
 
3049
+ #: cerber-common.php:1615
3050
  msgid "User metadata update denied"
3051
  msgstr "Aanpassing metadata gebruiker geweigerd"
3052
 
3053
+ #: cerber-settings.php:1545
3054
  msgid "Any activity"
3055
  msgstr "Enige activiteit"
3056
 
3062
  msgid "Enable authentication log monitoring"
3063
  msgstr "Houd logboek voor aanmeldingen bij"
3064
 
3065
+ #: cerber-settings.php:320 cerber-settings.php:962
3066
  msgid "Keep log records of not logged in visitors for"
3067
  msgstr "Leg niet-aangemelde bezoekers vast voor"
3068
 
3069
+ #: cerber-settings.php:326 cerber-settings.php:968
3070
  msgid "Keep log records of logged in users for"
3071
  msgstr "Leg aangemelde gebruikers vast voor"
3072
 
3074
  msgid "Admin Note"
3075
  msgstr "Aantekening Admin"
3076
 
3077
+ #: cerber-settings.php:698
3078
  msgid "Personal Data"
3079
  msgstr "Persoonlijke Gegevens"
3080
 
3081
+ #: cerber-settings.php:704
3082
  msgid "Enable data erase"
3083
  msgstr "Gegevens wissen inschakelen"
3084
 
3085
+ #: cerber-settings.php:711
3086
  msgid "Terminate user sessions"
3087
  msgstr "Beëindig gebruikerssessies"
3088
 
3089
+ #: cerber-settings.php:712
3090
  msgid "Delete user sessions data when user data is erased"
3091
  msgstr "Verwijder gegevens gebruikerssessies als gebruikersinformatie wordt gewist"
3092
 
3093
+ #: cerber-settings.php:718
3094
  msgid "Enable data export"
3095
  msgstr "Gegevensexport inschakelen"
3096
 
3097
+ #: cerber-settings.php:725
3098
  msgid "Include activity log events"
3099
  msgstr "Voeg activiteitenlog toe"
3100
 
3101
+ #: cerber-settings.php:731
3102
  msgid "Include traffic log entries"
3103
  msgstr "Voeg verkeersinformatie toe"
3104
 
3105
+ #: cerber-settings.php:734
3106
  msgid "Request URL"
3107
  msgstr "URL opvragen"
3108
 
3109
+ #: cerber-settings.php:735
3110
  msgid "Form fields data"
3111
  msgstr "Gegevens formuliervelden"
3112
 
3113
+ #: cerber-settings.php:736
3114
  msgid "Cookies"
3115
  msgstr "Cookies"
3116
 
3118
  msgid "Cerber anti-spam settings"
3119
  msgstr "Cerber anti-spam-instellingen"
3120
 
3121
+ #: admin/cerber-dashboard.php:77
3122
  msgid "Anti-spam"
3123
  msgstr "Anti-spam"
3124
 
3127
  msgid "Add-ons"
3128
  msgstr "Add-ons"
3129
 
3130
+ #: admin/cerber-dashboard.php:5190
3131
  msgid "Anti-spam and bot detection settings"
3132
  msgstr "Anti-spam- en botdetectie-instellingen"
3133
 
3134
+ #: admin/cerber-dashboard.php:5192
3135
  msgid "Anti-spam engine"
3136
  msgstr "Anti-spamroutine"
3137
 
3138
+ #: cerber-common.php:1758
3139
  msgid "Multiple erroneous requests"
3140
  msgstr "Meervoudige foutieve verzoeken"
3141
 
3142
+ #: admin/cerber-admin-settings.php:332
3143
  msgid "%s retries are allowed within %s minutes"
3144
  msgstr "%s herkansingen in %s minuten toegestaan"
3145
 
3146
+ #: admin/cerber-admin-settings.php:338
3147
  msgid "%s registrations are allowed within %s minutes from one IP address"
3148
  msgstr "%s registraties binnen %s minuten vanaf één IP-adres toegestaan"
3149
 
3150
+ #: admin/cerber-admin-settings.php:361
3151
  msgid "Enable after %s failed login attempts in the last %s minutes"
3152
  msgstr "Aanzetten na %s gefaalde inlogpogingen in de afgelopen %s minuten"
3153
 
3155
  msgid "Restrict or completely block access to the WordPress REST API according to your needs"
3156
  msgstr "Naar behoefte toegang tot de WordPress REST API beperken of blokkeren"
3157
 
3158
+ #: cerber-settings.php:700
3159
  msgid "These features help your organization to be in compliance with personal data protection laws"
3160
  msgstr "Deze functies helpen u de privacywetgeving na te leven"
3161
 
3162
+ #: cerber-settings.php:758
3163
  msgid "if empty, the website administrator email %s will be used"
3164
  msgstr "indien leeg, wordt de email %s van de sitebeheerder gebruikt"
3165
 
3166
+ #: cerber-settings.php:762
3167
  msgid "notifications are allowed per hour (0 means unlimited)"
3168
  msgstr "meldingen per uur toegestaan (0 = onbeperkt)"
3169
 
3170
+ #: cerber-settings.php:773
3171
  msgid "Get notified instantly with mobile and desktop notifications"
3172
  msgstr "Meteen op de hoogte met desktop- en mobiele meldingen"
3173
 
3174
+ #: cerber-settings.php:788
3175
  msgid "Weekly report is a summary of all activities and suspicious events occurred during the last seven days"
3176
  msgstr "Het weekrapport is een overzicht van activiteiten en verdachte gebeurtenissen van de afgelopen zeven dagen"
3177
 
3178
+ #: cerber-settings.php:801 cerber-settings.php:1103
3179
  msgid "if empty, the email addresses from the notification settings will be used"
3180
  msgstr "indien leeg, worden de mailadressen voor meldingen gebruikt"
3181
 
3182
+ #: cerber-settings.php:813
3183
  msgid "Traffic Inspector is a context-aware web application firewall (WAF) that protects your website by recognizing and denying malicious HTTP requests"
3184
  msgstr "VerkeerInspectie beschermt als contextuele WebApplicatie Firewall (WAF) de website door kwaadaardige HTTP-verzoeken te herkennen en te weigeren\n"
3185
  ""
3186
 
3187
+ #: cerber-settings.php:845
3188
  msgid "Block IP addresses that send excessive requests for non-existing pages or scan website for security breaches"
3189
  msgstr "Blokkeer IP-adressen die extreem veel niet-bestaande pagina's opvragen of die scannen voor beveiligingslekken"
3190
 
3191
+ #: cerber-settings.php:864
3192
  msgid "Traffic Logging"
3193
  msgstr "Verkeer Loggen"
3194
 
3195
+ #: cerber-settings.php:865
3196
  msgid "Enable optional traffic logging if you need to monitor suspicious and malicious activity or solve security issues"
3197
  msgstr "Ga het verkeer loggen als je verdachte of kwaadaardige activiteiten wilt volgen, of beveiligingsproblemen wilt oplossen"
3198
 
3199
+ #: cerber-settings.php:978
3200
  msgid "The scanner monitors file changes, verifies the integrity of WordPress, plugins, and themes, and detects malware"
3201
  msgstr "De scanner ziet bestandswijzigingen, controleert de integriteit van WordPress, plugins en thema's, en detecteert malware"
3202
 
3203
+ #: cerber-settings.php:1028
3204
  msgid "Specify directories to exclude from scanning. One directory per line."
3205
  msgstr "Stel de mappen in die niet gescand worden. Eén map per regel."
3206
 
3207
+ #: cerber-settings.php:1055
3208
  msgid "The scanner automatically scans the website, removes malware and sends email reports with the results of a scan"
3209
  msgstr "De scanner scant de site automatisch, verwijdert malware en mailt de resultaten van de scan"
3210
 
3211
+ #: cerber-settings.php:1072
3212
  msgid "Configure what issues to include in the email report and the condition for sending reports"
3213
  msgstr "Instellen wat deel moet uitmaken van de email-rapportage, en waarom deze verzonden wordt"
3214
 
3215
+ #: cerber-settings.php:1222
3216
  msgid "Cerber anti-spam engine"
3217
  msgstr "Cerber anti-spam-routines"
3218
 
3219
+ #: cerber-settings.php:1223
3220
  msgid "Spam protection for comment, registration and contact forms on a website"
3221
  msgstr "Spambescherming voor registratie-, opmerkingen- en contactformulieren op de site"
3222
 
3223
+ #: cerber-settings.php:1275
3224
  msgid "Adjust anti-spam engine"
3225
  msgstr "Anti-spam-routine instellen"
3226
 
3227
+ #: cerber-settings.php:1276
3228
  msgid "These settings enable you to fine-tune the behavior of anti-spam algorithms and avoid false positives"
3229
  msgstr "Met deze instellingen stel je de anti-spam algoritmes precies in, en voorkom je valse meldingen"
3230
 
3231
+ #: cerber-settings.php:1305
3232
  msgid "How the plugin processes comments submitted through the standard comment form"
3233
  msgstr "Hoe de plugin opmerkingen verwerkt die binnenkomen via het opmerkingenformulier"
3234
 
3235
+ #: nexus/cerber-nexus-slave.php:435
3236
  msgid "Settings updated"
3237
  msgstr "Instellingen aangepast"
3238
 
3239
+ #: admin/cerber-dashboard.php:1397
3240
  msgid "Request ID"
3241
  msgstr "ID van verzoek"
3242
 
3243
+ #: admin/cerber-dashboard.php:1398
3244
  msgid "Search in URL"
3245
  msgstr "Zoek in URL"
3246
 
3247
+ #: cerber-settings.php:986 cerber-settings.php:995
3248
  msgid "Executable files"
3249
  msgstr "Uitvoerbare bestanden"
3250
 
3251
+ #: cerber-settings.php:987 cerber-settings.php:996
3252
  msgid "All files"
3253
  msgstr "Alle bestanden"
3254
 
3255
+ #: admin/cerber-dashboard.php:1911
3256
  msgid "Active sessions"
3257
  msgstr "Actieve sessies"
3258
 
3259
+ #: cerber-settings.php:683
3260
  msgid "minutes (leave empty to use the default WordPress value)"
3261
  msgstr "minuten (leeg laten voor de standaard WordPress waarde)"
3262
 
3264
  msgid "Load entries"
3265
  msgstr "Waarden inladen"
3266
 
3267
+ #: admin/cerber-dashboard.php:1091 admin/cerber-dashboard.php:4448
3268
  msgid "My IP"
3269
  msgstr "Mijn IP"
3270
 
3271
+ #: admin/cerber-dashboard.php:5279
3272
  msgid "Analytics"
3273
  msgstr "Analyse"
3274
 
3275
+ #: admin/cerber-dashboard.php:5328
3276
  msgid "Manage Settings"
3277
  msgstr "Instellingen beheren"
3278
 
3279
+ #: cerber-settings.php:1042 cerber-settings.php:1428 cerber-settings.php:1456
3280
+ #: admin/cerber-dashboard.php:5330
3281
  msgid "Diagnostic Log"
3282
  msgstr "Diagnostische log"
3283
 
3284
+ #: cerber-common.php:1562
3285
  msgid "User deleted"
3286
  msgstr "Verwijderd door gebruiker"
3287
 
3288
+ #: cerber-common.php:1659
3289
  msgid "Email address is prohibited"
3290
  msgstr "Email-adres is verboden"
3291
 
3292
+ #: admin/cerber-admin.php:770
3293
  msgid "Quarantined"
3294
  msgstr "Afgezonderd"
3295
 
3296
+ #: admin/cerber-admin.php:926 admin/cerber-admin.php:1393
3297
  msgid "Modified"
3298
  msgstr "Aangepast"
3299
 
3300
+ #: admin/cerber-admin.php:1002
3301
  msgid "Files without extension"
3302
  msgstr "Bestanden zonder extensie"
3303
 
3304
+ #: admin/cerber-admin.php:1003
3305
  msgid "Back to list"
3306
  msgstr "Terug naar de lijst"
3307
 
3308
+ #: admin/cerber-admin.php:1063
3309
  msgid "Brief summary"
3310
  msgstr "Samenvatting"
3311
 
3312
+ #: admin/cerber-admin.php:1114
3313
  msgid "Folder"
3314
  msgstr "Map"
3315
 
3316
+ #: admin/cerber-admin.php:1115
3317
  msgid "Path"
3318
  msgstr "Pas"
3319
 
3320
+ #: admin/cerber-admin.php:1116 admin/cerber-admin.php:1210
3321
  msgid "Files"
3322
  msgstr "Bestanden"
3323
 
3324
+ #: admin/cerber-admin.php:1117 admin/cerber-admin.php:1211
3325
  msgid "Space Occupied"
3326
  msgstr "Ruimte Gebruikt"
3327
 
3328
+ #: admin/cerber-admin.php:1181
3329
  msgid "No extension"
3330
  msgstr "Geen extensie"
3331
 
3332
+ #: admin/cerber-admin.php:1206
3333
  msgid "File extensions statistics"
3334
  msgstr "Statistiek Bestandsextensie"
3335
 
3336
+ #: admin/cerber-admin.php:1209
3337
  msgid "Extension"
3338
  msgstr "Extensie"
3339
 
3340
+ #: admin/cerber-admin.php:1212
3341
  msgid "Smallest"
3342
  msgstr "Kleinste"
3343
 
3344
+ #: admin/cerber-admin.php:1213
3345
  msgid "Largest"
3346
  msgstr "Grootste"
3347
 
3348
+ #: admin/cerber-admin.php:1214
3349
  msgid "Average Size"
3350
  msgstr "Gemiddelde Grootte"
3351
 
3352
+ #: admin/cerber-admin.php:1215
3353
  msgid "Oldest"
3354
  msgstr "Oudste"
3355
 
3356
+ #: admin/cerber-admin.php:1216
3357
  msgid "Newest"
3358
  msgstr "Nieuwste"
3359
 
3360
+ #: admin/cerber-admin.php:1232
3361
  msgid "Top 10 largest files"
3362
  msgstr "Top-10 grootste bestanden"
3363
 
3364
+ #: admin/cerber-admin.php:1391
3365
  msgid "File Name"
3366
  msgstr "Bestandsnaam"
3367
 
3393
  msgid "To get the most out of WP Cerber, follow these steps:"
3394
  msgstr "Om het meeste baat bij WP Cerber te hebben, doe dit:"
3395
 
3396
+ #: cerber-common.php:1674
3397
  msgid "IP whitelisted"
3398
  msgstr "IP toegestaan"
3399
 
3400
+ #: admin/cerber-dashboard.php:4447
3401
  msgid "My requests"
3402
  msgstr "Mijn verzoeken"
3403
 
3404
+ #: admin/cerber-dashboard.php:3768
3405
  msgid "Log into the website"
3406
  msgstr "Bij de website inloggen"
3407
 
3410
  msgid "WP Cerber Security, Anti-spam & Malware Scan"
3411
  msgstr "WP Cerber Security, Anti-spam & Malware Scan"
3412
 
3413
+ #: cerber-common.php:1604 cerber-common.php:1754
3414
  msgid "Probing for vulnerable code"
3415
  msgstr "Op zoek naar kwetsbare code"
3416
 
3417
+ #: cerber-load.php:5923
3418
  msgid "Your IP address %s has been added to the White IP Access List"
3419
  msgstr "Je IP-adres %s is toegevoegd aan de Lijst Toegestane Adressen"
3420
 
3421
+ #: admin/cerber-users.php:973
3422
  msgid "Search for IP address"
3423
  msgstr "IP-adres zoeken"
3424
 
3425
+ #: cerber-settings.php:873
3426
  msgid "Minimal"
3427
  msgstr "Minimaal"
3428
 
3429
+ #: cerber-settings.php:889
3430
  msgid "Do not log known crawlers"
3431
  msgstr "Log bekende crawlers niet"
3432
 
3433
+ #: cerber-settings.php:894
3434
  msgid "Do not log these locations"
3435
  msgstr "Log deze locaties niet"
3436
 
3437
+ #: cerber-settings.php:898
3438
  msgid "Specify URL paths to exclude requests from logging. One item per line."
3439
  msgstr "Geef aan welke url-paden niet gelogd worden. Eén per regel."
3440
 
3441
+ #: cerber-settings.php:902
3442
  msgid "Do not log these User-Agents"
3443
  msgstr "Log deze 'user-agents' niet"
3444
 
3445
+ #: cerber-settings.php:906
3446
  msgid "Specify User-Agents to exclude requests from logging. One item per line."
3447
  msgstr "Geef aan welke 'user-agents' niet gelogd worden. Eén per regel."
3448
 
3449
+ #: admin/cerber-dashboard.php:4565
3450
  msgid "Unknown Google's bot"
3451
  msgstr "Onbekende Google-bot"
3452
 
3453
+ #: cerber-common.php:1665
3454
  msgid "IP address is not allowed"
3455
  msgstr "IP-adres niet toegestaan"
3456
 
3457
+ #: cerber-settings.php:606
3458
  msgid "Only users from IP addresses in the White IP Access List may register on the website"
3459
  msgstr "Alleen IP-adressen uit de Toegestane Lijst kunnen registreren op de website."
3460
 
3461
+ #: cerber-settings.php:611
3462
  msgid "User message"
3463
  msgstr "Gebruikersbericht"
3464
 
3467
  msgstr "Bestand ontbreekt"
3468
 
3469
  #. Mandatory
3470
+ #: cerber-scanner.php:2636
3471
  msgid "This file is missing. It's been deleted or it's not been installed."
3472
  msgstr "Dit bestand ontbreekt. Het is verwijderd of niet geïnstalleerd."
3473
 
3474
+ #: cerber-scanner.php:3938
3475
  msgid "Error: file %s cannot be used."
3476
  msgstr "Fout: bestand %s is niet te gebruiken."
3477
 
3478
+ #: cerber-scanner.php:3938
3479
  msgid "Please upload another file."
3480
  msgstr "Upload een ander bestand."
3481
 
3487
  msgid "Defer rendering the custom login page"
3488
  msgstr "Stel weergave van de eigen inlogpagina uit"
3489
 
3490
+ #: cerber-load.php:382
3491
  msgid "You have only one login attempt remaining."
3492
  msgstr "Je kunt nog één login-poging wagen."
3493
 
3515
  msgid "If the number of concurrent user sessions is greater"
3516
  msgstr "Als het aantal gelijktijdige gebruikersessies groter is"
3517
 
3518
+ #: admin/cerber-dashboard.php:5621
3519
  msgid "These features are available in the professional version of WP Cerber."
3520
  msgstr "Deze mogelijkheden vind je in de betaalde versie van WP Cerber."
3521
 
3522
+ #: cerber-common.php:1587
3523
  msgid "User session terminated"
3524
  msgstr "Gebruikerssessie beëindigd"
3525
 
3526
+ #: cerber-common.php:1666
3527
  msgid "Limit on concurrent user sessions"
3528
  msgstr "Grens aan gelijktijdige gebruikersessies"
3529
 
3531
  msgid "It is visible only to website administrators"
3532
  msgstr "Alleen zichtbaar voor websitebeheerders"
3533
 
3534
+ #: admin/cerber-admin.php:1498
3535
  msgid "Authorized"
3536
  msgstr "Geautoriseerd"
3537
 
3538
+ #: admin/cerber-admin.php:1499
3539
  msgid "Authorization Failed"
3540
  msgstr "Autorisatie mislukt"
3541
 
3542
+ #: admin/cerber-admin-settings.php:760
3543
  msgid "Important note if you have a caching plugin in place"
3544
  msgstr "Belangrijk bericht als je een caching plugin benut"
3545
 
3546
+ #: admin/cerber-admin-settings.php:761
3547
  msgid "To avoid false positives and get better anti-spam performance, please clear the plugin cache."
3548
  msgstr "Wis de plugin cache om valse positieven te voorkomen en beter anti-spam-gedrag te krijgen."
3549
 
3550
+ #: cerber-common.php:1622
3551
  msgid "API request authorized"
3552
  msgstr "API-verzoek toegestaan"
3553
 
3554
+ #: cerber-common.php:1623
3555
  msgid "API request authorization failed"
3556
  msgstr "API-verzoek afgewezen"
3557
 
3558
+ #: cerber-common.php:1609
3559
  msgid "Request to XML-RPC API denied"
3560
  msgstr "Verzoek aan XML-RPC API afgewezen"
3561
 
3562
+ #: cerber-common.php:1667
3563
  msgid "Invalid cookies"
3564
  msgstr "Ongeldige cookies"
3565
 
3575
  msgid "Do not show PHP errors on my website"
3576
  msgstr "Verberg PHP-fouten op mijn website"
3577
 
3578
+ #: cerber-settings.php:879
3579
  msgid "Log all REST API requests"
3580
  msgstr "Log alle REST API-verzoeken"
3581
 
3582
+ #: cerber-settings.php:884
3583
  msgid "Log all XML-RPC requests"
3584
  msgstr "Log alle XML-RPC-verzoeken "
3585
 
3586
+ #: cerber-settings.php:1237
3587
  msgid "Custom comment URL"
3588
  msgstr "URL met aangepast commentaar"
3589
 
3590
+ #: cerber-settings.php:1238
3591
  msgid "Use custom URL for the WordPress comment form"
3592
  msgstr "Gebruik eigen URL voor het WordPress"
3593
 
3594
+ #: cerber-settings.php:456 cerber-settings.php:1284
3595
+ #: admin/cerber-dashboard.php:2082
3596
  msgid "Logged-in users"
3597
  msgstr "Ingelogde gebruikers"
3598
 
3604
  msgid "Allow access to REST API for logged-in users"
3605
  msgstr "Sta toegang tot REST-API toe voor ingelogde gebruikers"
3606
 
3607
+ #: cerber-settings.php:575
3608
  msgid "User registration"
3609
  msgstr "Gebruikersregistratie"
3610
 
3611
+ #: cerber-settings.php:576
3612
  msgid "Restrict new user registrations by the following conditions"
3613
  msgstr "Beperk nieuwe gebruikers met deze voorwaarden"
3614
 
3615
+ #: cerber-settings.php:621
3616
  msgid "Authorized Access"
3617
  msgstr "Bevoegde toegang"
3618
 
3619
+ #: cerber-settings.php:622
3620
  msgid "Grant access to the website to logged-in users only"
3621
  msgstr "Sta site-toegang alleen toe aan ingelogde gebruikers"
3622
 
3623
+ #: cerber-settings.php:660 cerber-settings.php:1033
3624
  msgid "Miscellaneous Settings"
3625
  msgstr "Diverse instellingen"
3626
 
3627
+ #: cerber-settings.php:673 admin/cerber-users.php:468
3628
  msgid "Application Passwords"
3629
  msgstr "Applicatie-wachtwoorden"
3630
 
3631
+ #: cerber-settings.php:676 admin/cerber-users.php:472
3632
  msgid "Enabled, access to API using standard user passwords is allowed"
3633
  msgstr "Vrijgegeven, toegang tot API met gewoon gebruikersaccount"
3634
 
3635
+ #: cerber-settings.php:677 admin/cerber-users.php:473
3636
  msgid "Enabled, no access to API using standard user passwords"
3637
  msgstr "Vrijgegeven, geen toegang tot API met gewoon gebruikersaccount"
3638
 
3639
+ #: cerber-settings.php:857
3640
  msgid "Ignore logged-in users"
3641
  msgstr "Negeer ingelogde gebruikers"
3642
 
3643
+ #: cerber-settings.php:1285
3644
  msgid "Disable bot detection engine for logged-in users"
3645
  msgstr "Zet bot-detectie uit voor ingelogde gebruikers"
3646
 
3647
+ #: cerber-settings.php:1376
3648
  msgid "Disable reCAPTCHA for logged-in users"
3649
  msgstr "Zet reCAPTCHA uit voor ingelogde gebruikers"
3650
 
3652
  msgid "Use global policies"
3653
  msgstr "Gebruik algemene instellingen"
3654
 
3655
+ #: cerber-load.php:385
3656
  msgid "You have %d login attempt remaining."
3657
  msgid_plural "You have %d login attempts remaining."
3658
  msgstr[0] "Laatste inlogpoging."
3662
  msgid "Display this message if an attempt to log in is denied because the limit on concurrent user sessions has been reached"
3663
  msgstr "Toon dit bericht als een inlogpoging wordt afgewezen vanwege de limiet op gelijktijdige sessies"
3664
 
3665
+ #: admin/cerber-dashboard.php:5238
3666
  msgid "Role-Based"
3667
  msgstr "Rolgebaseerd"
3668
 
3669
+ #: cerber-common.php:1621
3670
  msgid "User application password created"
3671
  msgstr "Gebruikerswachtwoord aangemaakt"
3672
 
3674
  msgid "Initialization Mode"
3675
  msgstr "Initialisatiefase"
3676
 
3677
+ #: cerber-settings.php:929
3678
  msgid "Save response headers"
3679
  msgstr "Response headers opslaan"
3680
 
3681
+ #: cerber-settings.php:940
3682
  msgid "Save response cookies"
3683
  msgstr "Response cookies opslaan"
3684
 
3685
+ #: cerber-load.php:7958
3686
  msgid "We need your support to keep moving forward"
3687
  msgstr "We hebben je ondersteuning nodig om door te gaan"
3688
 
3689
+ #: cerber-load.php:7960
3690
  msgid "By sharing your unique opinion on WP Cerber, you help the engineers behind the plugin make greater progress and help other professionals find the right software. You can leave your review on one of the following websites. Feel free to use your native language. Thanks!"
3691
  msgstr "Door WP Cerber te beoordelen, scherp je de focus van de makers en help je anderen de juiste programma's te vinden. Plaats je bespreking op een van deze sites. Dat kan gewoon in het Nederlands. Dankjewel!"
3692
 
3694
  msgid "Secret Access Token is invalid"
3695
  msgstr "Ongeldig Geheim Toegangscertificaat"
3696
 
3697
+ #: admin/cerber-dashboard.php:225
3698
  msgid "Click the IP address to see its activity"
3699
  msgstr "Klik op het IP-adres om z'n acties te zien"
3700
 
3701
+ #: admin/cerber-dashboard.php:1072
3702
  msgid "Login issues"
3703
  msgstr "Login-problemen"
3704
 
3705
+ #: admin/cerber-dashboard.php:1089 admin/cerber-dashboard.php:4442
3706
  msgid "Non-authenticated"
3707
  msgstr "Niet-geautoriseerd"
3708
 
3709
+ #: admin/cerber-dashboard.php:1375 admin/cerber-dashboard.php:1811
3710
+ #: admin/cerber-dashboard.php:2668 admin/cerber-admin.php:1333
3711
  msgid "No activity has been logged yet."
3712
  msgstr "Er is nog geen activiteit geregistreerd"
3713
 
3714
+ #: admin/cerber-dashboard.php:2684
3715
  msgid "Users' Activity"
3716
  msgstr "Gebruikersactiviteit"
3717
 
3718
+ #: admin/cerber-dashboard.php:2704
3719
  msgid "Malicious Activity"
3720
  msgstr "Kwaadaardige activiteit"
3721
 
3722
+ #: admin/cerber-dashboard.php:4439
3723
  msgid "Suspicious requests"
3724
  msgstr "Verdachte verzoeken"
3725
 
3726
+ #: admin/cerber-dashboard.php:1088 admin/cerber-dashboard.php:4441
3727
  msgid "Users"
3728
  msgstr "Gebruikers"
3729
 
3730
+ #: cerber-common.php:1669
3731
  msgid "Forbidden URL"
3732
  msgstr "Verboden URL"
3733
 
3759
  msgid "Shift admin menu"
3760
  msgstr "Verplaats admin-menu"
3761
 
3762
+ #: cerber-2fa.php:505
3763
  msgid "You or someone else trying to log into the website. We have to verify that it's you. If this wasn't you, please immediately reset your password to safeguard your account."
3764
  msgstr "Iemand wil de site binnenkomen. We willen zeker weten dat jij het zelf bent. Zo niet, vernieuw dan meteen je wachtwoord om je site te beschermen."
3765
 
3766
+ #: cerber-2fa.php:662
3767
  msgid "Did not receive the email?"
3768
  msgstr "E-mail niet ontvangen?"
3769
 
3770
+ #: cerber-2fa.php:506
3771
  msgid "Please use the following verification PIN code to verify your identity."
3772
  msgstr "Gebruik de volgende verificatie-PIN om je identiteit te bevestigen."
3773
 
3774
+ #: admin/cerber-admin-settings.php:694
3775
  msgid "You have disabled the default login page. Ensure that you have configured an alternative login page. Otherwise, you will not be able to log in."
3776
  msgstr "Je hebt de standaard login-pagina uitgezet. Vergewis je ervan dat je een andere login-pagina hebt geconfigureerd; anders ben je voorgoed buitengesloten."
3777
 
3791
  msgid "Deny authentication through wp-login.php"
3792
  msgstr "Wijs authenticatie via wp-login.php af"
3793
 
3794
+ #: cerber-common.php:1668
3795
  msgid "Invalid cookies cleared"
3796
  msgstr "Ongeldige cookies gewist"
3797
 
3798
+ #: cerber-load.php:1830
3799
  msgid "If we have found your account, we have sent the confirmation link to the email address on the account."
3800
  msgstr "Als we je account hebben, sturen we een bevestigingslink naar het email-adres in dat account."
3801
 
3802
+ #: cerber-load.php:5880
3803
  msgid "WP Cerber requires PHP %s or higher. You are running %s."
3804
  msgstr "WP Cerber vergt PHP %s or hoger. Jij draait %s."
3805
 
3806
+ #: cerber-load.php:5884
3807
  msgid "WP Cerber requires WordPress %s or higher. You are running %s."
3808
  msgstr "WP Cerber vergt WordPress %s or hoger. Jij draait %s."
3809
 
3810
+ #: cerber-common.php:459
3811
  msgid "WP Cerber requires PHP %s or higher. You are running %s"
3812
  msgstr "WP Cerber vergt PHP %s or hoger. Jij draait %s"
3813
 
3814
+ #: cerber-common.php:463
3815
  msgid "WP Cerber requires WordPress %s or higher. You are running %s"
3816
  msgstr "WP Cerber vergt WordPress %s or hoger. Jij draait %s"
3817
 
3835
  msgid "Prevent username discovery via user XML sitemaps"
3836
  msgstr "Voorkom ontdekken van gebruikersnamen via XML sitemaps"
3837
 
3838
+ #: admin/cerber-admin.php:1018
3839
  msgid "No data for generating reports. Please run the Full Scan. After the scan is completed, the reports will be generated."
3840
  msgstr "Er zijn geen gegevens voor een rapport. Doe een Volledige Scan. Na afloop stellen we de rapportage samen."
3841
 
3842
+ #: cerber-settings.php:1042 cerber-settings.php:1428 cerber-settings.php:1456
3843
  msgid "Once enabled, the log is available here: %s"
3844
  msgstr "Indien ingeschakeld, vind je de log hier: %s"
3845
 
3846
+ #: cerber-scanner.php:2637
3847
  msgid "The scanner identifies this file as missing based on the integrity data (checksums) provided by the developer of %s."
3848
  msgstr "Met de integriteitsdata ('checksums') van de ontwikkelaar van %s, ziet de scanner dit als een ontbrekend bestand."
3849
 
3859
  msgid "Show IP WHOIS data"
3860
  msgstr "Toon WHOIS-info van IP-adres"
3861
 
3862
+ #: cerber-settings.php:1143
3863
  msgid "Analyze the uploads directory"
3864
  msgstr "De uploads-map controleren"
3865
 
3866
+ #: cerber-settings.php:1144
3867
  msgid "Analyze the WordPress uploads directory to detect injected files"
3868
  msgstr "De Wordpress-uploads-map controleren op bijgevoegde bestanden"
3869
 
3870
+ #: cerber-settings.php:1037
3871
  msgid "Change file and directory permissions if it is required to delete files"
3872
  msgstr "Bestands- en maptoestemmingen zo nodig aanpassen om bestanden te verwijderen"
3873
 
3874
+ #: cerber-settings.php:1036
3875
  msgid "Change filesystem permissions"
3876
  msgstr "Toestemmingen bestandssysteem aanpassen"
3877
 
3878
+ #: cerber-settings.php:1122
3879
  msgid "Delete files in the WordPress uploads directory"
3880
  msgstr "Bestanden uit Wordpress' uploads-map verwijderen"
3881
 
3882
+ #: cerber-settings.php:1131
3883
  msgid "Delete files with unwanted extensions"
3884
  msgstr "Bestanden met ongewenste extensies verwijderen"
3885
 
3886
+ #: cerber-settings.php:1164
3887
  msgid "Delete publicly accessible files with these extensions"
3888
  msgstr "Verwijder publiek bereikbare bestanden met deze extensies"
3889
 
3890
+ #: cerber-scanner.php:3704
3891
  msgid "Detecting injected files in the WordPress uploads directory"
3892
  msgstr "Bijgevoegde bestanden detecteren in de Wordpress uploads-map"
3893
 
3894
+ #: cerber-common.php:1670
3895
  msgid "Executable file extension detected"
3896
  msgstr "Uitvoerbare bestandextensie aangetroffen"
3897
 
3898
+ #: cerber-common.php:1671
3899
  msgid "Filename is prohibited"
3900
  msgstr "Bestandsnaam is verboden"
3901
 
3902
+ #: cerber-settings.php:1210
3903
  msgid "Files in temporary directories"
3904
  msgstr "Bestanden in tijdelijke mappen"
3905
 
3906
+ #: cerber-settings.php:1190
3907
  msgid "Global Exclusions"
3908
  msgstr "Algemene Uitsluitingen"
3909
 
3910
+ #: cerber-settings.php:1151
3911
  msgid "Ignore files with these extensions"
3912
  msgstr "Bestanden met deze extensies negeren"
3913
 
3923
  msgid "KB/sec"
3924
  msgstr "KB/sec"
3925
 
3926
+ #: cerber-settings.php:1138
3927
  msgid "Keep the WordPress uploads directory clean and secure. Detect injected files with public web access, report them, and remove malicious ones."
3928
  msgstr "Houd de WP uploads-map schoon en veilig. Detecteer tussengevoegde bestanden met internettoegang, rapporteer ze en verwijder de kwaadaardige."
3929
 
3931
  msgid "Local hash not found"
3932
  msgstr "Lokale hash niet gevonden"
3933
 
3934
+ #: cerber-settings.php:1066
3935
  msgid "once a day at"
3936
  msgstr "eenmaal daags om"
3937
 
3938
+ #: cerber-settings.php:1162
3939
  msgid "Prohibited extensions"
3940
  msgstr "Verboden extensies"
3941
 
3942
+ #: cerber-settings.php:1184
3943
  msgid "Recover plugins' files"
3944
  msgstr "Plugin-bestanden herstellen"
3945
 
3946
+ #: cerber-settings.php:1004
3947
  msgid "Scan the sessions directory"
3948
  msgstr "De sessie-map controleren"
3949
 
3950
+ #: cerber-settings.php:1000
3951
  msgid "Scan web server's temporary directories"
3952
  msgstr "Tijdelijke mappen van de webserver controleren"
3953
 
3954
+ #: cerber-scanner.php:3695
3955
  msgid "Scanning server's temporary directories for files"
3956
  msgstr "Tijdelijke mappen van de webserver controleren op bestanden"
3957
 
3958
+ #: cerber-scanner.php:3696
3959
  msgid "Scanning the sessions directory for files"
3960
  msgstr "Sessie-map controleren op bestanden"
3961
 
3962
+ #: cerber-scanner.php:3694
3963
  msgid "Scanning the temporary upload directory for files"
3964
  msgstr "Tijdelijke upload-map controleren op bestanden"
3965
 
3966
+ #: cerber-scanner.php:3693
3967
  msgid "Scanning website directories for files"
3968
  msgstr "Website-mappen controleren op bestanden"
3969
 
3970
+ #: cerber-settings.php:1149
3971
  msgid "Skip files with these extensions"
3972
  msgstr "Bestanden met deze extensies overslaan"
3973
 
3974
+ #: cerber-settings.php:1114
3975
  msgid "These policies are automatically enforced at the end of every scan based on its results. All affected files are moved to the quarantine."
3976
  msgstr "Het beleid wordt automatisch toegepast na elke scan, afhankelijk van de resultaten. Aangetaste bestanden gaan naar de quarantaine."
3977
 
3978
+ #: admin/cerber-dashboard.php:3215
3979
  msgid "This scan report was generated by the previous version of WP Cerber. Please run a new scan to get consistent and accurate results."
3980
  msgstr "Het scan-rapport komt van een eerdere versie van WP Cerber. Scan opnieuw voor een consistent en accuraat resultaat."
3981
 
3982
+ #: cerber-settings.php:1152 cerber-settings.php:1165
3983
  msgid "Use comma to separate multiple extensions"
3984
  msgstr "Scheid extensies met komma's"
3985
 
3986
+ #: cerber-settings.php:1137
3987
  msgid "WordPress uploads analysis"
3988
  msgstr "WordPress uploads analyse"
3989
 
4005
  msgid "Medium"
4006
  msgstr "Midden"
4007
 
4008
+ #: cerber-load.php:4661
4009
  msgid "If you believe you should be able to perform this request, please let us know."
4010
  msgstr "Meen je dit verzoek te moeten kunnen uitvoeren, laat het ons weten."
4011
 
4012
+ #: cerber-load.php:4660
4013
  msgid "Your request looks suspiciously similar to automated requests from spam posting software or it has been denied by a security policy configured by the website administrator."
4014
  msgstr "Je verzoek lijkt te veel op een geautomatiseerd verzoek van spam-software óf is geweigerd door een beveiligingsinstelling van de beheerder."
4015
 
4016
+ #: cerber-settings.php:1290
4017
+ msgid "Disable bot detection engine for IP addresses in the White IP Access List"
4018
+ msgstr ""
4019
+
4020
+ #: cerber-settings.php:1382
4021
+ msgid "Disable reCAPTCHA for IP addresses in the White IP Access List"
4022
+ msgstr ""
4023
+
4024
+ #: admin/cerber-admin.php:538
4025
+ msgid "Executable files are not supported. Please upload a ZIP archive."
4026
+ msgstr ""
4027
+
4028
+ #: cerber-load.php:743
4029
+ msgid "Human verification failed."
4030
+ msgstr ""
4031
+
4032
+ #: cerber-common.php:1685
4033
+ msgid "Logged out everywhere"
4034
+ msgstr ""
4035
+
4036
+ #: cerber-common.php:1589
4037
+ msgid "Password reset request denied"
4038
+ msgstr ""
4039
+
4040
+ #: cerber-common.php:1687
4041
+ msgid "reCAPTCHA verified"
4042
+ msgstr ""
4043
+
4044
+ #: cerber-load.php:3324
4045
+ msgid "Sorry, password reset is not allowed for this user."
4046
+ msgstr ""
4047
+
4048
+ #: admin/cerber-admin.php:534
4049
+ msgid "This type of file is not supported. Please upload a ZIP archive."
4050
+ msgstr ""
4051
+
4052
+ #: cerber-settings.php:827
4053
+ msgid "Use less restrictive security filters for IP addresses in the White IP Access List"
4054
+ msgstr ""
4055
+
4056
+ #: cerber-common.php:1620
4057
+ msgid "User application password updated"
4058
+ msgstr ""
4059
+
4060
+ #: cerber-common.php:1657
4061
+ msgid "User blocked by administrator"
4062
+ msgstr ""
4063
+
4064
+ #. %s is the name of a website administrator who terminated the session.
4065
+ #: admin/cerber-dashboard.php:1272
4066
+ msgid "User session terminated by %s"
4067
+ msgstr ""
4068
+
4069
+ #: cerber-common.php:1658
4070
+ msgid "Username is prohibited"
4071
+ msgstr ""
4072
+
4073
+ #: cerber-settings.php:475
4074
+ msgid "View all REST API requests"
4075
+ msgstr ""
4076
+
4077
+ #: cerber-settings.php:475
4078
+ msgid "View denied REST API requests"
4079
+ msgstr ""
4080
+
languages/wp-cerber.pot CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: WP Cerber Security, Anti-spam & Malware Scan\n"
6
  "Report-Msgid-Bugs-To: \n"
7
- "POT-Creation-Date: 2021-08-16 17:16+0000\n"
8
  "POT-Revision-Date: Fri Mar 12 2021 20:21:05 GMT+0300 (Moscow Standard Time)\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10
  "Last-Translator: \n"
@@ -35,20 +35,20 @@ msgid "%s retries are allowed within %s minutes"
35
  msgstr ""
36
 
37
  #. Time difference between two dates, in seconds (sec=second). 1: Number of seconds
38
- #: cerber-common.php:1892
39
  #, php-format
40
  msgid "%s sec"
41
  msgid_plural "%s secs"
42
  msgstr[0] ""
43
  msgstr[1] ""
44
 
45
- #: cerber-settings.php:1330
46
  msgid ""
47
  "(do not enable it unless you get and enter the Site and Secret keys for the "
48
  "invisible version)"
49
  msgstr ""
50
 
51
- #: cerber-common.php:1643
52
  msgid "2FA code verified"
53
  msgstr ""
54
 
@@ -60,24 +60,24 @@ msgstr ""
60
  msgid "A database error occurred while importing access list entries"
61
  msgstr ""
62
 
63
- #: cerber-load.php:4678 cerber-load.php:4679
64
  msgid "A new activity has been recorded"
65
  msgstr ""
66
 
67
- #: admin/cerber-dashboard.php:2122
68
  msgid "A new version is available"
69
  msgstr ""
70
 
71
- #: cerber-common.php:2125
72
  #, php-format
73
  msgid "A new version of %s is available. Please install it."
74
  msgstr ""
75
 
76
- #: cerber-load.php:4638 cerber-load.php:4640
77
  msgid "A new version of WP Cerber is available to install"
78
  msgstr ""
79
 
80
- #: nexus/cerber-nexus-master.php:1396
81
  msgid "A newer version is available"
82
  msgstr ""
83
 
@@ -87,16 +87,16 @@ msgid ""
87
  "posts"
88
  msgstr ""
89
 
90
- #: admin/cerber-dashboard.php:1711
91
  msgid "Abuse email:"
92
  msgstr ""
93
 
94
- #: admin/cerber-dashboard.php:5138 admin/cerber-tools.php:38
95
  #: admin/cerber-tools.php:49
96
  msgid "Access Lists"
97
  msgstr ""
98
 
99
- #: cerber-settings.php:1432
100
  msgid "Access to this website"
101
  msgstr ""
102
 
@@ -104,45 +104,45 @@ msgstr ""
104
  msgid "Access to WordPress REST API"
105
  msgstr ""
106
 
107
- #: admin/cerber-dashboard.php:5222
108
  msgid "Accounts & Roles"
109
  msgstr ""
110
 
111
- #: admin/cerber-dashboard.php:217 admin/cerber-users.php:928
112
- #: admin/cerber-admin.php:775 admin/cerber-admin.php:930
113
  msgid "Action"
114
  msgstr ""
115
 
116
- #: admin/cerber-dashboard.php:1880
117
  msgid "Activated"
118
  msgstr ""
119
 
120
- #: admin/cerber-dashboard.php:2053 admin/cerber-dashboard.php:2083
121
  msgid "active"
122
  msgstr ""
123
 
124
- #: nexus/cerber-nexus-master.php:1418 nexus/cerber-nexus-master.php:1426
125
  msgid "Active plugins and updates on"
126
  msgstr ""
127
 
128
- #: admin/cerber-dashboard.php:1903
129
  msgid "Active sessions"
130
  msgstr ""
131
 
132
- #: cerber-load.php:5394 cerber-settings.php:317 admin/cerber-dashboard.php:2117
133
- #: admin/cerber-dashboard.php:5134 admin/cerber-users.php:1114
134
  msgid "Activity"
135
  msgstr ""
136
 
137
- #: cerber-load.php:4832
138
  msgid "Activity details"
139
  msgstr ""
140
 
141
- #: admin/cerber-admin.php:890
142
  msgid "Activity Insights"
143
  msgstr ""
144
 
145
- #: cerber-settings.php:1398
146
  msgid "Add @ site to the page title"
147
  msgstr ""
148
 
@@ -154,15 +154,15 @@ msgstr ""
154
  msgid "Add a slave website"
155
  msgstr ""
156
 
157
- #: admin/cerber-dashboard.php:343
158
  msgid "Add Entry"
159
  msgstr ""
160
 
161
- #: admin/cerber-dashboard.php:1739
162
  msgid "Add IP to the Black List"
163
  msgstr ""
164
 
165
- #: admin/cerber-dashboard.php:1733
166
  msgid "Add network to the Black List"
167
  msgstr ""
168
 
@@ -175,11 +175,11 @@ msgstr ""
175
  msgid "Add-ons"
176
  msgstr ""
177
 
178
- #: admin/cerber-admin.php:926
179
  msgid "Added"
180
  msgstr ""
181
 
182
- #: admin/cerber-dashboard.php:946
183
  msgid "Additional Details"
184
  msgstr ""
185
 
@@ -187,7 +187,7 @@ msgstr ""
187
  msgid "Address"
188
  msgstr ""
189
 
190
- #: cerber-settings.php:1274
191
  msgid "Adjust anti-spam engine"
192
  msgstr ""
193
 
@@ -199,11 +199,11 @@ msgstr ""
199
  msgid "Advanced mode"
200
  msgstr ""
201
 
202
- #: admin/cerber-dashboard.php:4451
203
  msgid "Advanced Search"
204
  msgstr ""
205
 
206
- #: cerber-settings.php:1087
207
  msgid "After every scan"
208
  msgstr ""
209
 
@@ -215,11 +215,11 @@ msgstr ""
215
  msgid "All countries"
216
  msgstr ""
217
 
218
- #: cerber-settings.php:986 cerber-settings.php:995
219
  msgid "All files"
220
  msgstr ""
221
 
222
- #: admin/cerber-dashboard.php:3208
223
  msgid "All files have been processed"
224
  msgstr ""
225
 
@@ -231,7 +231,7 @@ msgstr ""
231
  msgid "All Logins"
232
  msgstr ""
233
 
234
- #: admin/cerber-admin.php:785
235
  msgid "All scans"
236
  msgstr ""
237
 
@@ -239,7 +239,7 @@ msgstr ""
239
  msgid "All servers"
240
  msgstr ""
241
 
242
- #: cerber-settings.php:874
243
  msgid "All traffic"
244
  msgstr ""
245
 
@@ -255,7 +255,7 @@ msgstr ""
255
  msgid "Allow these namespaces"
256
  msgstr ""
257
 
258
- #: cerber-lab.php:891
259
  msgid ""
260
  "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. "
261
  "This helps the plugin team to develop new algorithms for WP Cerber that will "
@@ -275,43 +275,43 @@ msgstr ""
275
  msgid "An optional message for this user"
276
  msgstr ""
277
 
278
- #: admin/cerber-dashboard.php:5273
279
  msgid "Analytics"
280
  msgstr ""
281
 
282
- #: cerber-settings.php:1142
283
  msgid "Analyze the uploads directory"
284
  msgstr ""
285
 
286
- #: cerber-settings.php:1143
287
  msgid "Analyze the WordPress uploads directory to detect injected files"
288
  msgstr ""
289
 
290
- #: cerber-settings.php:1364 admin/cerber-dashboard.php:77
291
  msgid "Anti-spam"
292
  msgstr ""
293
 
294
- #: admin/cerber-dashboard.php:5184
295
  msgid "Anti-spam and bot detection settings"
296
  msgstr ""
297
 
298
- #: admin/cerber-dashboard.php:5186
299
  msgid "Anti-spam engine"
300
  msgstr ""
301
 
302
- #: cerber-settings.php:1528
303
  msgid "Any activity"
304
  msgstr ""
305
 
306
- #: admin/cerber-dashboard.php:3652
307
  msgid "Any country is permitted"
308
  msgstr ""
309
 
310
- #: cerber-common.php:1611
311
  msgid "API request authorization failed"
312
  msgstr ""
313
 
314
- #: cerber-common.php:1610
315
  msgid "API request authorized"
316
  msgstr ""
317
 
@@ -320,7 +320,7 @@ msgid "Application Passwords"
320
  msgstr ""
321
 
322
  #. For translators
323
- #: admin/cerber-admin.php:886
324
  msgid "Apply"
325
  msgstr ""
326
 
@@ -328,7 +328,7 @@ msgstr ""
328
  msgid "Apply limit login rules to IP addresses in the White IP Access List"
329
  msgstr ""
330
 
331
- #: admin/cerber-dashboard.php:3200
332
  msgid "Are you sure you want to delete selected files?"
333
  msgstr ""
334
 
@@ -336,8 +336,8 @@ msgstr ""
336
  msgid "Are you sure you want to delete selected websites?"
337
  msgstr ""
338
 
339
- #: admin/cerber-dashboard.php:5630 admin/cerber-tools.php:59
340
- #: admin/cerber-admin.php:739 admin/cerber-admin.php:906
341
  msgid "Are you sure?"
342
  msgstr ""
343
 
@@ -345,43 +345,43 @@ msgstr ""
345
  msgid "Are you sure? This permanently invalidates the token."
346
  msgstr ""
347
 
348
- #: cerber-common.php:1727
349
  msgid "Attempt to access"
350
  msgstr ""
351
 
352
- #: cerber-common.php:1586 cerber-common.php:1728
353
  msgid "Attempt to access prohibited URL"
354
  msgstr ""
355
 
356
- #: cerber-common.php:1591
357
  msgid "Attempt to log in denied"
358
  msgstr ""
359
 
360
- #: cerber-common.php:1587 cerber-common.php:1729
361
  msgid "Attempt to log in with non-existing username"
362
  msgstr ""
363
 
364
- #: cerber-common.php:1588 cerber-common.php:1730
365
  msgid "Attempt to log in with prohibited username"
366
  msgstr ""
367
 
368
- #: cerber-common.php:1592
369
  msgid "Attempt to register denied"
370
  msgstr ""
371
 
372
- #: cerber-common.php:1736
373
  msgid "Attempt to upload a file with malicious code"
374
  msgstr ""
375
 
376
- #: cerber-common.php:1594
377
  msgid "Attempt to upload malicious file denied"
378
  msgstr ""
379
 
380
- #: cerber-load.php:4846
381
  msgid "Attempts to log in with non-existing usernames"
382
  msgstr ""
383
 
384
- #: admin/cerber-dashboard.php:2843
385
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
386
  msgstr ""
387
 
@@ -389,11 +389,11 @@ msgstr ""
389
  msgid "Attention! You have changed the login URL! The new login URL is"
390
  msgstr ""
391
 
392
- #: admin/cerber-admin.php:1500
393
  msgid "Authorization Failed"
394
  msgstr ""
395
 
396
- #: admin/cerber-admin.php:1499
397
  msgid "Authorized"
398
  msgstr ""
399
 
@@ -405,19 +405,19 @@ msgstr ""
405
  msgid "Authorized users only"
406
  msgstr ""
407
 
408
- #: cerber-settings.php:1053
409
  msgid "Automated recurring scan schedule"
410
  msgstr ""
411
 
412
- #: cerber-settings.php:1112
413
  msgid "Automatic cleanup of malware and suspicious files"
414
  msgstr ""
415
 
416
- #: admin/cerber-admin.php:772
417
  msgid "Automatic deletion"
418
  msgstr ""
419
 
420
- #: cerber-settings.php:1176
421
  msgid "Automatic recovery of modified and infected files"
422
  msgstr ""
423
 
@@ -433,15 +433,15 @@ msgstr ""
433
  msgid "Automatically recovered"
434
  msgstr ""
435
 
436
- #: admin/cerber-admin.php:1215
437
  msgid "Average Size"
438
  msgstr ""
439
 
440
- #: cerber-load.php:7760
441
  msgid "Awesome!"
442
  msgstr ""
443
 
444
- #: admin/cerber-admin.php:1004
445
  msgid "Back to list"
446
  msgstr ""
447
 
@@ -449,14 +449,14 @@ msgstr ""
449
  msgid "Be careful about enabling these options."
450
  msgstr ""
451
 
452
- #: cerber-settings.php:1317
453
  msgid ""
454
  "Before you can start using reCAPTCHA, you have to obtain Site key and Secret "
455
  "key on the Google website"
456
  msgstr ""
457
 
458
- #: admin/cerber-dashboard.php:279 admin/cerber-dashboard.php:1591
459
- #: admin/cerber-dashboard.php:1675 admin/cerber-dashboard.php:2075
460
  #: admin/cerber-tools.php:70
461
  msgid "Black IP Access List"
462
  msgstr ""
@@ -501,7 +501,7 @@ msgstr ""
501
  msgid "Block IP address for"
502
  msgstr ""
503
 
504
- #: cerber-settings.php:844
505
  msgid ""
506
  "Block IP addresses that send excessive requests for non-existing pages or "
507
  "scan website for security breaches"
@@ -523,11 +523,11 @@ msgstr ""
523
  msgid "Block user"
524
  msgstr ""
525
 
526
- #: cerber-common.php:1641
527
  msgid "Blocked by administrator"
528
  msgstr ""
529
 
530
- #: cerber-common.php:1631
531
  msgid "Blocked by country rule"
532
  msgstr ""
533
 
@@ -535,15 +535,15 @@ msgstr ""
535
  msgid "Blocked Users"
536
  msgstr ""
537
 
538
- #: cerber-common.php:1732
539
  msgid "Bot activity is detected"
540
  msgstr ""
541
 
542
- #: cerber-common.php:1625
543
  msgid "Bot detected"
544
  msgstr ""
545
 
546
- #: admin/cerber-admin.php:1064
547
  msgid "Brief summary"
548
  msgstr ""
549
 
@@ -555,7 +555,7 @@ msgstr ""
555
  msgid "by date of registration"
556
  msgstr ""
557
 
558
- #: cerber-load.php:7740
559
  msgid ""
560
  "By sharing your unique opinion on WP Cerber, you help the engineers behind "
561
  "the plugin make greater progress and help other professionals find the right "
@@ -563,23 +563,23 @@ msgid ""
563
  "free to use your native language. Thanks!"
564
  msgstr ""
565
 
566
- #: cerber-load.php:4654
567
  msgid "By user"
568
  msgstr ""
569
 
570
- #: cerber-common.php:2019
571
  msgid "Bytes"
572
  msgstr ""
573
 
574
- #: cerber-load.php:5681
575
  msgid "Can't activate WP Cerber due to a database error."
576
  msgstr ""
577
 
578
- #: cerber-2fa.php:663
579
  msgid "Cancel"
580
  msgstr ""
581
 
582
- #: cerber-settings.php:1221
583
  msgid "Cerber anti-spam engine"
584
  msgstr ""
585
 
@@ -603,7 +603,7 @@ msgstr ""
603
  msgid "Cerber Lab protocol"
604
  msgstr ""
605
 
606
- #: admin/cerber-dashboard.php:2014
607
  msgid "Cerber Quick View"
608
  msgstr ""
609
 
@@ -627,11 +627,11 @@ msgstr ""
627
  msgid "Cerber User Security"
628
  msgstr ""
629
 
630
- #: cerber-settings.php:1036
631
  msgid "Change file and directory permissions if it is required to delete files"
632
  msgstr ""
633
 
634
- #: cerber-settings.php:1035
635
  msgid "Change filesystem permissions"
636
  msgstr ""
637
 
@@ -639,16 +639,16 @@ msgstr ""
639
  msgid "Changed files"
640
  msgstr ""
641
 
642
- #: admin/cerber-dashboard.php:5325
643
  msgid "Changelog"
644
  msgstr ""
645
 
646
- #: admin/cerber-dashboard.php:326 admin/cerber-dashboard.php:1661
647
- #: admin/cerber-dashboard.php:1718 admin/cerber-dashboard.php:1849
648
  msgid "Check for activities"
649
  msgstr ""
650
 
651
- #: cerber-common.php:225 admin/cerber-dashboard.php:1374
652
  msgid "Check for requests"
653
  msgstr ""
654
 
@@ -660,40 +660,40 @@ msgstr ""
660
  msgid "Checksum mismatch"
661
  msgstr ""
662
 
663
- #: cerber-common.php:1565
664
  msgid "Citadel activated!"
665
  msgstr ""
666
 
667
- #: cerber-settings.php:284 admin/cerber-dashboard.php:2076
668
  msgid "Citadel mode"
669
  msgstr ""
670
 
671
- #: cerber-load.php:4598
672
  msgid "Citadel mode is activated"
673
  msgstr ""
674
 
675
- #: cerber-load.php:4600
676
  #, php-format
677
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
678
  msgstr ""
679
 
680
- #: cerber-common.php:1626
681
  msgid "Citadel mode is active"
682
  msgstr ""
683
 
684
- #: admin/cerber-dashboard.php:5270
685
  msgid "Cleaning up"
686
  msgstr ""
687
 
688
- #: admin/cerber-admin.php:731
689
  msgid "Click here to see the full list of files"
690
  msgstr ""
691
 
692
- #: admin/cerber-dashboard.php:3735
693
  msgid "Click on a country name to add it to the list of selected countries"
694
  msgstr ""
695
 
696
- #: admin/cerber-dashboard.php:226
697
  msgid "Click the IP address to see its activity"
698
  msgstr ""
699
 
@@ -709,19 +709,19 @@ msgstr ""
709
  msgid "Click to send test"
710
  msgstr ""
711
 
712
- #: cerber-common.php:1569
713
  msgid "Comment denied"
714
  msgstr ""
715
 
716
- #: cerber-settings.php:1231
717
  msgid "Comment form"
718
  msgstr ""
719
 
720
- #: cerber-settings.php:1298
721
  msgid "Comment processing"
722
  msgstr ""
723
 
724
- #: admin/cerber-dashboard.php:1944
725
  msgid "Comments"
726
  msgstr ""
727
 
@@ -733,7 +733,7 @@ msgstr ""
733
  msgid "Configure this website as a master to manage other website"
734
  msgstr ""
735
 
736
- #: cerber-settings.php:1071
737
  msgid ""
738
  "Configure what issues to include in the email report and the condition for "
739
  "sending reports"
@@ -751,15 +751,15 @@ msgstr ""
751
  msgid "Cookies"
752
  msgstr ""
753
 
754
- #: admin/cerber-dashboard.php:5252
755
  msgid "Countries"
756
  msgstr ""
757
 
758
- #: admin/cerber-dashboard.php:214 admin/cerber-dashboard.php:1328
759
  msgid "Country"
760
  msgstr ""
761
 
762
- #: admin/cerber-dashboard.php:2939
763
  msgid "Create Alert"
764
  msgstr ""
765
 
@@ -776,7 +776,7 @@ msgid ""
776
  "Currently a scheduled scan in progress. Please wait until it is finished."
777
  msgstr ""
778
 
779
- #: cerber-settings.php:1236
780
  msgid "Custom comment URL"
781
  msgstr ""
782
 
@@ -798,12 +798,12 @@ msgstr ""
798
  msgid "Custom signature found"
799
  msgstr ""
800
 
801
- #: cerber-settings.php:1016
802
  msgid "Custom signatures"
803
  msgstr ""
804
 
805
- #: admin/cerber-dashboard.php:60 admin/cerber-dashboard.php:2116
806
- #: admin/cerber-dashboard.php:3053 admin/cerber-dashboard.php:5133
807
  msgid "Dashboard"
808
  msgstr ""
809
 
@@ -811,12 +811,12 @@ msgstr ""
811
  msgid "Data Shield"
812
  msgstr ""
813
 
814
- #: admin/cerber-dashboard.php:5220
815
  msgid "Data Shield Policies"
816
  msgstr ""
817
 
818
- #: admin/cerber-dashboard.php:944 admin/cerber-dashboard.php:1329
819
- #: admin/cerber-dashboard.php:3912 admin/cerber-dashboard.php:4399
820
  msgid "Date"
821
  msgstr ""
822
 
@@ -828,16 +828,16 @@ msgstr ""
828
  msgid "Date format for CSV export"
829
  msgstr ""
830
 
831
- #: cerber-settings.php:321 cerber-settings.php:327 cerber-settings.php:962
832
- #: cerber-settings.php:968 cerber-settings.php:1047 cerber-settings.php:1310
833
  msgid "days"
834
  msgstr ""
835
 
836
- #: admin/cerber-dashboard.php:2844
837
  msgid "Deactivate"
838
  msgstr ""
839
 
840
- #: admin/cerber-dashboard.php:2053
841
  msgid "deactivate"
842
  msgstr ""
843
 
@@ -845,7 +845,7 @@ msgstr ""
845
  msgid "Default processing"
846
  msgstr ""
847
 
848
- #: admin/cerber-dashboard.php:738
849
  msgid "Default settings have been loaded"
850
  msgstr ""
851
 
@@ -870,31 +870,31 @@ msgstr ""
870
  msgid "Delete"
871
  msgstr ""
872
 
873
- #: admin/cerber-dashboard.php:2943
874
  msgid "Delete Alert"
875
  msgstr ""
876
 
877
- #: cerber-settings.php:1121
878
  msgid "Delete files in the WordPress uploads directory"
879
  msgstr ""
880
 
881
- #: cerber-settings.php:1130
882
  msgid "Delete files with unwanted extensions"
883
  msgstr ""
884
 
885
- #: admin/cerber-admin.php:749
886
  msgid "Delete permanently"
887
  msgstr ""
888
 
889
- #: cerber-settings.php:1163
890
  msgid "Delete publicly accessible files with these extensions"
891
  msgstr ""
892
 
893
- #: cerber-settings.php:1045
894
  msgid "Delete quarantined files after"
895
  msgstr ""
896
 
897
- #: cerber-settings.php:1117
898
  msgid "Delete unattended files"
899
  msgstr ""
900
 
@@ -910,7 +910,7 @@ msgstr ""
910
  msgid "Deleted"
911
  msgstr ""
912
 
913
- #: cerber-common.php:1634
914
  msgid "Denied"
915
  msgstr ""
916
 
@@ -926,11 +926,11 @@ msgstr ""
926
  msgid "Deny further login attempts"
927
  msgstr ""
928
 
929
- #: cerber-settings.php:1304
930
  msgid "Deny it completely"
931
  msgstr ""
932
 
933
- #: cerber-common.php:3079
934
  msgid "Destination folder access denied"
935
  msgstr ""
936
 
@@ -942,20 +942,20 @@ msgstr ""
942
  msgid "Determined by user role policies"
943
  msgstr ""
944
 
945
- #: admin/cerber-dashboard.php:5323
946
  msgid "Diagnostic"
947
  msgstr ""
948
 
949
- #: cerber-settings.php:1041 cerber-settings.php:1416 cerber-settings.php:1444
950
- #: admin/cerber-dashboard.php:5324
951
  msgid "Diagnostic Log"
952
  msgstr ""
953
 
954
- #: cerber-2fa.php:664
955
  msgid "Did not receive the email?"
956
  msgstr ""
957
 
958
- #: cerber-settings.php:1023
959
  msgid "Directories to exclude"
960
  msgstr ""
961
 
@@ -965,7 +965,12 @@ msgid ""
965
  "by an unauthorized request"
966
  msgstr ""
967
 
968
- #: cerber-settings.php:1284
 
 
 
 
 
969
  msgid "Disable bot detection engine for logged-in users"
970
  msgstr ""
971
 
@@ -989,7 +994,11 @@ msgstr ""
989
  msgid "Disable PHP in uploads"
990
  msgstr ""
991
 
992
- #: cerber-settings.php:1370
 
 
 
 
993
  msgid "Disable reCAPTCHA for logged-in users"
994
  msgstr ""
995
 
@@ -1014,14 +1023,14 @@ msgid "Disable XML-RPC"
1014
  msgstr ""
1015
 
1016
  #: cerber-scanner.php:1717 cerber-settings.php:678 cerber-settings.php:820
1017
- #: cerber-settings.php:850 cerber-settings.php:984 cerber-settings.php:993
1018
- #: cerber-settings.php:1437 admin/cerber-dashboard.php:2103
1019
- #: admin/cerber-dashboard.php:2105 admin/cerber-users.php:20
1020
  #: admin/cerber-users.php:474 admin/cerber-users.php:488
1021
  msgid "Disabled"
1022
  msgstr ""
1023
 
1024
- #: admin/cerber-dashboard.php:2060 admin/cerber-dashboard.php:2078
1025
  msgid "disabled"
1026
  msgstr ""
1027
 
@@ -1058,15 +1067,15 @@ msgid ""
1058
  "Do not apply these policy to the IP addresses in the White IP Access List"
1059
  msgstr ""
1060
 
1061
- #: cerber-settings.php:888
1062
  msgid "Do not log known crawlers"
1063
  msgstr ""
1064
 
1065
- #: cerber-settings.php:893
1066
  msgid "Do not log these locations"
1067
  msgstr ""
1068
 
1069
- #: cerber-settings.php:901
1070
  msgid "Do not log these User-Agents"
1071
  msgstr ""
1072
 
@@ -1086,7 +1095,7 @@ msgstr ""
1086
  msgid "Do not show PHP errors on my website"
1087
  msgstr ""
1088
 
1089
- #: admin/cerber-dashboard.php:3204
1090
  msgid "Do you want to add selected files to the ignore list?"
1091
  msgstr ""
1092
 
@@ -1108,19 +1117,19 @@ msgstr ""
1108
  msgid "Edit"
1109
  msgstr ""
1110
 
1111
- #: cerber-settings.php:753 cerber-settings.php:800 cerber-settings.php:1101
1112
  msgid "Email Address"
1113
  msgstr ""
1114
 
1115
- #: cerber-load.php:1826
1116
  msgid "Email address is not permitted."
1117
  msgstr ""
1118
 
1119
- #: cerber-common.php:1647
1120
  msgid "Email address is prohibited"
1121
  msgstr ""
1122
 
1123
- #: admin/cerber-dashboard.php:669
1124
  msgid "Email has been sent to"
1125
  msgstr ""
1126
 
@@ -1145,15 +1154,15 @@ msgstr ""
1145
  msgid "Enable data export"
1146
  msgstr ""
1147
 
1148
- #: cerber-settings.php:1040 cerber-settings.php:1415 cerber-settings.php:1443
1149
  msgid "Enable diagnostic logging"
1150
  msgstr ""
1151
 
1152
- #: cerber-settings.php:847
1153
  msgid "Enable error shielding"
1154
  msgstr ""
1155
 
1156
- #: cerber-settings.php:1330
1157
  msgid "Enable invisible reCAPTCHA"
1158
  msgstr ""
1159
 
@@ -1161,37 +1170,37 @@ msgstr ""
1161
  msgid "Enable master mode"
1162
  msgstr ""
1163
 
1164
- #: cerber-settings.php:864
1165
  msgid ""
1166
  "Enable optional traffic logging if you need to monitor suspicious and "
1167
  "malicious activity or solve security issues"
1168
  msgstr ""
1169
 
1170
- #: cerber-settings.php:1360
1171
  msgid "Enable reCAPTCHA for WooCommerce login form"
1172
  msgstr ""
1173
 
1174
- #: cerber-settings.php:1350
1175
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
1176
  msgstr ""
1177
 
1178
- #: cerber-settings.php:1340
1179
  msgid "Enable reCAPTCHA for WooCommerce registration form"
1180
  msgstr ""
1181
 
1182
- #: cerber-settings.php:1365
1183
  msgid "Enable reCAPTCHA for WordPress comment form"
1184
  msgstr ""
1185
 
1186
- #: cerber-settings.php:1355
1187
  msgid "Enable reCAPTCHA for WordPress login form"
1188
  msgstr ""
1189
 
1190
- #: cerber-settings.php:1345
1191
  msgid "Enable reCAPTCHA for WordPress lost password form"
1192
  msgstr ""
1193
 
1194
- #: cerber-settings.php:1335
1195
  msgid "Enable reCAPTCHA for WordPress registration form"
1196
  msgstr ""
1197
 
@@ -1207,7 +1216,7 @@ msgstr ""
1207
  msgid "Enable traffic inspection"
1208
  msgstr ""
1209
 
1210
- #: admin/cerber-dashboard.php:2078
1211
  msgid "enabled"
1212
  msgstr ""
1213
 
@@ -1228,30 +1237,30 @@ msgstr ""
1228
  msgid "Enforce two-factor authentication with fixed intervals"
1229
  msgstr ""
1230
 
1231
- #: cerber-settings.php:1289
1232
  msgid ""
1233
  "Enter a part of query string or query path to exclude a request from "
1234
  "inspection by the engine. One item per line."
1235
  msgstr ""
1236
 
1237
- #: cerber-settings.php:835
1238
  msgid ""
1239
  "Enter a request URI to exclude the request from inspection. One item per "
1240
  "line."
1241
  msgstr ""
1242
 
1243
- #: cerber-2fa.php:660
1244
  msgid "Enter the code from the email in the field below."
1245
  msgstr ""
1246
 
1247
- #: admin/cerber-dashboard.php:2074 admin/cerber-dashboard.php:2075
1248
- #: admin/cerber-dashboard.php:3031
1249
  msgid "entry"
1250
  msgid_plural "entries"
1251
  msgstr[0] ""
1252
  msgstr[1] ""
1253
 
1254
- #: cerber-settings.php:842
1255
  msgid "Erroneous Request Shielding"
1256
  msgstr ""
1257
 
@@ -1259,13 +1268,13 @@ msgstr ""
1259
  msgid "Error while parsing file"
1260
  msgstr ""
1261
 
1262
- #: cerber-load.php:662 cerber-load.php:674 cerber-load.php:681
1263
- #: cerber-load.php:1020 cerber-load.php:1842 cerber-load.php:2010
1264
- #: cerber-load.php:2189 cerber-common.php:380 cerber-common.php:479
1265
- #: cerber-common.php:484 cerber-common.php:490 cerber-common.php:494
1266
- #: nexus/cerber-nexus-slave.php:204 nexus/cerber-nexus-slave.php:215
1267
  #: admin/cerber-admin-settings.php:649 admin/cerber-admin-settings.php:669
1268
- #: admin/cerber-admin-settings.php:776 admin/cerber-admin.php:876
1269
  msgid "ERROR:"
1270
  msgstr ""
1271
 
@@ -1274,11 +1283,11 @@ msgstr ""
1274
  msgid "Error: file %s cannot be used."
1275
  msgstr ""
1276
 
1277
- #: admin/cerber-dashboard.php:4434
1278
  msgid "Errors"
1279
  msgstr ""
1280
 
1281
- #: admin/cerber-dashboard.php:945 admin/cerber-dashboard.php:1330
1282
  msgid "Event"
1283
  msgstr ""
1284
 
@@ -1294,7 +1303,7 @@ msgstr ""
1294
  msgid "Every hour"
1295
  msgstr ""
1296
 
1297
- #: admin/cerber-dashboard.php:2100
1298
  msgctxt "Example: Last malware scan: 23 Jan 2018"
1299
  msgid "Last malware scan"
1300
  msgstr ""
@@ -1303,27 +1312,27 @@ msgstr ""
1303
  msgid "Executable code found"
1304
  msgstr ""
1305
 
1306
- #: cerber-common.php:1658
1307
  msgid "Executable file extension detected"
1308
  msgstr ""
1309
 
1310
- #: cerber-settings.php:985 cerber-settings.php:994
1311
  msgid "Executable files"
1312
  msgstr ""
1313
 
1314
- #: admin/cerber-admin.php:539
1315
  msgid "Executable files are not supported. Please upload a ZIP archive."
1316
  msgstr ""
1317
 
1318
- #: admin/cerber-dashboard.php:215 admin/cerber-users.php:925
1319
  msgid "Expires"
1320
  msgstr ""
1321
 
1322
- #: cerber-2fa.php:579
1323
  msgid "expires"
1324
  msgstr ""
1325
 
1326
- #: admin/cerber-dashboard.php:1361 admin/cerber-dashboard.php:4458
1327
  msgid "Export"
1328
  msgstr ""
1329
 
@@ -1331,23 +1340,23 @@ msgstr ""
1331
  msgid "Export settings to the file"
1332
  msgstr ""
1333
 
1334
- #: admin/cerber-admin.php:1210
1335
  msgid "Extension"
1336
  msgstr ""
1337
 
1338
- #: admin/cerber-dashboard.php:2066
1339
  msgid "failed attempts"
1340
  msgstr ""
1341
 
1342
- #: admin/cerber-dashboard.php:1946
1343
  msgid "Failed login attempts"
1344
  msgstr ""
1345
 
1346
- #: admin/cerber-admin.php:774 admin/cerber-admin.php:929
1347
  msgid "File"
1348
  msgstr ""
1349
 
1350
- #: admin/cerber-admin.php:361
1351
  msgid ""
1352
  "File access error. Possibly scan results are outdated. Please run Quick or "
1353
  "Full Scan."
@@ -1357,7 +1366,7 @@ msgstr ""
1357
  msgid "File deleted"
1358
  msgstr ""
1359
 
1360
- #: admin/cerber-admin.php:1207
1361
  msgid "File extensions statistics"
1362
  msgstr ""
1363
 
@@ -1365,11 +1374,11 @@ msgstr ""
1365
  msgid "File is missing"
1366
  msgstr ""
1367
 
1368
- #: admin/cerber-admin.php:1392
1369
  msgid "File Name"
1370
  msgstr ""
1371
 
1372
- #: cerber-common.php:3082
1373
  msgid "File not found"
1374
  msgstr ""
1375
 
@@ -1377,27 +1386,27 @@ msgstr ""
1377
  msgid "File recovered"
1378
  msgstr ""
1379
 
1380
- #: cerber-common.php:1595
1381
  msgid "File upload denied"
1382
  msgstr ""
1383
 
1384
- #: cerber-common.php:1659
1385
  msgid "Filename is prohibited"
1386
  msgstr ""
1387
 
1388
- #: admin/cerber-admin.php:1117 admin/cerber-admin.php:1211
1389
  msgid "Files"
1390
  msgstr ""
1391
 
1392
- #: cerber-settings.php:1209
1393
  msgid "Files in temporary directories"
1394
  msgstr ""
1395
 
1396
- #: cerber-settings.php:1213
1397
  msgid "Files in the sessions directory"
1398
  msgstr ""
1399
 
1400
- #: cerber-settings.php:1193
1401
  msgid "Files in these directories"
1402
  msgstr ""
1403
 
@@ -1409,19 +1418,19 @@ msgstr ""
1409
  msgid "Files to scan"
1410
  msgstr ""
1411
 
1412
- #: cerber-settings.php:1200
1413
  msgid "Files with these extensions"
1414
  msgstr ""
1415
 
1416
- #: admin/cerber-admin.php:1003
1417
  msgid "Files without extension"
1418
  msgstr ""
1419
 
1420
- #: admin/cerber-dashboard.php:1397
1421
  msgid "Filter"
1422
  msgstr ""
1423
 
1424
- #: admin/cerber-dashboard.php:1385 admin/cerber-users.php:970
1425
  msgid "Filter by registered user"
1426
  msgstr ""
1427
 
@@ -1437,11 +1446,11 @@ msgstr ""
1437
  msgid "Fixed number of logins"
1438
  msgstr ""
1439
 
1440
- #: admin/cerber-admin.php:1115
1441
  msgid "Folder"
1442
  msgstr ""
1443
 
1444
- #: cerber-common.php:1657
1445
  msgid "Forbidden URL"
1446
  msgstr ""
1447
 
@@ -1449,27 +1458,27 @@ msgstr ""
1449
  msgid "Form fields data"
1450
  msgstr ""
1451
 
1452
- #: cerber-common.php:1568
1453
  msgid "Form submission denied"
1454
  msgstr ""
1455
 
1456
- #: admin/cerber-dashboard.php:4437
1457
  msgid "Form submissions"
1458
  msgstr ""
1459
 
1460
- #: cerber-load.php:4658
1461
  msgid "From country"
1462
  msgstr ""
1463
 
1464
- #: cerber-load.php:4655
1465
  msgid "From IP address"
1466
  msgstr ""
1467
 
1468
- #: cerber-settings.php:1435
1469
  msgid "Full access mode"
1470
  msgstr ""
1471
 
1472
- #: cerber-scanner.php:1032 admin/cerber-dashboard.php:2106
1473
  msgid "Full Scan"
1474
  msgstr ""
1475
 
@@ -1481,15 +1490,15 @@ msgstr ""
1481
  msgid "Get notified instantly with mobile and desktop notifications"
1482
  msgstr ""
1483
 
1484
- #: cerber-load.php:4665 cerber-load.php:5728
1485
  msgid "Getting Started Guide"
1486
  msgstr ""
1487
 
1488
- #: admin/cerber-dashboard.php:5233
1489
  msgid "Global"
1490
  msgstr ""
1491
 
1492
- #: cerber-settings.php:1189
1493
  msgid "Global Exclusions"
1494
  msgstr ""
1495
 
@@ -1501,7 +1510,7 @@ msgstr ""
1501
  msgid "Group"
1502
  msgstr ""
1503
 
1504
- #: admin/cerber-dashboard.php:5139
1505
  msgid "Hardening"
1506
  msgstr ""
1507
 
@@ -1509,15 +1518,15 @@ msgstr ""
1509
  msgid "Hardening WordPress"
1510
  msgstr ""
1511
 
1512
- #: admin/cerber-dashboard.php:5427
1513
  msgid "Help"
1514
  msgstr ""
1515
 
1516
- #: cerber-2fa.php:525
1517
  msgid "Here are the details of the sign-in attempt"
1518
  msgstr ""
1519
 
1520
- #: cerber-load.php:4639
1521
  msgid "Hi!"
1522
  msgstr ""
1523
 
@@ -1529,19 +1538,19 @@ msgstr ""
1529
  msgid "Hide Toolbar when viewing site"
1530
  msgstr ""
1531
 
1532
- #: cerber-settings.php:1080 cerber-settings.php:1126
1533
  msgid "High severity"
1534
  msgstr ""
1535
 
1536
- #: admin/cerber-dashboard.php:4402 admin/cerber-users.php:927
1537
  msgid "Host Info"
1538
  msgstr ""
1539
 
1540
- #: admin/cerber-dashboard.php:213 admin/cerber-dashboard.php:1327
1541
  msgid "Hostname"
1542
  msgstr ""
1543
 
1544
- #: cerber-settings.php:1299
1545
  msgid ""
1546
  "How the plugin processes comments submitted through the standard comment form"
1547
  msgstr ""
@@ -1555,17 +1564,21 @@ msgstr ""
1555
  msgid "https://wpcerber.com"
1556
  msgstr ""
1557
 
1558
- #: cerber-load.php:691
 
 
 
 
1559
  msgid ""
1560
  "Human verification failed. Please click the square box in the reCAPTCHA "
1561
  "block below."
1562
  msgstr ""
1563
 
1564
- #: cerber-settings.php:1302
1565
  msgid "If a spam comment detected"
1566
  msgstr ""
1567
 
1568
- #: cerber-settings.php:1088
1569
  msgid "If any changes in scan results occurred"
1570
  msgstr ""
1571
 
@@ -1574,7 +1587,7 @@ msgstr ""
1574
  msgid "if empty, the default format %s will be used"
1575
  msgstr ""
1576
 
1577
- #: cerber-settings.php:801 cerber-settings.php:1102
1578
  msgid ""
1579
  "if empty, the email addresses from the notification settings will be used"
1580
  msgstr ""
@@ -1584,7 +1597,7 @@ msgstr ""
1584
  msgid "if empty, the website administrator email %s will be used"
1585
  msgstr ""
1586
 
1587
- #: cerber-settings.php:1089
1588
  msgid "If new issues found"
1589
  msgstr ""
1590
 
@@ -1592,13 +1605,13 @@ msgstr ""
1592
  msgid "If the number of concurrent user sessions is greater"
1593
  msgstr ""
1594
 
1595
- #: cerber-load.php:1728
1596
  msgid ""
1597
  "If we have found your account, we have sent the confirmation link to the "
1598
  "email address on the account."
1599
  msgstr ""
1600
 
1601
- #: cerber-load.php:4460
1602
  msgid ""
1603
  "If you believe you should be able to perform this request, please let us "
1604
  "know."
@@ -1618,15 +1631,15 @@ msgstr ""
1618
  msgid "Ignore"
1619
  msgstr ""
1620
 
1621
- #: cerber-settings.php:1150
1622
  msgid "Ignore files with these extensions"
1623
  msgstr ""
1624
 
1625
- #: admin/cerber-dashboard.php:5271
1626
  msgid "Ignore List"
1627
  msgstr ""
1628
 
1629
- #: cerber-settings.php:856
1630
  msgid "Ignore logged-in users"
1631
  msgstr ""
1632
 
@@ -1639,7 +1652,7 @@ msgid ""
1639
  "Immediately block IP when attempting to log in with a non-existing username"
1640
  msgstr ""
1641
 
1642
- #: cerber-load.php:5737
1643
  msgid "Import settings"
1644
  msgstr ""
1645
 
@@ -1651,7 +1664,7 @@ msgstr ""
1651
  msgid "Important note if you have a caching plugin in place"
1652
  msgstr ""
1653
 
1654
- #: admin/cerber-dashboard.php:2066 admin/cerber-dashboard.php:2067
1655
  msgid "in 24 hours"
1656
  msgstr ""
1657
 
@@ -1665,11 +1678,11 @@ msgstr ""
1665
  msgid "Include activity log events"
1666
  msgstr ""
1667
 
1668
- #: cerber-settings.php:1093
1669
  msgid "Include file sizes"
1670
  msgstr ""
1671
 
1672
- #: cerber-settings.php:1097
1673
  msgid "Include scan errors"
1674
  msgstr ""
1675
 
@@ -1677,11 +1690,11 @@ msgstr ""
1677
  msgid "Include traffic log entries"
1678
  msgstr ""
1679
 
1680
- #: admin/cerber-dashboard.php:5476
1681
  msgid "Incorrect IP address or IP range"
1682
  msgstr ""
1683
 
1684
- #: cerber-common.php:1652
1685
  msgid "Incorrect password"
1686
  msgstr ""
1687
 
@@ -1695,7 +1708,7 @@ msgstr ""
1695
  msgid "Initialization Mode"
1696
  msgstr ""
1697
 
1698
- #: cerber-common.php:1644
1699
  msgid "Initiated by the user"
1700
  msgstr ""
1701
 
@@ -1711,7 +1724,7 @@ msgstr ""
1711
  msgid "Install the access token on the master website."
1712
  msgstr ""
1713
 
1714
- #: admin/cerber-dashboard.php:2119
1715
  msgid "Integrity"
1716
  msgstr ""
1717
 
@@ -1719,15 +1732,15 @@ msgstr ""
1719
  msgid "Integrity data not found"
1720
  msgstr ""
1721
 
1722
- #: cerber-common.php:1655
1723
  msgid "Invalid cookies"
1724
  msgstr ""
1725
 
1726
- #: cerber-common.php:1656
1727
  msgid "Invalid cookies cleared"
1728
  msgstr ""
1729
 
1730
- #: cerber-common.php:1617
1731
  msgid "Invalid master credentials"
1732
  msgstr ""
1733
 
@@ -1735,63 +1748,63 @@ msgstr ""
1735
  msgid "Invalid response from the slave website"
1736
  msgstr ""
1737
 
1738
- #: cerber-common.php:1651
1739
  msgid "Invalid user"
1740
  msgstr ""
1741
 
1742
- #: cerber-settings.php:1329
1743
  msgid "Invisible reCAPTCHA"
1744
  msgstr ""
1745
 
1746
- #: cerber-load.php:5403
1747
  msgid "IP"
1748
  msgstr ""
1749
 
1750
- #: admin/cerber-dashboard.php:212 admin/cerber-dashboard.php:943
1751
- #: admin/cerber-dashboard.php:1326 admin/cerber-dashboard.php:4401
1752
  #: admin/cerber-users.php:926
1753
  msgid "IP Address"
1754
  msgstr ""
1755
 
1756
- #: admin/cerber-dashboard.php:3911
1757
  msgid "IP address"
1758
  msgstr ""
1759
 
1760
- #: admin/cerber-dashboard.php:370
1761
  #, php-format
1762
  msgid "IP address %s has been added to Black IP Access List"
1763
  msgstr ""
1764
 
1765
- #: admin/cerber-dashboard.php:373
1766
  #, php-format
1767
  msgid "IP address %s has been added to White IP Access List"
1768
  msgstr ""
1769
 
1770
- #: cerber-common.php:1628
1771
  msgid "IP address is locked out"
1772
  msgstr ""
1773
 
1774
- #: cerber-common.php:1653
1775
  msgid "IP address is not allowed"
1776
  msgstr ""
1777
 
1778
- #: admin/cerber-dashboard.php:342
1779
  msgid "IP address, range, wildcard, or CIDR"
1780
  msgstr ""
1781
 
1782
- #: cerber-common.php:1629
1783
  msgid "IP blacklisted"
1784
  msgstr ""
1785
 
1786
- #: cerber-common.php:1561 admin/cerber-dashboard.php:1088
1787
  msgid "IP blocked"
1788
  msgstr ""
1789
 
1790
- #: cerber-common.php:1562
1791
  msgid "IP subnet blocked"
1792
  msgstr ""
1793
 
1794
- #: cerber-common.php:1662
1795
  msgid "IP whitelisted"
1796
  msgstr ""
1797
 
@@ -1827,60 +1840,60 @@ msgid ""
1827
  "encryption. This may lead to data leakage."
1828
  msgstr ""
1829
 
1830
- #: cerber-settings.php:326 cerber-settings.php:967
1831
  msgid "Keep log records of logged in users for"
1832
  msgstr ""
1833
 
1834
- #: cerber-settings.php:320 cerber-settings.php:961
1835
  msgid "Keep log records of not logged in visitors for"
1836
  msgstr ""
1837
 
1838
- #: cerber-settings.php:1137
1839
  msgid ""
1840
  "Keep the WordPress uploads directory clean and secure. Detect injected files "
1841
  "with public web access, report them, and remove malicious ones."
1842
  msgstr ""
1843
 
1844
- #: cerber-lab.php:894 admin/cerber-admin-settings.php:101
1845
  #: admin/cerber-admin-settings.php:251
1846
  msgid "Know more"
1847
  msgstr ""
1848
 
1849
- #: admin/cerber-dashboard.php:5616
1850
  msgid "Know more about all advantages at"
1851
  msgstr ""
1852
 
1853
- #: admin/cerber-admin.php:1214
1854
  msgid "Largest"
1855
  msgstr ""
1856
 
1857
- #: cerber-load.php:4601
1858
  #, php-format
1859
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
1860
  msgstr ""
1861
 
1862
- #: admin/cerber-dashboard.php:2070
1863
  msgid "Last lockout"
1864
  msgstr ""
1865
 
1866
- #: cerber-load.php:4632
1867
  #, php-format
1868
  msgid "Last lockout was added: %s for IP %s"
1869
  msgstr ""
1870
 
1871
- #: admin/cerber-dashboard.php:1945
1872
  msgid "Last login"
1873
  msgstr ""
1874
 
1875
- #: admin/cerber-dashboard.php:1898
1876
  msgid "Last seen"
1877
  msgstr ""
1878
 
1879
- #: cerber-settings.php:1063
1880
  msgid "Launch Full Scan"
1881
  msgstr ""
1882
 
1883
- #: cerber-settings.php:1058
1884
  msgid "Launch Quick Scan"
1885
  msgstr ""
1886
 
@@ -1888,15 +1901,15 @@ msgstr ""
1888
  msgid "Legacy mode"
1889
  msgstr ""
1890
 
1891
- #: admin/cerber-dashboard.php:5326
1892
  msgid "License"
1893
  msgstr ""
1894
 
1895
- #: cerber-settings.php:1426
1896
  msgid "Limit access by IP address"
1897
  msgstr ""
1898
 
1899
- #: cerber-settings.php:1374
1900
  msgid "Limit attempts"
1901
  msgstr ""
1902
 
@@ -1904,27 +1917,27 @@ msgstr ""
1904
  msgid "Limit login attempts"
1905
  msgstr ""
1906
 
1907
- #: cerber-common.php:1654
1908
  msgid "Limit on concurrent user sessions"
1909
  msgstr ""
1910
 
1911
- #: cerber-common.php:1731
1912
  msgid "Limit on failed reCAPTCHA verifications is reached"
1913
  msgstr ""
1914
 
1915
- #: cerber-common.php:1726
1916
  msgid "Limit on login attempts is reached"
1917
  msgstr ""
1918
 
1919
- #: cerber-common.php:1632
1920
  msgid "Limit reached"
1921
  msgstr ""
1922
 
1923
- #: admin/cerber-dashboard.php:336
1924
  msgid "List is empty"
1925
  msgstr ""
1926
 
1927
- #: admin/cerber-dashboard.php:5206
1928
  msgid "Live Traffic"
1929
  msgstr ""
1930
 
@@ -1948,22 +1961,22 @@ msgstr ""
1948
  msgid "Local hash not found"
1949
  msgstr ""
1950
 
1951
- #: admin/cerber-dashboard.php:947 admin/cerber-dashboard.php:1331
1952
- #: admin/cerber-dashboard.php:4404
1953
  msgid "Local User"
1954
  msgstr ""
1955
 
1956
- #: cerber-settings.php:1375
1957
  #, php-format
1958
  msgid ""
1959
  "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1960
  msgstr ""
1961
 
1962
- #: cerber-common.php:1627 admin/cerber-dashboard.php:1681
1963
  msgid "Locked out"
1964
  msgstr ""
1965
 
1966
- #: admin/cerber-dashboard.php:661
1967
  #, php-format
1968
  msgid "Lockout for %s was removed"
1969
  msgstr ""
@@ -1972,68 +1985,72 @@ msgstr ""
1972
  msgid "Lockout notifications"
1973
  msgstr ""
1974
 
1975
- #: admin/cerber-dashboard.php:5136
1976
  msgid "Lockouts"
1977
  msgstr ""
1978
 
1979
- #: admin/cerber-dashboard.php:2067
1980
  msgid "lockouts"
1981
  msgstr ""
1982
 
1983
- #: admin/cerber-dashboard.php:2069
1984
  msgid "Lockouts at the moment"
1985
  msgstr ""
1986
 
1987
- #: cerber-common.php:324
1988
  msgid "Lockouts occurred"
1989
  msgstr ""
1990
 
1991
- #: cerber-settings.php:878
1992
  msgid "Log all REST API requests"
1993
  msgstr ""
1994
 
1995
- #: cerber-settings.php:883
1996
  msgid "Log all XML-RPC requests"
1997
  msgstr ""
1998
 
1999
- #: admin/cerber-dashboard.php:5651
2000
  msgid "Log In"
2001
  msgstr ""
2002
 
2003
- #: admin/cerber-dashboard.php:3762
2004
  msgid "Log into the website"
2005
  msgstr ""
2006
 
2007
- #: admin/cerber-dashboard.php:5652
2008
  msgid "Log Out"
2009
  msgstr ""
2010
 
2011
- #: cerber-common.php:1556
2012
  msgid "Logged in"
2013
  msgstr ""
2014
 
2015
- #: cerber-common.php:1557
2016
  msgid "Logged out"
2017
  msgstr ""
2018
 
2019
- #: cerber-settings.php:456 cerber-settings.php:1283
2020
- #: admin/cerber-dashboard.php:2072
 
 
 
 
2021
  msgid "Logged-in users"
2022
  msgstr ""
2023
 
2024
- #: cerber-settings.php:871
2025
  msgid "Logging disabled"
2026
  msgstr ""
2027
 
2028
- #: cerber-settings.php:868
2029
  msgid "Logging mode"
2030
  msgstr ""
2031
 
2032
- #: cerber-common.php:1558
2033
  msgid "Login failed"
2034
  msgstr ""
2035
 
2036
- #: cerber-settings.php:1354
2037
  msgid "Login form"
2038
  msgstr ""
2039
 
@@ -2053,7 +2070,7 @@ msgstr ""
2053
  msgid "Login from a different network Class C"
2054
  msgstr ""
2055
 
2056
- #: admin/cerber-dashboard.php:1073
2057
  msgid "Login issues"
2058
  msgstr ""
2059
 
@@ -2061,23 +2078,23 @@ msgstr ""
2061
  msgid "Login Security"
2062
  msgstr ""
2063
 
2064
- #: admin/cerber-dashboard.php:4445
2065
  msgid "Longer than"
2066
  msgstr ""
2067
 
2068
- #: cerber-settings.php:1344
2069
  msgid "Lost password form"
2070
  msgstr ""
2071
 
2072
- #: cerber-settings.php:1078 cerber-settings.php:1124
2073
  msgid "Low severity"
2074
  msgstr ""
2075
 
2076
- #: admin/cerber-dashboard.php:5137
2077
  msgid "Main Settings"
2078
  msgstr ""
2079
 
2080
- #: admin/cerber-dashboard.php:3054
2081
  msgid "Main settings"
2082
  msgstr ""
2083
 
@@ -2085,19 +2102,19 @@ msgstr ""
2085
  msgid "Make your protection smarter!"
2086
  msgstr ""
2087
 
2088
- #: cerber-common.php:318
2089
  msgid "Malicious activities mitigated"
2090
  msgstr ""
2091
 
2092
- #: admin/cerber-dashboard.php:2696
2093
  msgid "Malicious Activity"
2094
  msgstr ""
2095
 
2096
- #: cerber-common.php:1630
2097
  msgid "Malicious activity detected"
2098
  msgstr ""
2099
 
2100
- #: cerber-common.php:1638 cerber-common.php:1735
2101
  msgid "Malicious code detected"
2102
  msgstr ""
2103
 
@@ -2105,11 +2122,11 @@ msgstr ""
2105
  msgid "Malicious code found"
2106
  msgstr ""
2107
 
2108
- #: cerber-common.php:323
2109
  msgid "Malicious IP addresses detected"
2110
  msgstr ""
2111
 
2112
- #: cerber-common.php:1606
2113
  msgid "Malicious request denied"
2114
  msgstr ""
2115
 
@@ -2117,39 +2134,39 @@ msgstr ""
2117
  msgid "Malware Scan"
2118
  msgstr ""
2119
 
2120
- #: admin/cerber-dashboard.php:5322
2121
  msgid "Manage Settings"
2122
  msgstr ""
2123
 
2124
- #: cerber-settings.php:1304
2125
  msgid "Mark it as spam"
2126
  msgstr ""
2127
 
2128
- #: cerber-settings.php:914
2129
  msgid "Mask these form fields"
2130
  msgstr ""
2131
 
2132
- #: cerber-settings.php:1382
2133
  msgid "Master settings"
2134
  msgstr ""
2135
 
2136
- #: cerber-settings.php:821 cerber-settings.php:851
2137
  msgid "Maximum compatibility"
2138
  msgstr ""
2139
 
2140
- #: cerber-settings.php:822 cerber-settings.php:852
2141
  msgid "Maximum security"
2142
  msgstr ""
2143
 
2144
- #: cerber-settings.php:1079 cerber-settings.php:1125
2145
  msgid "Medium severity"
2146
  msgstr ""
2147
 
2148
- #: cerber-settings.php:955
2149
  msgid "milliseconds"
2150
  msgstr ""
2151
 
2152
- #: cerber-settings.php:872
2153
  msgid "Minimal"
2154
  msgstr ""
2155
 
@@ -2161,7 +2178,7 @@ msgstr ""
2161
  msgid "minutes (leave empty to use the default WordPress value)"
2162
  msgstr ""
2163
 
2164
- #: cerber-settings.php:660 cerber-settings.php:1032
2165
  msgid "Miscellaneous Settings"
2166
  msgstr ""
2167
 
@@ -2169,43 +2186,43 @@ msgstr ""
2169
  msgid "Mitigate aggressive attempts"
2170
  msgstr ""
2171
 
2172
- #: admin/cerber-admin.php:927 admin/cerber-admin.php:1394
2173
  msgid "Modified"
2174
  msgstr ""
2175
 
2176
- #: cerber-settings.php:990
2177
  msgid "Monitor modified files"
2178
  msgstr ""
2179
 
2180
- #: cerber-settings.php:981
2181
  msgid "Monitor new files"
2182
  msgstr ""
2183
 
2184
- #: cerber-settings.php:1309
2185
  msgid "Move spam comments to trash after"
2186
  msgstr ""
2187
 
2188
- #: cerber-common.php:1738
2189
  msgid "Multiple erroneous requests"
2190
  msgstr ""
2191
 
2192
- #: cerber-common.php:1633
2193
  msgid "Multiple suspicious activities"
2194
  msgstr ""
2195
 
2196
- #: cerber-common.php:1733
2197
  msgid "Multiple suspicious activities were detected"
2198
  msgstr ""
2199
 
2200
- #: cerber-common.php:1739
2201
  msgid "Multiple suspicious requests"
2202
  msgstr ""
2203
 
2204
- #: admin/cerber-dashboard.php:1091
2205
  msgid "My activity"
2206
  msgstr ""
2207
 
2208
- #: admin/cerber-dashboard.php:1092 admin/cerber-dashboard.php:4442
2209
  msgid "My IP"
2210
  msgstr ""
2211
 
@@ -2213,11 +2230,11 @@ msgstr ""
2213
  msgid "My IP address"
2214
  msgstr ""
2215
 
2216
- #: admin/cerber-dashboard.php:4441
2217
  msgid "My requests"
2218
  msgstr ""
2219
 
2220
- #: cerber-settings.php:263 admin/cerber-dashboard.php:2482
2221
  msgid "My site is behind a reverse proxy"
2222
  msgstr ""
2223
 
@@ -2226,17 +2243,17 @@ msgstr ""
2226
  msgid "My Websites"
2227
  msgstr ""
2228
 
2229
- #: admin/cerber-dashboard.php:1717
2230
  msgid "Network:"
2231
  msgstr ""
2232
 
2233
- #: cerber-common.php:1904 nexus/cerber-slave-list.php:347
2234
- #: admin/cerber-dashboard.php:477 admin/cerber-dashboard.php:2048
2235
- #: admin/cerber-dashboard.php:2097
2236
  msgid "Never"
2237
  msgstr ""
2238
 
2239
- #: cerber-load.php:4674
2240
  msgid "New Custom login URL"
2241
  msgstr ""
2242
 
@@ -2248,7 +2265,7 @@ msgstr ""
2248
  msgid "New files"
2249
  msgstr ""
2250
 
2251
- #: admin/cerber-dashboard.php:1072
2252
  msgid "New users"
2253
  msgstr ""
2254
 
@@ -2256,20 +2273,20 @@ msgstr ""
2256
  msgid "New version is available"
2257
  msgstr ""
2258
 
2259
- #: admin/cerber-admin.php:1217
2260
  msgid "Newest"
2261
  msgstr ""
2262
 
2263
- #: admin/cerber-dashboard.php:1367 admin/cerber-dashboard.php:1803
2264
- #: admin/cerber-dashboard.php:2660 admin/cerber-admin.php:1334
2265
  msgid "No activity has been logged yet."
2266
  msgstr ""
2267
 
2268
- #: admin/cerber-dashboard.php:2083
2269
  msgid "no connection"
2270
  msgstr ""
2271
 
2272
- #: admin/cerber-admin.php:1019
2273
  msgid ""
2274
  "No data for generating reports. Please run the Full Scan. After the scan is "
2275
  "completed, the reports will be generated."
@@ -2279,7 +2296,7 @@ msgstr ""
2279
  msgid "No devices found"
2280
  msgstr ""
2281
 
2282
- #: admin/cerber-admin.php:1182
2283
  msgid "No extension"
2284
  msgstr ""
2285
 
@@ -2287,15 +2304,15 @@ msgstr ""
2287
  msgid "No file was uploaded or file is corrupted"
2288
  msgstr ""
2289
 
2290
- #: admin/cerber-admin.php:731
2291
  msgid "No files match the specified filter."
2292
  msgstr ""
2293
 
2294
- #: admin/cerber-dashboard.php:243 admin/cerber-dashboard.php:2716
2295
  msgid "No lockouts at the moment. The sky is clear."
2296
  msgstr ""
2297
 
2298
- #: admin/cerber-dashboard.php:4425
2299
  msgid "No requests have been logged."
2300
  msgstr ""
2301
 
@@ -2303,7 +2320,7 @@ msgstr ""
2303
  msgid "No restrictions"
2304
  msgstr ""
2305
 
2306
- #: admin/cerber-dashboard.php:3651
2307
  msgid "No rule"
2308
  msgstr ""
2309
 
@@ -2311,11 +2328,11 @@ msgstr ""
2311
  msgid "No websites configured."
2312
  msgstr ""
2313
 
2314
- #: cerber-lab.php:893
2315
  msgid "NO, maybe later"
2316
  msgstr ""
2317
 
2318
- #: admin/cerber-dashboard.php:1090 admin/cerber-dashboard.php:4436
2319
  msgid "Non-authenticated"
2320
  msgstr ""
2321
 
@@ -2323,7 +2340,7 @@ msgstr ""
2323
  msgid "Non-existing users"
2324
  msgstr ""
2325
 
2326
- #: admin/cerber-dashboard.php:2057
2327
  msgid "not active"
2328
  msgstr ""
2329
 
@@ -2331,18 +2348,18 @@ msgstr ""
2331
  msgid "Not available"
2332
  msgstr ""
2333
 
2334
- #: cerber-load.php:4648
2335
  msgid "Not logged in"
2336
  msgstr ""
2337
 
2338
- #: admin/cerber-dashboard.php:3643
2339
  #, php-format
2340
  msgid "Not permitted for one country"
2341
  msgid_plural "Not permitted for %d countries"
2342
  msgstr[0] ""
2343
  msgstr[1] ""
2344
 
2345
- #: admin/cerber-dashboard.php:4499
2346
  msgid "Not specified"
2347
  msgstr ""
2348
 
@@ -2354,7 +2371,7 @@ msgstr ""
2354
  msgid "Notification limit"
2355
  msgstr ""
2356
 
2357
- #: cerber-settings.php:305 admin/cerber-dashboard.php:5141
2358
  msgid "Notifications"
2359
  msgstr ""
2360
 
@@ -2366,7 +2383,7 @@ msgstr ""
2366
  msgid "Notify admin if the number of active lockouts above"
2367
  msgstr ""
2368
 
2369
- #: cerber-load.php:4631
2370
  msgid "Number of active lockouts"
2371
  msgstr ""
2372
 
@@ -2374,7 +2391,7 @@ msgstr ""
2374
  msgid "Number of allowed concurrent user sessions"
2375
  msgstr ""
2376
 
2377
- #: cerber-load.php:4629
2378
  msgid "Number of lockouts is increasing"
2379
  msgstr ""
2380
 
@@ -2382,28 +2399,28 @@ msgstr ""
2382
  msgid "number of logins"
2383
  msgstr ""
2384
 
2385
- #: cerber-lab.php:892
2386
  msgid "OK, nail them all"
2387
  msgstr ""
2388
 
2389
- #: admin/cerber-admin.php:1216
2390
  msgid "Oldest"
2391
  msgstr ""
2392
 
2393
- #: cerber-settings.php:1065
2394
  msgid "once a day at"
2395
  msgstr ""
2396
 
2397
- #: cerber-settings.php:1041 cerber-settings.php:1416 cerber-settings.php:1444
2398
  #, php-format
2399
  msgid "Once enabled, the log is available here: %s"
2400
  msgstr ""
2401
 
2402
- #: cerber-2fa.php:656
2403
  msgid "only digits are allowed"
2404
  msgstr ""
2405
 
2406
- #: cerber-settings.php:643 cerber-settings.php:1710
2407
  msgid "Only registered and logged in users are allowed to view this website"
2408
  msgstr ""
2409
 
@@ -2417,15 +2434,15 @@ msgid ""
2417
  "website"
2418
  msgstr ""
2419
 
2420
- #: admin/cerber-dashboard.php:344
2421
  msgid "Optional comment for this entry"
2422
  msgstr ""
2423
 
2424
- #: cerber-2fa.php:664
2425
  msgid "or"
2426
  msgstr ""
2427
 
2428
- #: cerber-settings.php:1242
2429
  msgid "Other forms"
2430
  msgstr ""
2431
 
@@ -2433,15 +2450,15 @@ msgstr ""
2433
  msgid "Owner"
2434
  msgstr ""
2435
 
2436
- #: admin/cerber-dashboard.php:3918
2437
  msgid "Page generation time"
2438
  msgstr ""
2439
 
2440
- #: cerber-settings.php:954
2441
  msgid "Page generation time threshold"
2442
  msgstr ""
2443
 
2444
- #: admin/cerber-dashboard.php:4438
2445
  msgid "Page Not Found"
2446
  msgstr ""
2447
 
@@ -2449,15 +2466,19 @@ msgstr ""
2449
  msgid "Parsing the list of files"
2450
  msgstr ""
2451
 
2452
- #: cerber-common.php:1578
2453
  msgid "Password changed"
2454
  msgstr ""
2455
 
2456
- #: cerber-common.php:1579
 
 
 
 
2457
  msgid "Password reset requested"
2458
  msgstr ""
2459
 
2460
- #: admin/cerber-admin.php:1116
2461
  msgid "Path"
2462
  msgstr ""
2463
 
@@ -2465,7 +2486,7 @@ msgstr ""
2465
  msgid "Performance"
2466
  msgstr ""
2467
 
2468
- #: cerber-common.php:1649
2469
  msgid "Permission denied"
2470
  msgstr ""
2471
 
@@ -2473,7 +2494,7 @@ msgstr ""
2473
  msgid "Permit only email addresses that match the following"
2474
  msgstr ""
2475
 
2476
- #: admin/cerber-dashboard.php:3640
2477
  #, php-format
2478
  msgid "Permitted for one country"
2479
  msgid_plural "Permitted for %d countries"
@@ -2492,7 +2513,7 @@ msgstr ""
2492
  msgid "Phone"
2493
  msgstr ""
2494
 
2495
- #: cerber-load.php:1826
2496
  msgid "Please choose another one."
2497
  msgstr ""
2498
 
@@ -2510,11 +2531,11 @@ msgstr ""
2510
  msgid "Please upload another file."
2511
  msgstr ""
2512
 
2513
- #: cerber-2fa.php:508
2514
  msgid "Please use the following verification PIN code to verify your identity."
2515
  msgstr ""
2516
 
2517
- #: cerber-2fa.php:415 cerber-2fa.php:503
2518
  msgid "Please verify that it’s you"
2519
  msgstr ""
2520
 
@@ -2526,7 +2547,7 @@ msgstr ""
2526
  msgid "Policies have been updated"
2527
  msgstr ""
2528
 
2529
- #: admin/cerber-dashboard.php:3768
2530
  msgid "Post comments"
2531
  msgstr ""
2532
 
@@ -2542,7 +2563,7 @@ msgstr ""
2542
  msgid "Preparing for the scan"
2543
  msgstr ""
2544
 
2545
- #: cerber-common.php:1899
2546
  #, php-format
2547
  msgctxt "preposition of a period of time like: in 6 hours"
2548
  msgid "in %s"
@@ -2574,7 +2595,7 @@ msgstr ""
2574
  msgid "Proactive security rules"
2575
  msgstr ""
2576
 
2577
- #: cerber-common.php:1593 cerber-common.php:1734
2578
  msgid "Probing for vulnerable code"
2579
  msgstr ""
2580
 
@@ -2586,7 +2607,7 @@ msgstr ""
2586
  msgid "Profile"
2587
  msgstr ""
2588
 
2589
- #: cerber-settings.php:1161
2590
  msgid "Prohibited extensions"
2591
  msgstr ""
2592
 
@@ -2598,15 +2619,15 @@ msgstr ""
2598
  msgid "Protect admin scripts"
2599
  msgstr ""
2600
 
2601
- #: cerber-settings.php:1243
2602
  msgid "Protect all forms on the website with bot detection engine"
2603
  msgstr ""
2604
 
2605
- #: cerber-settings.php:1232
2606
  msgid "Protect comment form with bot detection engine"
2607
  msgstr ""
2608
 
2609
- #: cerber-settings.php:1227
2610
  msgid "Protect registration form with bot detection engine"
2611
  msgstr ""
2612
 
@@ -2638,19 +2659,19 @@ msgstr ""
2638
  msgid "Pushbullet device"
2639
  msgstr ""
2640
 
2641
- #: admin/cerber-dashboard.php:5272
2642
  msgid "Quarantine"
2643
  msgstr ""
2644
 
2645
- #: admin/cerber-admin.php:771
2646
  msgid "Quarantined"
2647
  msgstr ""
2648
 
2649
- #: cerber-settings.php:1288
2650
  msgid "Query whitelist"
2651
  msgstr ""
2652
 
2653
- #: cerber-scanner.php:1032 admin/cerber-dashboard.php:2104
2654
  msgid "Quick Scan"
2655
  msgstr ""
2656
 
@@ -2658,35 +2679,39 @@ msgstr ""
2658
  msgid "Quick Scan Report"
2659
  msgstr ""
2660
 
2661
- #: cerber-settings.php:1436
2662
  msgid "Read-only mode"
2663
  msgstr ""
2664
 
2665
- #: cerber-load.php:4633 admin/cerber-dashboard.php:216
2666
  msgid "Reason"
2667
  msgstr ""
2668
 
2669
- #: cerber-settings.php:1316
2670
  msgid "reCAPTCHA settings"
2671
  msgstr ""
2672
 
2673
- #: cerber-common.php:1583
2674
  msgid "reCAPTCHA settings are incorrect"
2675
  msgstr ""
2676
 
2677
- #: cerber-common.php:1582
2678
  msgid "reCAPTCHA verification failed"
2679
  msgstr ""
2680
 
2681
- #: admin/cerber-dashboard.php:2727
 
 
 
 
2682
  msgid "Recently locked out IP addresses"
2683
  msgstr ""
2684
 
2685
- #: cerber-settings.php:1183
2686
  msgid "Recover plugins' files"
2687
  msgstr ""
2688
 
2689
- #: cerber-settings.php:1179
2690
  msgid "Recover WordPress files"
2691
  msgstr ""
2692
 
@@ -2718,23 +2743,23 @@ msgstr ""
2718
  msgid "Redirection rules"
2719
  msgstr ""
2720
 
2721
- #: admin/cerber-dashboard.php:4464
2722
  msgid "Refresh"
2723
  msgstr ""
2724
 
2725
- #: admin/cerber-dashboard.php:5653
2726
  msgid "Register"
2727
  msgstr ""
2728
 
2729
- #: admin/cerber-dashboard.php:3766
2730
  msgid "Register on the website"
2731
  msgstr ""
2732
 
2733
- #: admin/cerber-dashboard.php:1870 admin/cerber-dashboard.php:1947
2734
  msgid "Registered"
2735
  msgstr ""
2736
 
2737
- #: cerber-settings.php:1226 cerber-settings.php:1334
2738
  msgid "Registration form"
2739
  msgstr ""
2740
 
@@ -2746,35 +2771,35 @@ msgstr ""
2746
  msgid "Regular time intervals (days)"
2747
  msgstr ""
2748
 
2749
- #: admin/cerber-dashboard.php:205 admin/cerber-dashboard.php:330
2750
  msgid "Remove"
2751
  msgstr ""
2752
 
2753
- #: admin/cerber-admin.php:887 admin/cerber-admin.php:914
2754
  msgid "Remove from the list"
2755
  msgstr ""
2756
 
2757
- #: cerber-settings.php:1075
2758
  msgid "Report an issue if any of the following is true"
2759
  msgstr ""
2760
 
2761
- #: admin/cerber-dashboard.php:4400
2762
  msgid "Request"
2763
  msgstr ""
2764
 
2765
- #: admin/cerber-dashboard.php:1389
2766
  msgid "Request ID"
2767
  msgstr ""
2768
 
2769
- #: cerber-common.php:1597
2770
  msgid "Request to REST API denied"
2771
  msgstr ""
2772
 
2773
- #: cerber-common.php:1584
2774
  msgid "Request to the Google reCAPTCHA service failed"
2775
  msgstr ""
2776
 
2777
- #: cerber-common.php:1598
2778
  msgid "Request to XML-RPC API denied"
2779
  msgstr ""
2780
 
@@ -2782,7 +2807,7 @@ msgstr ""
2782
  msgid "Request URL"
2783
  msgstr ""
2784
 
2785
- #: cerber-settings.php:831
2786
  msgid "Request whitelist"
2787
  msgstr ""
2788
 
@@ -2794,7 +2819,7 @@ msgstr ""
2794
  msgid "Resolve issue"
2795
  msgstr ""
2796
 
2797
- #: admin/cerber-admin.php:752
2798
  msgid "Restore"
2799
  msgstr ""
2800
 
@@ -2830,27 +2855,27 @@ msgstr ""
2830
  msgid "Retrieve IP address WHOIS information when viewing the logs"
2831
  msgstr ""
2832
 
2833
- #: cerber-settings.php:1390
2834
  msgid "Return to the website list"
2835
  msgstr ""
2836
 
2837
- #: cerber-common.php:1602
2838
  msgid "Role update denied"
2839
  msgstr ""
2840
 
2841
- #: admin/cerber-dashboard.php:5232
2842
  msgid "Role-Based"
2843
  msgstr ""
2844
 
2845
- #: admin/cerber-dashboard.php:3570
2846
  msgid "Role-based rules are configured"
2847
  msgstr ""
2848
 
2849
- #: cerber-settings.php:1278
2850
  msgid "Safe mode"
2851
  msgstr ""
2852
 
2853
- #: cerber-settings.php:944
2854
  msgid "Save $_SERVER"
2855
  msgstr ""
2856
 
@@ -2858,55 +2883,55 @@ msgstr ""
2858
  msgid "Save All Changes"
2859
  msgstr ""
2860
 
2861
- #: admin/cerber-dashboard.php:3627
2862
  msgid "Save all rules"
2863
  msgstr ""
2864
 
2865
- #: cerber-settings.php:934
2866
  msgid "Save request cookies"
2867
  msgstr ""
2868
 
2869
- #: cerber-settings.php:909
2870
  msgid "Save request fields"
2871
  msgstr ""
2872
 
2873
- #: cerber-settings.php:922
2874
  msgid "Save request headers"
2875
  msgstr ""
2876
 
2877
- #: cerber-settings.php:939
2878
  msgid "Save response cookies"
2879
  msgstr ""
2880
 
2881
- #: cerber-settings.php:928
2882
  msgid "Save response headers"
2883
  msgstr ""
2884
 
2885
- #: cerber-settings.php:949
2886
  msgid "Save software errors"
2887
  msgstr ""
2888
 
2889
- #: cerber-settings.php:1070
2890
  msgid "Scan results reporting"
2891
  msgstr ""
2892
 
2893
- #: cerber-settings.php:1003
2894
  msgid "Scan the sessions directory"
2895
  msgstr ""
2896
 
2897
- #: cerber-settings.php:999
2898
  msgid "Scan web server's temporary directories"
2899
  msgstr ""
2900
 
2901
- #: admin/cerber-admin.php:108 admin/cerber-admin.php:770
2902
  msgid "Scanned"
2903
  msgstr ""
2904
 
2905
- #: cerber-load.php:4692
2906
  msgid "Scanner Report"
2907
  msgstr ""
2908
 
2909
- #: cerber-settings.php:976
2910
  msgid "Scanner settings"
2911
  msgstr ""
2912
 
@@ -2926,7 +2951,7 @@ msgstr ""
2926
  msgid "Scanning website directories for files"
2927
  msgstr ""
2928
 
2929
- #: admin/cerber-dashboard.php:5269
2930
  msgid "Scheduling"
2931
  msgstr ""
2932
 
@@ -2934,11 +2959,11 @@ msgstr ""
2934
  msgid "Search for IP address"
2935
  msgstr ""
2936
 
2937
- #: admin/cerber-dashboard.php:1386
2938
  msgid "Search for IP or username"
2939
  msgstr ""
2940
 
2941
- #: admin/cerber-dashboard.php:1390
2942
  msgid "Search in URL"
2943
  msgstr ""
2944
 
@@ -2946,7 +2971,7 @@ msgstr ""
2946
  msgid "Search results for:"
2947
  msgstr ""
2948
 
2949
- #: cerber-load.php:5415
2950
  msgid "Search string"
2951
  msgstr ""
2952
 
@@ -2962,19 +2987,19 @@ msgstr ""
2962
  msgid "Secret Access Token is invalid"
2963
  msgstr ""
2964
 
2965
- #: cerber-settings.php:1325
2966
  msgid "Secret key"
2967
  msgstr ""
2968
 
2969
- #: admin/cerber-dashboard.php:67 admin/cerber-dashboard.php:5250
2970
  msgid "Security Rules"
2971
  msgstr ""
2972
 
2973
- #: admin/cerber-dashboard.php:3812
2974
  msgid "Security rules have been updated"
2975
  msgstr ""
2976
 
2977
- #: admin/cerber-dashboard.php:5267
2978
  msgid "Security Scanner"
2979
  msgstr ""
2980
 
@@ -2990,7 +3015,7 @@ msgstr ""
2990
  msgid "Select one or more roles"
2991
  msgstr ""
2992
 
2993
- #: cerber-settings.php:1084
2994
  msgid "Send email report"
2995
  msgstr ""
2996
 
@@ -3014,23 +3039,23 @@ msgstr ""
3014
  msgid "Server Country"
3015
  msgstr ""
3016
 
3017
- #: cerber-load.php:1583
3018
  #, php-format
3019
  msgid "Session has been terminated"
3020
  msgid_plural "%s sessions have been terminated"
3021
  msgstr[0] ""
3022
  msgstr[1] ""
3023
 
3024
- #: admin/cerber-dashboard.php:3275 admin/cerber-dashboard.php:5135
3025
  msgid "Sessions"
3026
  msgstr ""
3027
 
3028
- #: cerber-common.php:1603
3029
  msgid "Setting update denied"
3030
  msgstr ""
3031
 
3032
- #: nexus/cerber-nexus.php:95 admin/cerber-dashboard.php:5207
3033
- #: admin/cerber-dashboard.php:5268 admin/cerber-tools.php:37
3034
  #: admin/cerber-tools.php:48
3035
  msgid "Settings"
3036
  msgstr ""
@@ -3039,11 +3064,11 @@ msgstr ""
3039
  msgid "Settings has imported successfully from"
3040
  msgstr ""
3041
 
3042
- #: admin/cerber-dashboard.php:2860
3043
  msgid "Settings saved"
3044
  msgstr ""
3045
 
3046
- #: nexus/cerber-nexus-slave.php:436
3047
  msgid "Settings updated"
3048
  msgstr ""
3049
 
@@ -3057,7 +3082,7 @@ msgid ""
3057
  "admin pages"
3058
  msgstr ""
3059
 
3060
- #: cerber-settings.php:1394
3061
  msgid "Show \"Switched to\" notification"
3062
  msgstr ""
3063
 
@@ -3073,19 +3098,19 @@ msgstr ""
3073
  msgid "Site connection"
3074
  msgstr ""
3075
 
3076
- #: admin/cerber-dashboard.php:73 admin/cerber-dashboard.php:5265
3077
  msgid "Site Integrity"
3078
  msgstr ""
3079
 
3080
- #: cerber-settings.php:1321
3081
  msgid "Site key"
3082
  msgstr ""
3083
 
3084
- #: cerber-common.php:1642
3085
  msgid "Site policy enforcement"
3086
  msgstr ""
3087
 
3088
- #: admin/cerber-dashboard.php:5223
3089
  msgid "Site Settings"
3090
  msgstr ""
3091
 
@@ -3093,12 +3118,12 @@ msgstr ""
3093
  msgid "Site-specific settings"
3094
  msgstr ""
3095
 
3096
- #: admin/cerber-admin.php:773 admin/cerber-admin.php:928
3097
- #: admin/cerber-admin.php:1393
3098
  msgid "Size"
3099
  msgstr ""
3100
 
3101
- #: cerber-settings.php:1148
3102
  msgid "Skip files with these extensions"
3103
  msgstr ""
3104
 
@@ -3106,58 +3131,62 @@ msgstr ""
3106
  msgid "Slave Settings"
3107
  msgstr ""
3108
 
3109
- #: admin/cerber-admin.php:1213
3110
  msgid "Smallest"
3111
  msgstr ""
3112
 
3113
- #: cerber-settings.php:873
3114
  msgid "Smart"
3115
  msgstr ""
3116
 
3117
- #: admin/cerber-dashboard.php:3207
3118
  msgid "Some errors occurred"
3119
  msgstr ""
3120
 
3121
- #: cerber-load.php:2189
3122
  msgid "Sorry, human verification failed."
3123
  msgstr ""
3124
 
 
 
 
 
3125
  #: cerber-settings.php:689
3126
  msgid "Sort users in dashboard"
3127
  msgstr ""
3128
 
3129
- #: admin/cerber-admin.php:1118 admin/cerber-admin.php:1212
3130
  msgid "Space Occupied"
3131
  msgstr ""
3132
 
3133
- #: cerber-common.php:1566
3134
  msgid "Spam comment denied"
3135
  msgstr ""
3136
 
3137
- #: cerber-common.php:321
3138
  msgid "Spam comments denied"
3139
  msgstr ""
3140
 
3141
- #: cerber-common.php:1567
3142
  msgid "Spam form submission denied"
3143
  msgstr ""
3144
 
3145
- #: cerber-common.php:322
3146
  msgid "Spam form submissions denied"
3147
  msgstr ""
3148
 
3149
- #: cerber-settings.php:1222
3150
  msgid ""
3151
  "Spam protection for comment, registration and contact forms on a website"
3152
  msgstr ""
3153
 
3154
- #: cerber-settings.php:1020
3155
  msgid ""
3156
  "Specify custom PHP code signatures. One item per line. To specify a REGEX "
3157
  "pattern, enclose a whole line in two braces."
3158
  msgstr ""
3159
 
3160
- #: cerber-settings.php:1027
3161
  msgid "Specify directories to exclude from scanning. One directory per line."
3162
  msgstr ""
3163
 
@@ -3167,7 +3196,7 @@ msgid ""
3167
  "items."
3168
  msgstr ""
3169
 
3170
- #: cerber-settings.php:1013
3171
  msgid ""
3172
  "Specify file extensions to search for. Full scan only. Use comma to separate "
3173
  "items."
@@ -3179,11 +3208,11 @@ msgid ""
3179
  "string per line."
3180
  msgstr ""
3181
 
3182
- #: cerber-settings.php:897
3183
  msgid "Specify URL paths to exclude requests from logging. One item per line."
3184
  msgstr ""
3185
 
3186
- #: cerber-settings.php:905
3187
  msgid ""
3188
  "Specify User-Agents to exclude requests from logging. One item per line."
3189
  msgstr ""
@@ -3200,7 +3229,7 @@ msgstr ""
3200
  msgid "Start Quick Scan"
3201
  msgstr ""
3202
 
3203
- #: admin/cerber-dashboard.php:3620
3204
  msgid "Start typing here to find a country"
3205
  msgstr ""
3206
 
@@ -3216,11 +3245,11 @@ msgstr ""
3216
  msgid "Stop user enumeration"
3217
  msgstr ""
3218
 
3219
- #: admin/cerber-dashboard.php:3767
3220
  msgid "Submit forms"
3221
  msgstr ""
3222
 
3223
- #: admin/cerber-dashboard.php:1078
3224
  msgid "Suspicious activity"
3225
  msgstr ""
3226
 
@@ -3240,23 +3269,23 @@ msgstr ""
3240
  msgid "Suspicious directives found"
3241
  msgstr ""
3242
 
3243
- #: cerber-common.php:1640
3244
  msgid "Suspicious JavaScript code detected"
3245
  msgstr ""
3246
 
3247
- #: cerber-common.php:1636
3248
  msgid "Suspicious number of fields"
3249
  msgstr ""
3250
 
3251
- #: cerber-common.php:1637
3252
  msgid "Suspicious number of nested values"
3253
  msgstr ""
3254
 
3255
- #: admin/cerber-dashboard.php:4433
3256
  msgid "Suspicious requests"
3257
  msgstr ""
3258
 
3259
- #: cerber-common.php:1639
3260
  msgid "Suspicious SQL code detected"
3261
  msgstr ""
3262
 
@@ -3284,15 +3313,15 @@ msgstr ""
3284
  msgid "Terminate user sessions"
3285
  msgstr ""
3286
 
3287
- #: admin/cerber-dashboard.php:2976
3288
  msgid "The alert has been created"
3289
  msgstr ""
3290
 
3291
- #: admin/cerber-dashboard.php:2980
3292
  msgid "The alert has been deleted"
3293
  msgstr ""
3294
 
3295
- #: cerber-2fa.php:508
3296
  #, php-format
3297
  msgid "The code is valid for %s minutes."
3298
  msgstr ""
@@ -3305,27 +3334,27 @@ msgid ""
3305
  "has been tampered with."
3306
  msgstr ""
3307
 
3308
- #: admin/cerber-admin.php:847
3309
  msgid "The file has been deleted permanently."
3310
  msgstr ""
3311
 
3312
- #: admin/cerber-admin.php:862
3313
  msgid "The file has been restored to its original location."
3314
  msgstr ""
3315
 
3316
- #: cerber-settings.php:1457
3317
  msgid "The full access mode requires the PRO version of WP Cerber"
3318
  msgstr ""
3319
 
3320
- #: admin/cerber-dashboard.php:5480
3321
  msgid "The IP address you are trying to add is already in the list"
3322
  msgstr ""
3323
 
3324
- #: admin/cerber-admin.php:892
3325
  msgid "The list is empty."
3326
  msgstr ""
3327
 
3328
- #: cerber-settings.php:1054
3329
  msgid ""
3330
  "The scanner automatically scans the website, removes malware and sends email "
3331
  "reports with the results of a scan"
@@ -3338,7 +3367,7 @@ msgid ""
3338
  "(checksums) provided by the developer of %s."
3339
  msgstr ""
3340
 
3341
- #: cerber-settings.php:977
3342
  msgid ""
3343
  "The scanner monitors file changes, verifies the integrity of WordPress, "
3344
  "plugins, and themes, and detects malware"
@@ -3368,19 +3397,19 @@ msgstr ""
3368
  msgid "The website you are trying to add is already in the list"
3369
  msgstr ""
3370
 
3371
- #: cerber-load.php:4645 cerber-load.php:4646
3372
  msgid "The WP Cerber security plugin has been deactivated"
3373
  msgstr ""
3374
 
3375
- #: cerber-load.php:4662
3376
  msgid "The WP Cerber security plugin is now active"
3377
  msgstr ""
3378
 
3379
- #: admin/cerber-admin.php:714
3380
  msgid "There are no files in the quarantine at the moment."
3381
  msgstr ""
3382
 
3383
- #: admin/cerber-dashboard.php:5615
3384
  msgid "These features are available in the professional version of WP Cerber."
3385
  msgstr ""
3386
 
@@ -3390,19 +3419,19 @@ msgid ""
3390
  "protection laws"
3391
  msgstr ""
3392
 
3393
- #: admin/cerber-dashboard.php:3205
3394
  msgid "These files have been added to the ignore list"
3395
  msgstr ""
3396
 
3397
- #: admin/cerber-dashboard.php:3201
3398
  msgid "These files have been moved to the quarantine"
3399
  msgstr ""
3400
 
3401
- #: cerber-settings.php:1190
3402
  msgid "These files will never be deleted during automatic cleanup."
3403
  msgstr ""
3404
 
3405
- #: cerber-settings.php:1113
3406
  msgid ""
3407
  "These policies are automatically enforced at the end of every scan based on "
3408
  "its results. All affected files are moved to the quarantine."
@@ -3413,7 +3442,7 @@ msgid ""
3413
  "These restrictions do not apply to IP addresses in the White IP Access List"
3414
  msgstr ""
3415
 
3416
- #: cerber-settings.php:1275
3417
  msgid ""
3418
  "These settings enable you to fine-tune the behavior of anti-spam algorithms "
3419
  "and avoid false positives"
@@ -3449,21 +3478,21 @@ msgctxt "This is a risk level."
3449
  msgid "Medium"
3450
  msgstr ""
3451
 
3452
- #: cerber-load.php:4729
3453
  msgid "This message was sent by"
3454
  msgstr ""
3455
 
3456
- #: admin/cerber-dashboard.php:3209
3457
  msgid ""
3458
  "This scan report was generated by the previous version of WP Cerber. Please "
3459
  "run a new scan to get consistent and accurate results."
3460
  msgstr ""
3461
 
3462
- #: admin/cerber-admin.php:535
3463
  msgid "This type of file is not supported. Please upload a ZIP archive."
3464
  msgstr ""
3465
 
3466
- #: cerber-2fa.php:365
3467
  msgid ""
3468
  "This verification PIN code is expired. We have just sent a new one to your "
3469
  "email."
@@ -3491,11 +3520,11 @@ msgid ""
3491
  "the plugin cache."
3492
  msgstr ""
3493
 
3494
- #: cerber-load.php:4687 cerber-load.php:4695
3495
  msgid "To change reporting settings visit"
3496
  msgstr ""
3497
 
3498
- #: cerber-load.php:5436
3499
  msgid "To delete the alert, click here"
3500
  msgstr ""
3501
 
@@ -3503,14 +3532,14 @@ msgstr ""
3503
  msgid "To get the most out of WP Cerber, follow these steps:"
3504
  msgstr ""
3505
 
3506
- #: admin/cerber-dashboard.php:3742
3507
  #, php-format
3508
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
3509
  msgid ""
3510
  "Selected countries are not permitted to %s, other countries are permitted to"
3511
  msgstr ""
3512
 
3513
- #: admin/cerber-dashboard.php:3739
3514
  #, php-format
3515
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
3516
  msgid ""
@@ -3536,7 +3565,7 @@ msgstr ""
3536
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
3537
  msgstr ""
3538
 
3539
- #: cerber-settings.php:835 cerber-settings.php:897
3540
  msgid "To specify a REGEX pattern, enclose a whole line in two braces."
3541
  msgstr ""
3542
 
@@ -3544,19 +3573,19 @@ msgstr ""
3544
  msgid "To view full report visit"
3545
  msgstr ""
3546
 
3547
- #: admin/cerber-dashboard.php:88 admin/cerber-dashboard.php:5319
3548
  msgid "Tools"
3549
  msgstr ""
3550
 
3551
- #: admin/cerber-admin.php:1233
3552
  msgid "Top 10 largest files"
3553
  msgstr ""
3554
 
3555
- #: admin/cerber-dashboard.php:2118 admin/cerber-users.php:1115
3556
  msgid "Traffic"
3557
  msgstr ""
3558
 
3559
- #: admin/cerber-admin.php:889
3560
  msgid "Traffic Insights"
3561
  msgstr ""
3562
 
@@ -3564,8 +3593,8 @@ msgstr ""
3564
  msgid "Traffic Inspection"
3565
  msgstr ""
3566
 
3567
- #: admin/cerber-dashboard.php:62 admin/cerber-dashboard.php:2079
3568
- #: admin/cerber-dashboard.php:5204
3569
  msgid "Traffic Inspector"
3570
  msgstr ""
3571
 
@@ -3575,15 +3604,15 @@ msgid ""
3575
  "protects your website by recognizing and denying malicious HTTP requests"
3576
  msgstr ""
3577
 
3578
- #: cerber-settings.php:863
3579
  msgid "Traffic Logging"
3580
  msgstr ""
3581
 
3582
- #: cerber-settings.php:1307
3583
  msgid "Trash spam comments"
3584
  msgstr ""
3585
 
3586
- #: cerber-2fa.php:662
3587
  msgid "Try again"
3588
  msgstr ""
3589
 
@@ -3615,11 +3644,11 @@ msgstr ""
3615
  msgid "Unable to check the integrity of WordPress files due to a network error"
3616
  msgstr ""
3617
 
3618
- #: cerber-common.php:3085
3619
  msgid "Unable to copy the file"
3620
  msgstr ""
3621
 
3622
- #: cerber-common.php:3074
3623
  msgid "Unable to create the directory"
3624
  msgstr ""
3625
 
@@ -3627,7 +3656,7 @@ msgstr ""
3627
  msgid "Unable to delete"
3628
  msgstr ""
3629
 
3630
- #: cerber-common.php:3091
3631
  msgid "Unable to delete the file"
3632
  msgstr ""
3633
 
@@ -3639,7 +3668,7 @@ msgstr ""
3639
  msgid "Unable to process file"
3640
  msgstr ""
3641
 
3642
- #: admin/cerber-dashboard.php:672
3643
  msgid "Unable to send email to"
3644
  msgstr ""
3645
 
@@ -3655,21 +3684,21 @@ msgstr ""
3655
  msgid "Unattended suspicious file"
3656
  msgstr ""
3657
 
3658
- #: cerber-whois.php:235 cerber-whois.php:266 cerber-common.php:1751
3659
- #: nexus/cerber-slave-list.php:333 admin/cerber-dashboard.php:458
3660
- #: admin/cerber-dashboard.php:4065 admin/cerber-dashboard.php:4636
3661
  msgid "Unknown"
3662
  msgstr ""
3663
 
3664
- #: admin/cerber-dashboard.php:599
3665
  msgid "unknown"
3666
  msgstr ""
3667
 
3668
- #: admin/cerber-dashboard.php:4559
3669
  msgid "Unknown Google's bot"
3670
  msgstr ""
3671
 
3672
- #: cerber-load.php:4626
3673
  msgid "unspecified"
3674
  msgstr ""
3675
 
@@ -3685,7 +3714,7 @@ msgstr ""
3685
  msgid "Unwanted file extension"
3686
  msgstr ""
3687
 
3688
- #: cerber-settings.php:1007
3689
  msgid "Unwanted file extensions"
3690
  msgstr ""
3691
 
@@ -3709,24 +3738,24 @@ msgstr ""
3709
  msgid "Use 404 template from the active theme"
3710
  msgstr ""
3711
 
3712
- #: cerber-settings.php:1197
3713
  msgid "Use absolute paths. One item per line."
3714
  msgstr ""
3715
 
3716
- #: cerber-settings.php:1206
3717
  msgid "Use comma to separate items."
3718
  msgstr ""
3719
 
3720
- #: cerber-settings.php:1151 cerber-settings.php:1164
3721
  msgid "Use comma to separate multiple extensions"
3722
  msgstr ""
3723
 
3724
- #: cerber-settings.php:754 cerber-settings.php:802 cerber-settings.php:916
3725
- #: cerber-settings.php:1103
3726
  msgid "Use comma to specify multiple values"
3727
  msgstr ""
3728
 
3729
- #: cerber-settings.php:1237
3730
  msgid "Use custom URL for the WordPress comment form"
3731
  msgstr ""
3732
 
@@ -3742,38 +3771,44 @@ msgstr ""
3742
  msgid "Use ISO 8601 date format for CSV export files"
3743
  msgstr ""
3744
 
3745
- #: cerber-settings.php:1279
3746
  msgid "Use less restrictive policies (allow AJAX)"
3747
  msgstr ""
3748
 
3749
- #: cerber-settings.php:1402
 
 
 
 
 
 
3750
  msgid "Use master language"
3751
  msgstr ""
3752
 
3753
- #: admin/cerber-dashboard.php:3770
3754
  msgid "Use REST API"
3755
  msgstr ""
3756
 
3757
  #: cerber-settings.php:174 cerber-settings.php:605 cerber-settings.php:632
3758
- #: cerber-settings.php:826
3759
  msgid "Use White IP Access List"
3760
  msgstr ""
3761
 
3762
- #: admin/cerber-dashboard.php:3769
3763
  msgid "Use XML-RPC"
3764
  msgstr ""
3765
 
3766
- #: cerber-load.php:5407 admin/cerber-users.php:922
3767
  msgid "User"
3768
  msgstr ""
3769
 
3770
- #: admin/cerber-dashboard.php:2072
3771
  msgid "user"
3772
  msgid_plural "users"
3773
  msgstr[0] ""
3774
  msgstr[1] ""
3775
 
3776
- #: cerber-common.php:1614
3777
  msgid "User activated"
3778
  msgstr ""
3779
 
@@ -3781,31 +3816,39 @@ msgstr ""
3781
  msgid "User Activity"
3782
  msgstr ""
3783
 
3784
- #: admin/cerber-dashboard.php:4403
3785
  msgid "User Agent"
3786
  msgstr ""
3787
 
3788
- #: cerber-common.php:1609
3789
  msgid "User application password created"
3790
  msgstr ""
3791
 
3792
- #: cerber-common.php:1553
 
 
 
 
 
 
 
 
3793
  msgid "User created"
3794
  msgstr ""
3795
 
3796
- #: cerber-common.php:1600
3797
  msgid "User creation denied"
3798
  msgstr ""
3799
 
3800
- #: cerber-common.php:1555
3801
  msgid "User deleted"
3802
  msgstr ""
3803
 
3804
- #: admin/cerber-dashboard.php:949 admin/cerber-dashboard.php:3917
3805
  msgid "User ID"
3806
  msgstr ""
3807
 
3808
- #: admin/cerber-admin.php:888
3809
  msgid "User Insights"
3810
  msgstr ""
3811
 
@@ -3813,7 +3856,7 @@ msgstr ""
3813
  msgid "User is not permitted to log into the website"
3814
  msgstr ""
3815
 
3816
- #: admin/cerber-dashboard.php:948
3817
  msgid "User login"
3818
  msgstr ""
3819
 
@@ -3825,15 +3868,15 @@ msgstr ""
3825
  msgid "User message"
3826
  msgstr ""
3827
 
3828
- #: cerber-common.php:1604
3829
  msgid "User metadata update denied"
3830
  msgstr ""
3831
 
3832
- #: admin/cerber-dashboard.php:70 admin/cerber-dashboard.php:5230
3833
  msgid "User Policies"
3834
  msgstr ""
3835
 
3836
- #: cerber-common.php:1554
3837
  msgid "User registered"
3838
  msgstr ""
3839
 
@@ -3845,7 +3888,7 @@ msgstr ""
3845
  msgid "User registrations are limited to these roles"
3846
  msgstr ""
3847
 
3848
- #: cerber-common.php:1601
3849
  msgid "User row update denied"
3850
  msgstr ""
3851
 
@@ -3853,19 +3896,29 @@ msgstr ""
3853
  msgid "User session expiration time"
3854
  msgstr ""
3855
 
3856
- #: cerber-common.php:1580
3857
  msgid "User session terminated"
3858
  msgstr ""
3859
 
3860
- #: admin/cerber-dashboard.php:950 admin/cerber-dashboard.php:1332
 
 
 
 
 
 
3861
  msgid "Username"
3862
  msgstr ""
3863
 
3864
- #: cerber-load.php:1820
3865
  msgid "Username is not allowed. Please choose another one."
3866
  msgstr ""
3867
 
3868
- #: cerber-load.php:5411
 
 
 
 
3869
  msgid "Username used"
3870
  msgstr ""
3871
 
@@ -3876,7 +3929,7 @@ msgid ""
3876
  "blocked. Use comma to separate logins."
3877
  msgstr ""
3878
 
3879
- #: admin/cerber-dashboard.php:1089 admin/cerber-dashboard.php:4435
3880
  msgid "Users"
3881
  msgstr ""
3882
 
@@ -3900,7 +3953,7 @@ msgstr ""
3900
  msgid "Users with these roles are permitted to create new accounts"
3901
  msgstr ""
3902
 
3903
- #: admin/cerber-dashboard.php:2676
3904
  msgid "Users' Activity"
3905
  msgstr ""
3906
 
@@ -3908,11 +3961,11 @@ msgstr ""
3908
  msgid "Verified"
3909
  msgstr ""
3910
 
3911
- #: cerber-2fa.php:675
3912
  msgid "Verify"
3913
  msgstr ""
3914
 
3915
- #: cerber-2fa.php:670
3916
  msgid "Verify it's you"
3917
  msgstr ""
3918
 
@@ -3928,25 +3981,25 @@ msgstr ""
3928
  msgid "Verifying the integrity of WordPress"
3929
  msgstr ""
3930
 
3931
- #: admin/cerber-dashboard.php:2845 admin/cerber-dashboard.php:3273
3932
  msgid "View Activity"
3933
  msgstr ""
3934
 
3935
- #: cerber-load.php:4634
3936
  msgid "View activity for this IP"
3937
  msgstr ""
3938
 
3939
- #: cerber-load.php:4602 cerber-load.php:5435
3940
  msgid "View activity in dashboard"
3941
  msgstr ""
3942
 
3943
- #: admin/cerber-dashboard.php:1057 admin/cerber-dashboard.php:1068
3944
- #: admin/cerber-dashboard.php:1081 admin/cerber-dashboard.php:2719
3945
- #: admin/cerber-dashboard.php:4432
3946
  msgid "View all"
3947
  msgstr ""
3948
 
3949
- #: admin/cerber-dashboard.php:2066 admin/cerber-dashboard.php:2067
3950
  msgid "view all"
3951
  msgstr ""
3952
 
@@ -3958,7 +4011,7 @@ msgstr ""
3958
  msgid "View denied REST API requests"
3959
  msgstr ""
3960
 
3961
- #: cerber-load.php:4635
3962
  msgid "View lockouts in dashboard"
3963
  msgstr ""
3964
 
@@ -3970,7 +4023,7 @@ msgstr ""
3970
  msgid "Vulnerability found"
3971
  msgstr ""
3972
 
3973
- #: cerber-lab.php:890
3974
  msgid "Want to make WP Cerber even more powerful?"
3975
  msgstr ""
3976
 
@@ -3978,19 +4031,19 @@ msgstr ""
3978
  msgid "We have not found any integrity data to verify"
3979
  msgstr ""
3980
 
3981
- #: cerber-load.php:7738
3982
  msgid "We need your support to keep moving forward"
3983
  msgstr ""
3984
 
3985
- #: cerber-load.php:4458
3986
  msgid "We're sorry, you are not allowed to proceed"
3987
  msgstr ""
3988
 
3989
- #: cerber-2fa.php:659
3990
  msgid "We've sent a verification PIN code to your email"
3991
  msgstr ""
3992
 
3993
- #: cerber-load.php:4642 cerber-load.php:4653 nexus/cerber-slave-list.php:44
3994
  msgid "Website"
3995
  msgstr ""
3996
 
@@ -4013,11 +4066,11 @@ msgstr ""
4013
  msgid "Website URL"
4014
  msgstr ""
4015
 
4016
- #: cerber-load.php:4820
4017
  msgid "Weekly Report"
4018
  msgstr ""
4019
 
4020
- #: cerber-load.php:4684
4021
  msgid "Weekly report"
4022
  msgstr ""
4023
 
@@ -4061,17 +4114,17 @@ msgid ""
4061
  "loaded. The Custom login URL and Access Lists will not be changed."
4062
  msgstr ""
4063
 
4064
- #: admin/cerber-dashboard.php:276 admin/cerber-dashboard.php:1588
4065
- #: admin/cerber-dashboard.php:1672 admin/cerber-dashboard.php:2074
4066
  #: admin/cerber-tools.php:69
4067
  msgid "White IP Access List"
4068
  msgstr ""
4069
 
4070
- #: admin/cerber-dashboard.php:5656
4071
  msgid "WooCommerce Log In"
4072
  msgstr ""
4073
 
4074
- #: admin/cerber-dashboard.php:5657
4075
  msgid "WooCommerce Log Out"
4076
  msgstr ""
4077
 
@@ -4079,34 +4132,34 @@ msgstr ""
4079
  msgid "WordPress"
4080
  msgstr ""
4081
 
4082
- #: cerber-settings.php:1136
4083
  msgid "WordPress uploads analysis"
4084
  msgstr ""
4085
 
4086
- #: cerber-load.php:4663 cerber-load.php:5724
4087
  msgid "WP Cerber is now active and has started protecting your site"
4088
  msgstr ""
4089
 
4090
- #: cerber-load.php:4574
4091
  msgid "WP Cerber notify"
4092
  msgstr ""
4093
 
4094
- #: cerber-common.php:449
4095
  #, php-format
4096
  msgid "WP Cerber requires PHP %s or higher. You are running %s"
4097
  msgstr ""
4098
 
4099
- #: cerber-load.php:5667
4100
  #, php-format
4101
  msgid "WP Cerber requires PHP %s or higher. You are running %s."
4102
  msgstr ""
4103
 
4104
- #: cerber-common.php:453
4105
  #, php-format
4106
  msgid "WP Cerber requires WordPress %s or higher. You are running %s"
4107
  msgstr ""
4108
 
4109
- #: cerber-load.php:5671
4110
  #, php-format
4111
  msgid "WP Cerber requires WordPress %s or higher. You are running %s."
4112
  msgstr ""
@@ -4119,7 +4172,7 @@ msgstr ""
4119
  msgid "Write failed login attempts to the file"
4120
  msgstr ""
4121
 
4122
- #: admin/cerber-dashboard.php:1992 admin/cerber-users.php:52
4123
  #: admin/cerber-users.php:1081
4124
  msgid "You"
4125
  msgstr ""
@@ -4128,24 +4181,24 @@ msgstr ""
4128
  msgid "You are here:"
4129
  msgstr ""
4130
 
4131
- #: cerber-load.php:367
4132
  msgid "You are not allowed to log in"
4133
  msgstr ""
4134
 
4135
- #: cerber-load.php:357 admin/cerber-users.php:463
4136
  msgid "You are not allowed to log in. Ask your administrator for assistance."
4137
  msgstr ""
4138
 
4139
- #: cerber-load.php:1798 cerber-load.php:1805 cerber-load.php:1810
4140
- #: cerber-load.php:1831 cerber-load.php:1837
4141
  msgid "You are not allowed to register."
4142
  msgstr ""
4143
 
4144
- #: admin/cerber-dashboard.php:366
4145
  msgid "You cannot add your IP address or network"
4146
  msgstr ""
4147
 
4148
- #: cerber-load.php:386
4149
  #, php-format
4150
  msgid "You have %d login attempt remaining."
4151
  msgid_plural "You have %d login attempts remaining."
@@ -4158,18 +4211,18 @@ msgid ""
4158
  "alternative login page. Otherwise, you will not be able to log in."
4159
  msgstr ""
4160
 
4161
- #: cerber-2fa.php:368
4162
  msgid "You have entered an incorrect verification PIN code"
4163
  msgstr ""
4164
 
4165
- #: cerber-load.php:363
4166
  #, php-format
4167
  msgid ""
4168
  "You have exceeded the number of allowed login attempts. Please try again in "
4169
  "%d minutes."
4170
  msgstr ""
4171
 
4172
- #: cerber-load.php:383
4173
  msgid "You have only one login attempt remaining."
4174
  msgstr ""
4175
 
@@ -4189,36 +4242,36 @@ msgid ""
4189
  "malware."
4190
  msgstr ""
4191
 
4192
- #: cerber-2fa.php:507
4193
  msgid ""
4194
  "You or someone else trying to log into the website. We have to verify that "
4195
  "it's you. If this wasn't you, please immediately reset your password to "
4196
  "safeguard your account."
4197
  msgstr ""
4198
 
4199
- #: admin/cerber-dashboard.php:286
4200
  msgid "Your IP"
4201
  msgstr ""
4202
 
4203
- #: cerber-load.php:5710
4204
  #, php-format
4205
  msgid "Your IP address %s has been added to the White IP Access List"
4206
  msgstr ""
4207
 
4208
- #: cerber-load.php:4750
4209
  #, php-format
4210
  msgid "Your last sign-in was %s from %s"
4211
  msgstr ""
4212
 
4213
- #: cerber-load.php:4726
4214
  msgid "Your license is valid until"
4215
  msgstr ""
4216
 
4217
- #: cerber-load.php:4721
4218
  msgid "Your login page:"
4219
  msgstr ""
4220
 
4221
- #: cerber-load.php:4459
4222
  msgid ""
4223
  "Your request looks suspiciously similar to automated requests from spam "
4224
  "posting software or it has been denied by a security policy configured by "
4
  msgstr ""
5
  "Project-Id-Version: WP Cerber Security, Anti-spam & Malware Scan\n"
6
  "Report-Msgid-Bugs-To: \n"
7
+ "POT-Creation-Date: 2021-12-21 11:37+0000\n"
8
  "POT-Revision-Date: Fri Mar 12 2021 20:21:05 GMT+0300 (Moscow Standard Time)\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10
  "Last-Translator: \n"
35
  msgstr ""
36
 
37
  #. Time difference between two dates, in seconds (sec=second). 1: Number of seconds
38
+ #: cerber-common.php:1912
39
  #, php-format
40
  msgid "%s sec"
41
  msgid_plural "%s secs"
42
  msgstr[0] ""
43
  msgstr[1] ""
44
 
45
+ #: cerber-settings.php:1336
46
  msgid ""
47
  "(do not enable it unless you get and enter the Site and Secret keys for the "
48
  "invisible version)"
49
  msgstr ""
50
 
51
+ #: cerber-common.php:1655
52
  msgid "2FA code verified"
53
  msgstr ""
54
 
60
  msgid "A database error occurred while importing access list entries"
61
  msgstr ""
62
 
63
+ #: cerber-load.php:4879 cerber-load.php:4880
64
  msgid "A new activity has been recorded"
65
  msgstr ""
66
 
67
+ #: admin/cerber-dashboard.php:2132
68
  msgid "A new version is available"
69
  msgstr ""
70
 
71
+ #: cerber-common.php:2145
72
  #, php-format
73
  msgid "A new version of %s is available. Please install it."
74
  msgstr ""
75
 
76
+ #: cerber-load.php:4839 cerber-load.php:4841
77
  msgid "A new version of WP Cerber is available to install"
78
  msgstr ""
79
 
80
+ #: nexus/cerber-nexus-master.php:1397
81
  msgid "A newer version is available"
82
  msgstr ""
83
 
87
  "posts"
88
  msgstr ""
89
 
90
+ #: admin/cerber-dashboard.php:1719
91
  msgid "Abuse email:"
92
  msgstr ""
93
 
94
+ #: admin/cerber-dashboard.php:5144 admin/cerber-tools.php:38
95
  #: admin/cerber-tools.php:49
96
  msgid "Access Lists"
97
  msgstr ""
98
 
99
+ #: cerber-settings.php:1444
100
  msgid "Access to this website"
101
  msgstr ""
102
 
104
  msgid "Access to WordPress REST API"
105
  msgstr ""
106
 
107
+ #: admin/cerber-dashboard.php:5228
108
  msgid "Accounts & Roles"
109
  msgstr ""
110
 
111
+ #: admin/cerber-dashboard.php:216 admin/cerber-users.php:928
112
+ #: admin/cerber-admin.php:774 admin/cerber-admin.php:929
113
  msgid "Action"
114
  msgstr ""
115
 
116
+ #: admin/cerber-dashboard.php:1888
117
  msgid "Activated"
118
  msgstr ""
119
 
120
+ #: admin/cerber-dashboard.php:2063 admin/cerber-dashboard.php:2093
121
  msgid "active"
122
  msgstr ""
123
 
124
+ #: nexus/cerber-nexus-master.php:1419 nexus/cerber-nexus-master.php:1427
125
  msgid "Active plugins and updates on"
126
  msgstr ""
127
 
128
+ #: admin/cerber-dashboard.php:1911
129
  msgid "Active sessions"
130
  msgstr ""
131
 
132
+ #: cerber-load.php:5607 cerber-settings.php:317 admin/cerber-dashboard.php:2127
133
+ #: admin/cerber-dashboard.php:5140 admin/cerber-users.php:1114
134
  msgid "Activity"
135
  msgstr ""
136
 
137
+ #: cerber-load.php:5033
138
  msgid "Activity details"
139
  msgstr ""
140
 
141
+ #: admin/cerber-admin.php:889
142
  msgid "Activity Insights"
143
  msgstr ""
144
 
145
+ #: cerber-settings.php:1410
146
  msgid "Add @ site to the page title"
147
  msgstr ""
148
 
154
  msgid "Add a slave website"
155
  msgstr ""
156
 
157
+ #: admin/cerber-dashboard.php:342
158
  msgid "Add Entry"
159
  msgstr ""
160
 
161
+ #: admin/cerber-dashboard.php:1747
162
  msgid "Add IP to the Black List"
163
  msgstr ""
164
 
165
+ #: admin/cerber-dashboard.php:1741
166
  msgid "Add network to the Black List"
167
  msgstr ""
168
 
175
  msgid "Add-ons"
176
  msgstr ""
177
 
178
+ #: admin/cerber-admin.php:925
179
  msgid "Added"
180
  msgstr ""
181
 
182
+ #: admin/cerber-dashboard.php:945
183
  msgid "Additional Details"
184
  msgstr ""
185
 
187
  msgid "Address"
188
  msgstr ""
189
 
190
+ #: cerber-settings.php:1275
191
  msgid "Adjust anti-spam engine"
192
  msgstr ""
193
 
199
  msgid "Advanced mode"
200
  msgstr ""
201
 
202
+ #: admin/cerber-dashboard.php:4457
203
  msgid "Advanced Search"
204
  msgstr ""
205
 
206
+ #: cerber-settings.php:1088
207
  msgid "After every scan"
208
  msgstr ""
209
 
215
  msgid "All countries"
216
  msgstr ""
217
 
218
+ #: cerber-settings.php:987 cerber-settings.php:996
219
  msgid "All files"
220
  msgstr ""
221
 
222
+ #: admin/cerber-dashboard.php:3214
223
  msgid "All files have been processed"
224
  msgstr ""
225
 
231
  msgid "All Logins"
232
  msgstr ""
233
 
234
+ #: admin/cerber-admin.php:784
235
  msgid "All scans"
236
  msgstr ""
237
 
239
  msgid "All servers"
240
  msgstr ""
241
 
242
+ #: cerber-settings.php:875
243
  msgid "All traffic"
244
  msgstr ""
245
 
255
  msgid "Allow these namespaces"
256
  msgstr ""
257
 
258
+ #: cerber-lab.php:894
259
  msgid ""
260
  "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. "
261
  "This helps the plugin team to develop new algorithms for WP Cerber that will "
275
  msgid "An optional message for this user"
276
  msgstr ""
277
 
278
+ #: admin/cerber-dashboard.php:5279
279
  msgid "Analytics"
280
  msgstr ""
281
 
282
+ #: cerber-settings.php:1143
283
  msgid "Analyze the uploads directory"
284
  msgstr ""
285
 
286
+ #: cerber-settings.php:1144
287
  msgid "Analyze the WordPress uploads directory to detect injected files"
288
  msgstr ""
289
 
290
+ #: admin/cerber-dashboard.php:77
291
  msgid "Anti-spam"
292
  msgstr ""
293
 
294
+ #: admin/cerber-dashboard.php:5190
295
  msgid "Anti-spam and bot detection settings"
296
  msgstr ""
297
 
298
+ #: admin/cerber-dashboard.php:5192
299
  msgid "Anti-spam engine"
300
  msgstr ""
301
 
302
+ #: cerber-settings.php:1545
303
  msgid "Any activity"
304
  msgstr ""
305
 
306
+ #: admin/cerber-dashboard.php:3658
307
  msgid "Any country is permitted"
308
  msgstr ""
309
 
310
+ #: cerber-common.php:1623
311
  msgid "API request authorization failed"
312
  msgstr ""
313
 
314
+ #: cerber-common.php:1622
315
  msgid "API request authorized"
316
  msgstr ""
317
 
320
  msgstr ""
321
 
322
  #. For translators
323
+ #: admin/cerber-admin.php:885
324
  msgid "Apply"
325
  msgstr ""
326
 
328
  msgid "Apply limit login rules to IP addresses in the White IP Access List"
329
  msgstr ""
330
 
331
+ #: admin/cerber-dashboard.php:3206
332
  msgid "Are you sure you want to delete selected files?"
333
  msgstr ""
334
 
336
  msgid "Are you sure you want to delete selected websites?"
337
  msgstr ""
338
 
339
+ #: admin/cerber-dashboard.php:5636 admin/cerber-tools.php:59
340
+ #: admin/cerber-admin.php:738 admin/cerber-admin.php:905
341
  msgid "Are you sure?"
342
  msgstr ""
343
 
345
  msgid "Are you sure? This permanently invalidates the token."
346
  msgstr ""
347
 
348
+ #: cerber-common.php:1747
349
  msgid "Attempt to access"
350
  msgstr ""
351
 
352
+ #: cerber-common.php:1597 cerber-common.php:1748
353
  msgid "Attempt to access prohibited URL"
354
  msgstr ""
355
 
356
+ #: cerber-common.php:1602
357
  msgid "Attempt to log in denied"
358
  msgstr ""
359
 
360
+ #: cerber-common.php:1598 cerber-common.php:1749
361
  msgid "Attempt to log in with non-existing username"
362
  msgstr ""
363
 
364
+ #: cerber-common.php:1599 cerber-common.php:1750
365
  msgid "Attempt to log in with prohibited username"
366
  msgstr ""
367
 
368
+ #: cerber-common.php:1603
369
  msgid "Attempt to register denied"
370
  msgstr ""
371
 
372
+ #: cerber-common.php:1756
373
  msgid "Attempt to upload a file with malicious code"
374
  msgstr ""
375
 
376
+ #: cerber-common.php:1605
377
  msgid "Attempt to upload malicious file denied"
378
  msgstr ""
379
 
380
+ #: cerber-load.php:5047
381
  msgid "Attempts to log in with non-existing usernames"
382
  msgstr ""
383
 
384
+ #: admin/cerber-dashboard.php:2850
385
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
386
  msgstr ""
387
 
389
  msgid "Attention! You have changed the login URL! The new login URL is"
390
  msgstr ""
391
 
392
+ #: admin/cerber-admin.php:1499
393
  msgid "Authorization Failed"
394
  msgstr ""
395
 
396
+ #: admin/cerber-admin.php:1498
397
  msgid "Authorized"
398
  msgstr ""
399
 
405
  msgid "Authorized users only"
406
  msgstr ""
407
 
408
+ #: cerber-settings.php:1054
409
  msgid "Automated recurring scan schedule"
410
  msgstr ""
411
 
412
+ #: cerber-settings.php:1113
413
  msgid "Automatic cleanup of malware and suspicious files"
414
  msgstr ""
415
 
416
+ #: admin/cerber-admin.php:771
417
  msgid "Automatic deletion"
418
  msgstr ""
419
 
420
+ #: cerber-settings.php:1177
421
  msgid "Automatic recovery of modified and infected files"
422
  msgstr ""
423
 
433
  msgid "Automatically recovered"
434
  msgstr ""
435
 
436
+ #: admin/cerber-admin.php:1214
437
  msgid "Average Size"
438
  msgstr ""
439
 
440
+ #: cerber-load.php:7980
441
  msgid "Awesome!"
442
  msgstr ""
443
 
444
+ #: admin/cerber-admin.php:1003
445
  msgid "Back to list"
446
  msgstr ""
447
 
449
  msgid "Be careful about enabling these options."
450
  msgstr ""
451
 
452
+ #: cerber-settings.php:1323
453
  msgid ""
454
  "Before you can start using reCAPTCHA, you have to obtain Site key and Secret "
455
  "key on the Google website"
456
  msgstr ""
457
 
458
+ #: admin/cerber-dashboard.php:278 admin/cerber-dashboard.php:1599
459
+ #: admin/cerber-dashboard.php:1683 admin/cerber-dashboard.php:2085
460
  #: admin/cerber-tools.php:70
461
  msgid "Black IP Access List"
462
  msgstr ""
501
  msgid "Block IP address for"
502
  msgstr ""
503
 
504
+ #: cerber-settings.php:845
505
  msgid ""
506
  "Block IP addresses that send excessive requests for non-existing pages or "
507
  "scan website for security breaches"
523
  msgid "Block user"
524
  msgstr ""
525
 
526
+ #: cerber-common.php:1653
527
  msgid "Blocked by administrator"
528
  msgstr ""
529
 
530
+ #: cerber-common.php:1643
531
  msgid "Blocked by country rule"
532
  msgstr ""
533
 
535
  msgid "Blocked Users"
536
  msgstr ""
537
 
538
+ #: cerber-common.php:1752
539
  msgid "Bot activity is detected"
540
  msgstr ""
541
 
542
+ #: cerber-common.php:1637
543
  msgid "Bot detected"
544
  msgstr ""
545
 
546
+ #: admin/cerber-admin.php:1063
547
  msgid "Brief summary"
548
  msgstr ""
549
 
555
  msgid "by date of registration"
556
  msgstr ""
557
 
558
+ #: cerber-load.php:7960
559
  msgid ""
560
  "By sharing your unique opinion on WP Cerber, you help the engineers behind "
561
  "the plugin make greater progress and help other professionals find the right "
563
  "free to use your native language. Thanks!"
564
  msgstr ""
565
 
566
+ #: cerber-load.php:4855
567
  msgid "By user"
568
  msgstr ""
569
 
570
+ #: cerber-common.php:2039
571
  msgid "Bytes"
572
  msgstr ""
573
 
574
+ #: cerber-load.php:5894
575
  msgid "Can't activate WP Cerber due to a database error."
576
  msgstr ""
577
 
578
+ #: cerber-2fa.php:661
579
  msgid "Cancel"
580
  msgstr ""
581
 
582
+ #: cerber-settings.php:1222
583
  msgid "Cerber anti-spam engine"
584
  msgstr ""
585
 
603
  msgid "Cerber Lab protocol"
604
  msgstr ""
605
 
606
+ #: admin/cerber-dashboard.php:2024
607
  msgid "Cerber Quick View"
608
  msgstr ""
609
 
627
  msgid "Cerber User Security"
628
  msgstr ""
629
 
630
+ #: cerber-settings.php:1037
631
  msgid "Change file and directory permissions if it is required to delete files"
632
  msgstr ""
633
 
634
+ #: cerber-settings.php:1036
635
  msgid "Change filesystem permissions"
636
  msgstr ""
637
 
639
  msgid "Changed files"
640
  msgstr ""
641
 
642
+ #: admin/cerber-dashboard.php:5331
643
  msgid "Changelog"
644
  msgstr ""
645
 
646
+ #: admin/cerber-dashboard.php:325 admin/cerber-dashboard.php:1669
647
+ #: admin/cerber-dashboard.php:1726 admin/cerber-dashboard.php:1857
648
  msgid "Check for activities"
649
  msgstr ""
650
 
651
+ #: cerber-common.php:235 admin/cerber-dashboard.php:1382
652
  msgid "Check for requests"
653
  msgstr ""
654
 
660
  msgid "Checksum mismatch"
661
  msgstr ""
662
 
663
+ #: cerber-common.php:1572
664
  msgid "Citadel activated!"
665
  msgstr ""
666
 
667
+ #: cerber-settings.php:284 admin/cerber-dashboard.php:2086
668
  msgid "Citadel mode"
669
  msgstr ""
670
 
671
+ #: cerber-load.php:4799
672
  msgid "Citadel mode is activated"
673
  msgstr ""
674
 
675
+ #: cerber-load.php:4801
676
  #, php-format
677
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
678
  msgstr ""
679
 
680
+ #: cerber-common.php:1638
681
  msgid "Citadel mode is active"
682
  msgstr ""
683
 
684
+ #: admin/cerber-dashboard.php:5276
685
  msgid "Cleaning up"
686
  msgstr ""
687
 
688
+ #: admin/cerber-admin.php:730
689
  msgid "Click here to see the full list of files"
690
  msgstr ""
691
 
692
+ #: admin/cerber-dashboard.php:3741
693
  msgid "Click on a country name to add it to the list of selected countries"
694
  msgstr ""
695
 
696
+ #: admin/cerber-dashboard.php:225
697
  msgid "Click the IP address to see its activity"
698
  msgstr ""
699
 
709
  msgid "Click to send test"
710
  msgstr ""
711
 
712
+ #: cerber-common.php:1576
713
  msgid "Comment denied"
714
  msgstr ""
715
 
716
+ #: cerber-settings.php:1232 cerber-settings.php:1370
717
  msgid "Comment form"
718
  msgstr ""
719
 
720
+ #: cerber-settings.php:1304
721
  msgid "Comment processing"
722
  msgstr ""
723
 
724
+ #: admin/cerber-dashboard.php:1952
725
  msgid "Comments"
726
  msgstr ""
727
 
733
  msgid "Configure this website as a master to manage other website"
734
  msgstr ""
735
 
736
+ #: cerber-settings.php:1072
737
  msgid ""
738
  "Configure what issues to include in the email report and the condition for "
739
  "sending reports"
751
  msgid "Cookies"
752
  msgstr ""
753
 
754
+ #: admin/cerber-dashboard.php:5258
755
  msgid "Countries"
756
  msgstr ""
757
 
758
+ #: admin/cerber-dashboard.php:213 admin/cerber-dashboard.php:1336
759
  msgid "Country"
760
  msgstr ""
761
 
762
+ #: admin/cerber-dashboard.php:2946
763
  msgid "Create Alert"
764
  msgstr ""
765
 
776
  "Currently a scheduled scan in progress. Please wait until it is finished."
777
  msgstr ""
778
 
779
+ #: cerber-settings.php:1237
780
  msgid "Custom comment URL"
781
  msgstr ""
782
 
798
  msgid "Custom signature found"
799
  msgstr ""
800
 
801
+ #: cerber-settings.php:1017
802
  msgid "Custom signatures"
803
  msgstr ""
804
 
805
+ #: admin/cerber-dashboard.php:60 admin/cerber-dashboard.php:2126
806
+ #: admin/cerber-dashboard.php:3060 admin/cerber-dashboard.php:5139
807
  msgid "Dashboard"
808
  msgstr ""
809
 
811
  msgid "Data Shield"
812
  msgstr ""
813
 
814
+ #: admin/cerber-dashboard.php:5226
815
  msgid "Data Shield Policies"
816
  msgstr ""
817
 
818
+ #: admin/cerber-dashboard.php:943 admin/cerber-dashboard.php:1337
819
+ #: admin/cerber-dashboard.php:3918 admin/cerber-dashboard.php:4405
820
  msgid "Date"
821
  msgstr ""
822
 
828
  msgid "Date format for CSV export"
829
  msgstr ""
830
 
831
+ #: cerber-settings.php:321 cerber-settings.php:327 cerber-settings.php:963
832
+ #: cerber-settings.php:969 cerber-settings.php:1048 cerber-settings.php:1316
833
  msgid "days"
834
  msgstr ""
835
 
836
+ #: admin/cerber-dashboard.php:2851
837
  msgid "Deactivate"
838
  msgstr ""
839
 
840
+ #: admin/cerber-dashboard.php:2063
841
  msgid "deactivate"
842
  msgstr ""
843
 
845
  msgid "Default processing"
846
  msgstr ""
847
 
848
+ #: admin/cerber-dashboard.php:736
849
  msgid "Default settings have been loaded"
850
  msgstr ""
851
 
870
  msgid "Delete"
871
  msgstr ""
872
 
873
+ #: admin/cerber-dashboard.php:2950
874
  msgid "Delete Alert"
875
  msgstr ""
876
 
877
+ #: cerber-settings.php:1122
878
  msgid "Delete files in the WordPress uploads directory"
879
  msgstr ""
880
 
881
+ #: cerber-settings.php:1131
882
  msgid "Delete files with unwanted extensions"
883
  msgstr ""
884
 
885
+ #: admin/cerber-admin.php:748
886
  msgid "Delete permanently"
887
  msgstr ""
888
 
889
+ #: cerber-settings.php:1164
890
  msgid "Delete publicly accessible files with these extensions"
891
  msgstr ""
892
 
893
+ #: cerber-settings.php:1046
894
  msgid "Delete quarantined files after"
895
  msgstr ""
896
 
897
+ #: cerber-settings.php:1118
898
  msgid "Delete unattended files"
899
  msgstr ""
900
 
910
  msgid "Deleted"
911
  msgstr ""
912
 
913
+ #: cerber-common.php:1646
914
  msgid "Denied"
915
  msgstr ""
916
 
926
  msgid "Deny further login attempts"
927
  msgstr ""
928
 
929
+ #: cerber-settings.php:1310
930
  msgid "Deny it completely"
931
  msgstr ""
932
 
933
+ #: cerber-common.php:3107
934
  msgid "Destination folder access denied"
935
  msgstr ""
936
 
942
  msgid "Determined by user role policies"
943
  msgstr ""
944
 
945
+ #: admin/cerber-dashboard.php:5329
946
  msgid "Diagnostic"
947
  msgstr ""
948
 
949
+ #: cerber-settings.php:1042 cerber-settings.php:1428 cerber-settings.php:1456
950
+ #: admin/cerber-dashboard.php:5330
951
  msgid "Diagnostic Log"
952
  msgstr ""
953
 
954
+ #: cerber-2fa.php:662
955
  msgid "Did not receive the email?"
956
  msgstr ""
957
 
958
+ #: cerber-settings.php:1024
959
  msgid "Directories to exclude"
960
  msgstr ""
961
 
965
  "by an unauthorized request"
966
  msgstr ""
967
 
968
+ #: cerber-settings.php:1290
969
+ msgid ""
970
+ "Disable bot detection engine for IP addresses in the White IP Access List"
971
+ msgstr ""
972
+
973
+ #: cerber-settings.php:1285
974
  msgid "Disable bot detection engine for logged-in users"
975
  msgstr ""
976
 
994
  msgid "Disable PHP in uploads"
995
  msgstr ""
996
 
997
+ #: cerber-settings.php:1382
998
+ msgid "Disable reCAPTCHA for IP addresses in the White IP Access List"
999
+ msgstr ""
1000
+
1001
+ #: cerber-settings.php:1376
1002
  msgid "Disable reCAPTCHA for logged-in users"
1003
  msgstr ""
1004
 
1023
  msgstr ""
1024
 
1025
  #: cerber-scanner.php:1717 cerber-settings.php:678 cerber-settings.php:820
1026
+ #: cerber-settings.php:851 cerber-settings.php:985 cerber-settings.php:994
1027
+ #: cerber-settings.php:1449 admin/cerber-dashboard.php:2113
1028
+ #: admin/cerber-dashboard.php:2115 admin/cerber-users.php:20
1029
  #: admin/cerber-users.php:474 admin/cerber-users.php:488
1030
  msgid "Disabled"
1031
  msgstr ""
1032
 
1033
+ #: admin/cerber-dashboard.php:2070 admin/cerber-dashboard.php:2088
1034
  msgid "disabled"
1035
  msgstr ""
1036
 
1067
  "Do not apply these policy to the IP addresses in the White IP Access List"
1068
  msgstr ""
1069
 
1070
+ #: cerber-settings.php:889
1071
  msgid "Do not log known crawlers"
1072
  msgstr ""
1073
 
1074
+ #: cerber-settings.php:894
1075
  msgid "Do not log these locations"
1076
  msgstr ""
1077
 
1078
+ #: cerber-settings.php:902
1079
  msgid "Do not log these User-Agents"
1080
  msgstr ""
1081
 
1095
  msgid "Do not show PHP errors on my website"
1096
  msgstr ""
1097
 
1098
+ #: admin/cerber-dashboard.php:3210
1099
  msgid "Do you want to add selected files to the ignore list?"
1100
  msgstr ""
1101
 
1117
  msgid "Edit"
1118
  msgstr ""
1119
 
1120
+ #: cerber-settings.php:753 cerber-settings.php:800 cerber-settings.php:1102
1121
  msgid "Email Address"
1122
  msgstr ""
1123
 
1124
+ #: cerber-load.php:1926
1125
  msgid "Email address is not permitted."
1126
  msgstr ""
1127
 
1128
+ #: cerber-common.php:1659
1129
  msgid "Email address is prohibited"
1130
  msgstr ""
1131
 
1132
+ #: admin/cerber-dashboard.php:667
1133
  msgid "Email has been sent to"
1134
  msgstr ""
1135
 
1154
  msgid "Enable data export"
1155
  msgstr ""
1156
 
1157
+ #: cerber-settings.php:1041 cerber-settings.php:1427 cerber-settings.php:1455
1158
  msgid "Enable diagnostic logging"
1159
  msgstr ""
1160
 
1161
+ #: cerber-settings.php:848
1162
  msgid "Enable error shielding"
1163
  msgstr ""
1164
 
1165
+ #: cerber-settings.php:1336
1166
  msgid "Enable invisible reCAPTCHA"
1167
  msgstr ""
1168
 
1170
  msgid "Enable master mode"
1171
  msgstr ""
1172
 
1173
+ #: cerber-settings.php:865
1174
  msgid ""
1175
  "Enable optional traffic logging if you need to monitor suspicious and "
1176
  "malicious activity or solve security issues"
1177
  msgstr ""
1178
 
1179
+ #: cerber-settings.php:1366
1180
  msgid "Enable reCAPTCHA for WooCommerce login form"
1181
  msgstr ""
1182
 
1183
+ #: cerber-settings.php:1356
1184
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
1185
  msgstr ""
1186
 
1187
+ #: cerber-settings.php:1346
1188
  msgid "Enable reCAPTCHA for WooCommerce registration form"
1189
  msgstr ""
1190
 
1191
+ #: cerber-settings.php:1371
1192
  msgid "Enable reCAPTCHA for WordPress comment form"
1193
  msgstr ""
1194
 
1195
+ #: cerber-settings.php:1361
1196
  msgid "Enable reCAPTCHA for WordPress login form"
1197
  msgstr ""
1198
 
1199
+ #: cerber-settings.php:1351
1200
  msgid "Enable reCAPTCHA for WordPress lost password form"
1201
  msgstr ""
1202
 
1203
+ #: cerber-settings.php:1341
1204
  msgid "Enable reCAPTCHA for WordPress registration form"
1205
  msgstr ""
1206
 
1216
  msgid "Enable traffic inspection"
1217
  msgstr ""
1218
 
1219
+ #: admin/cerber-dashboard.php:2088
1220
  msgid "enabled"
1221
  msgstr ""
1222
 
1237
  msgid "Enforce two-factor authentication with fixed intervals"
1238
  msgstr ""
1239
 
1240
+ #: cerber-settings.php:1295
1241
  msgid ""
1242
  "Enter a part of query string or query path to exclude a request from "
1243
  "inspection by the engine. One item per line."
1244
  msgstr ""
1245
 
1246
+ #: cerber-settings.php:836
1247
  msgid ""
1248
  "Enter a request URI to exclude the request from inspection. One item per "
1249
  "line."
1250
  msgstr ""
1251
 
1252
+ #: cerber-2fa.php:658
1253
  msgid "Enter the code from the email in the field below."
1254
  msgstr ""
1255
 
1256
+ #: admin/cerber-dashboard.php:2084 admin/cerber-dashboard.php:2085
1257
+ #: admin/cerber-dashboard.php:3038
1258
  msgid "entry"
1259
  msgid_plural "entries"
1260
  msgstr[0] ""
1261
  msgstr[1] ""
1262
 
1263
+ #: cerber-settings.php:843
1264
  msgid "Erroneous Request Shielding"
1265
  msgstr ""
1266
 
1268
  msgid "Error while parsing file"
1269
  msgstr ""
1270
 
1271
+ #: cerber-load.php:711 cerber-load.php:724 cerber-load.php:732
1272
+ #: cerber-load.php:1080 cerber-load.php:1941 cerber-load.php:2264
1273
+ #: cerber-load.php:3375 cerber-common.php:390 cerber-common.php:489
1274
+ #: cerber-common.php:494 cerber-common.php:500 cerber-common.php:504
1275
+ #: nexus/cerber-nexus-slave.php:203 nexus/cerber-nexus-slave.php:214
1276
  #: admin/cerber-admin-settings.php:649 admin/cerber-admin-settings.php:669
1277
+ #: admin/cerber-admin-settings.php:777 admin/cerber-admin.php:875
1278
  msgid "ERROR:"
1279
  msgstr ""
1280
 
1283
  msgid "Error: file %s cannot be used."
1284
  msgstr ""
1285
 
1286
+ #: admin/cerber-dashboard.php:4440
1287
  msgid "Errors"
1288
  msgstr ""
1289
 
1290
+ #: admin/cerber-dashboard.php:944 admin/cerber-dashboard.php:1338
1291
  msgid "Event"
1292
  msgstr ""
1293
 
1303
  msgid "Every hour"
1304
  msgstr ""
1305
 
1306
+ #: admin/cerber-dashboard.php:2110
1307
  msgctxt "Example: Last malware scan: 23 Jan 2018"
1308
  msgid "Last malware scan"
1309
  msgstr ""
1312
  msgid "Executable code found"
1313
  msgstr ""
1314
 
1315
+ #: cerber-common.php:1670
1316
  msgid "Executable file extension detected"
1317
  msgstr ""
1318
 
1319
+ #: cerber-settings.php:986 cerber-settings.php:995
1320
  msgid "Executable files"
1321
  msgstr ""
1322
 
1323
+ #: admin/cerber-admin.php:538
1324
  msgid "Executable files are not supported. Please upload a ZIP archive."
1325
  msgstr ""
1326
 
1327
+ #: admin/cerber-dashboard.php:214 admin/cerber-users.php:925
1328
  msgid "Expires"
1329
  msgstr ""
1330
 
1331
+ #: cerber-2fa.php:577
1332
  msgid "expires"
1333
  msgstr ""
1334
 
1335
+ #: admin/cerber-dashboard.php:1369 admin/cerber-dashboard.php:4464
1336
  msgid "Export"
1337
  msgstr ""
1338
 
1340
  msgid "Export settings to the file"
1341
  msgstr ""
1342
 
1343
+ #: admin/cerber-admin.php:1209
1344
  msgid "Extension"
1345
  msgstr ""
1346
 
1347
+ #: admin/cerber-dashboard.php:2076
1348
  msgid "failed attempts"
1349
  msgstr ""
1350
 
1351
+ #: admin/cerber-dashboard.php:1954
1352
  msgid "Failed login attempts"
1353
  msgstr ""
1354
 
1355
+ #: admin/cerber-admin.php:773 admin/cerber-admin.php:928
1356
  msgid "File"
1357
  msgstr ""
1358
 
1359
+ #: admin/cerber-admin.php:360
1360
  msgid ""
1361
  "File access error. Possibly scan results are outdated. Please run Quick or "
1362
  "Full Scan."
1366
  msgid "File deleted"
1367
  msgstr ""
1368
 
1369
+ #: admin/cerber-admin.php:1206
1370
  msgid "File extensions statistics"
1371
  msgstr ""
1372
 
1374
  msgid "File is missing"
1375
  msgstr ""
1376
 
1377
+ #: admin/cerber-admin.php:1391
1378
  msgid "File Name"
1379
  msgstr ""
1380
 
1381
+ #: cerber-common.php:3110
1382
  msgid "File not found"
1383
  msgstr ""
1384
 
1386
  msgid "File recovered"
1387
  msgstr ""
1388
 
1389
+ #: cerber-common.php:1606
1390
  msgid "File upload denied"
1391
  msgstr ""
1392
 
1393
+ #: cerber-common.php:1671
1394
  msgid "Filename is prohibited"
1395
  msgstr ""
1396
 
1397
+ #: admin/cerber-admin.php:1116 admin/cerber-admin.php:1210
1398
  msgid "Files"
1399
  msgstr ""
1400
 
1401
+ #: cerber-settings.php:1210
1402
  msgid "Files in temporary directories"
1403
  msgstr ""
1404
 
1405
+ #: cerber-settings.php:1214
1406
  msgid "Files in the sessions directory"
1407
  msgstr ""
1408
 
1409
+ #: cerber-settings.php:1194
1410
  msgid "Files in these directories"
1411
  msgstr ""
1412
 
1418
  msgid "Files to scan"
1419
  msgstr ""
1420
 
1421
+ #: cerber-settings.php:1201
1422
  msgid "Files with these extensions"
1423
  msgstr ""
1424
 
1425
+ #: admin/cerber-admin.php:1002
1426
  msgid "Files without extension"
1427
  msgstr ""
1428
 
1429
+ #: admin/cerber-dashboard.php:1405
1430
  msgid "Filter"
1431
  msgstr ""
1432
 
1433
+ #: admin/cerber-dashboard.php:1393 admin/cerber-users.php:970
1434
  msgid "Filter by registered user"
1435
  msgstr ""
1436
 
1446
  msgid "Fixed number of logins"
1447
  msgstr ""
1448
 
1449
+ #: admin/cerber-admin.php:1114
1450
  msgid "Folder"
1451
  msgstr ""
1452
 
1453
+ #: cerber-common.php:1669
1454
  msgid "Forbidden URL"
1455
  msgstr ""
1456
 
1458
  msgid "Form fields data"
1459
  msgstr ""
1460
 
1461
+ #: cerber-common.php:1575
1462
  msgid "Form submission denied"
1463
  msgstr ""
1464
 
1465
+ #: admin/cerber-dashboard.php:4443
1466
  msgid "Form submissions"
1467
  msgstr ""
1468
 
1469
+ #: cerber-load.php:4859
1470
  msgid "From country"
1471
  msgstr ""
1472
 
1473
+ #: cerber-load.php:4856
1474
  msgid "From IP address"
1475
  msgstr ""
1476
 
1477
+ #: cerber-settings.php:1447
1478
  msgid "Full access mode"
1479
  msgstr ""
1480
 
1481
+ #: cerber-scanner.php:1032 admin/cerber-dashboard.php:2116
1482
  msgid "Full Scan"
1483
  msgstr ""
1484
 
1490
  msgid "Get notified instantly with mobile and desktop notifications"
1491
  msgstr ""
1492
 
1493
+ #: cerber-load.php:4866 cerber-load.php:5941
1494
  msgid "Getting Started Guide"
1495
  msgstr ""
1496
 
1497
+ #: admin/cerber-dashboard.php:5239
1498
  msgid "Global"
1499
  msgstr ""
1500
 
1501
+ #: cerber-settings.php:1190
1502
  msgid "Global Exclusions"
1503
  msgstr ""
1504
 
1510
  msgid "Group"
1511
  msgstr ""
1512
 
1513
+ #: admin/cerber-dashboard.php:5145
1514
  msgid "Hardening"
1515
  msgstr ""
1516
 
1518
  msgid "Hardening WordPress"
1519
  msgstr ""
1520
 
1521
+ #: admin/cerber-dashboard.php:5433
1522
  msgid "Help"
1523
  msgstr ""
1524
 
1525
+ #: cerber-2fa.php:523
1526
  msgid "Here are the details of the sign-in attempt"
1527
  msgstr ""
1528
 
1529
+ #: cerber-load.php:4840
1530
  msgid "Hi!"
1531
  msgstr ""
1532
 
1538
  msgid "Hide Toolbar when viewing site"
1539
  msgstr ""
1540
 
1541
+ #: cerber-settings.php:1081 cerber-settings.php:1127
1542
  msgid "High severity"
1543
  msgstr ""
1544
 
1545
+ #: admin/cerber-dashboard.php:4408 admin/cerber-users.php:927
1546
  msgid "Host Info"
1547
  msgstr ""
1548
 
1549
+ #: admin/cerber-dashboard.php:212 admin/cerber-dashboard.php:1335
1550
  msgid "Hostname"
1551
  msgstr ""
1552
 
1553
+ #: cerber-settings.php:1305
1554
  msgid ""
1555
  "How the plugin processes comments submitted through the standard comment form"
1556
  msgstr ""
1564
  msgid "https://wpcerber.com"
1565
  msgstr ""
1566
 
1567
+ #: cerber-load.php:743
1568
+ msgid "Human verification failed."
1569
+ msgstr ""
1570
+
1571
+ #: cerber-load.php:746
1572
  msgid ""
1573
  "Human verification failed. Please click the square box in the reCAPTCHA "
1574
  "block below."
1575
  msgstr ""
1576
 
1577
+ #: cerber-settings.php:1308
1578
  msgid "If a spam comment detected"
1579
  msgstr ""
1580
 
1581
+ #: cerber-settings.php:1089
1582
  msgid "If any changes in scan results occurred"
1583
  msgstr ""
1584
 
1587
  msgid "if empty, the default format %s will be used"
1588
  msgstr ""
1589
 
1590
+ #: cerber-settings.php:801 cerber-settings.php:1103
1591
  msgid ""
1592
  "if empty, the email addresses from the notification settings will be used"
1593
  msgstr ""
1597
  msgid "if empty, the website administrator email %s will be used"
1598
  msgstr ""
1599
 
1600
+ #: cerber-settings.php:1090
1601
  msgid "If new issues found"
1602
  msgstr ""
1603
 
1605
  msgid "If the number of concurrent user sessions is greater"
1606
  msgstr ""
1607
 
1608
+ #: cerber-load.php:1830
1609
  msgid ""
1610
  "If we have found your account, we have sent the confirmation link to the "
1611
  "email address on the account."
1612
  msgstr ""
1613
 
1614
+ #: cerber-load.php:4661
1615
  msgid ""
1616
  "If you believe you should be able to perform this request, please let us "
1617
  "know."
1631
  msgid "Ignore"
1632
  msgstr ""
1633
 
1634
+ #: cerber-settings.php:1151
1635
  msgid "Ignore files with these extensions"
1636
  msgstr ""
1637
 
1638
+ #: admin/cerber-dashboard.php:5277
1639
  msgid "Ignore List"
1640
  msgstr ""
1641
 
1642
+ #: cerber-settings.php:857
1643
  msgid "Ignore logged-in users"
1644
  msgstr ""
1645
 
1652
  "Immediately block IP when attempting to log in with a non-existing username"
1653
  msgstr ""
1654
 
1655
+ #: cerber-load.php:5950
1656
  msgid "Import settings"
1657
  msgstr ""
1658
 
1664
  msgid "Important note if you have a caching plugin in place"
1665
  msgstr ""
1666
 
1667
+ #: admin/cerber-dashboard.php:2076 admin/cerber-dashboard.php:2077
1668
  msgid "in 24 hours"
1669
  msgstr ""
1670
 
1678
  msgid "Include activity log events"
1679
  msgstr ""
1680
 
1681
+ #: cerber-settings.php:1094
1682
  msgid "Include file sizes"
1683
  msgstr ""
1684
 
1685
+ #: cerber-settings.php:1098
1686
  msgid "Include scan errors"
1687
  msgstr ""
1688
 
1690
  msgid "Include traffic log entries"
1691
  msgstr ""
1692
 
1693
+ #: admin/cerber-dashboard.php:5482
1694
  msgid "Incorrect IP address or IP range"
1695
  msgstr ""
1696
 
1697
+ #: cerber-common.php:1664
1698
  msgid "Incorrect password"
1699
  msgstr ""
1700
 
1708
  msgid "Initialization Mode"
1709
  msgstr ""
1710
 
1711
+ #: cerber-common.php:1656
1712
  msgid "Initiated by the user"
1713
  msgstr ""
1714
 
1724
  msgid "Install the access token on the master website."
1725
  msgstr ""
1726
 
1727
+ #: admin/cerber-dashboard.php:2129
1728
  msgid "Integrity"
1729
  msgstr ""
1730
 
1732
  msgid "Integrity data not found"
1733
  msgstr ""
1734
 
1735
+ #: cerber-common.php:1667
1736
  msgid "Invalid cookies"
1737
  msgstr ""
1738
 
1739
+ #: cerber-common.php:1668
1740
  msgid "Invalid cookies cleared"
1741
  msgstr ""
1742
 
1743
+ #: cerber-common.php:1629
1744
  msgid "Invalid master credentials"
1745
  msgstr ""
1746
 
1748
  msgid "Invalid response from the slave website"
1749
  msgstr ""
1750
 
1751
+ #: cerber-common.php:1663
1752
  msgid "Invalid user"
1753
  msgstr ""
1754
 
1755
+ #: cerber-settings.php:1335
1756
  msgid "Invisible reCAPTCHA"
1757
  msgstr ""
1758
 
1759
+ #: cerber-load.php:5616
1760
  msgid "IP"
1761
  msgstr ""
1762
 
1763
+ #: admin/cerber-dashboard.php:211 admin/cerber-dashboard.php:942
1764
+ #: admin/cerber-dashboard.php:1334 admin/cerber-dashboard.php:4407
1765
  #: admin/cerber-users.php:926
1766
  msgid "IP Address"
1767
  msgstr ""
1768
 
1769
+ #: admin/cerber-dashboard.php:3917
1770
  msgid "IP address"
1771
  msgstr ""
1772
 
1773
+ #: admin/cerber-dashboard.php:369
1774
  #, php-format
1775
  msgid "IP address %s has been added to Black IP Access List"
1776
  msgstr ""
1777
 
1778
+ #: admin/cerber-dashboard.php:372
1779
  #, php-format
1780
  msgid "IP address %s has been added to White IP Access List"
1781
  msgstr ""
1782
 
1783
+ #: cerber-common.php:1640
1784
  msgid "IP address is locked out"
1785
  msgstr ""
1786
 
1787
+ #: cerber-common.php:1665
1788
  msgid "IP address is not allowed"
1789
  msgstr ""
1790
 
1791
+ #: admin/cerber-dashboard.php:341
1792
  msgid "IP address, range, wildcard, or CIDR"
1793
  msgstr ""
1794
 
1795
+ #: cerber-common.php:1641
1796
  msgid "IP blacklisted"
1797
  msgstr ""
1798
 
1799
+ #: cerber-common.php:1568 admin/cerber-dashboard.php:1087
1800
  msgid "IP blocked"
1801
  msgstr ""
1802
 
1803
+ #: cerber-common.php:1569
1804
  msgid "IP subnet blocked"
1805
  msgstr ""
1806
 
1807
+ #: cerber-common.php:1674
1808
  msgid "IP whitelisted"
1809
  msgstr ""
1810
 
1840
  "encryption. This may lead to data leakage."
1841
  msgstr ""
1842
 
1843
+ #: cerber-settings.php:326 cerber-settings.php:968
1844
  msgid "Keep log records of logged in users for"
1845
  msgstr ""
1846
 
1847
+ #: cerber-settings.php:320 cerber-settings.php:962
1848
  msgid "Keep log records of not logged in visitors for"
1849
  msgstr ""
1850
 
1851
+ #: cerber-settings.php:1138
1852
  msgid ""
1853
  "Keep the WordPress uploads directory clean and secure. Detect injected files "
1854
  "with public web access, report them, and remove malicious ones."
1855
  msgstr ""
1856
 
1857
+ #: cerber-lab.php:897 admin/cerber-admin-settings.php:101
1858
  #: admin/cerber-admin-settings.php:251
1859
  msgid "Know more"
1860
  msgstr ""
1861
 
1862
+ #: admin/cerber-dashboard.php:5622
1863
  msgid "Know more about all advantages at"
1864
  msgstr ""
1865
 
1866
+ #: admin/cerber-admin.php:1213
1867
  msgid "Largest"
1868
  msgstr ""
1869
 
1870
+ #: cerber-load.php:4802
1871
  #, php-format
1872
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
1873
  msgstr ""
1874
 
1875
+ #: admin/cerber-dashboard.php:2080
1876
  msgid "Last lockout"
1877
  msgstr ""
1878
 
1879
+ #: cerber-load.php:4833
1880
  #, php-format
1881
  msgid "Last lockout was added: %s for IP %s"
1882
  msgstr ""
1883
 
1884
+ #: admin/cerber-dashboard.php:1953
1885
  msgid "Last login"
1886
  msgstr ""
1887
 
1888
+ #: admin/cerber-dashboard.php:1906
1889
  msgid "Last seen"
1890
  msgstr ""
1891
 
1892
+ #: cerber-settings.php:1064
1893
  msgid "Launch Full Scan"
1894
  msgstr ""
1895
 
1896
+ #: cerber-settings.php:1059
1897
  msgid "Launch Quick Scan"
1898
  msgstr ""
1899
 
1901
  msgid "Legacy mode"
1902
  msgstr ""
1903
 
1904
+ #: admin/cerber-dashboard.php:5332
1905
  msgid "License"
1906
  msgstr ""
1907
 
1908
+ #: cerber-settings.php:1438
1909
  msgid "Limit access by IP address"
1910
  msgstr ""
1911
 
1912
+ #: cerber-settings.php:1386
1913
  msgid "Limit attempts"
1914
  msgstr ""
1915
 
1917
  msgid "Limit login attempts"
1918
  msgstr ""
1919
 
1920
+ #: cerber-common.php:1666
1921
  msgid "Limit on concurrent user sessions"
1922
  msgstr ""
1923
 
1924
+ #: cerber-common.php:1751
1925
  msgid "Limit on failed reCAPTCHA verifications is reached"
1926
  msgstr ""
1927
 
1928
+ #: cerber-common.php:1746
1929
  msgid "Limit on login attempts is reached"
1930
  msgstr ""
1931
 
1932
+ #: cerber-common.php:1644
1933
  msgid "Limit reached"
1934
  msgstr ""
1935
 
1936
+ #: admin/cerber-dashboard.php:335
1937
  msgid "List is empty"
1938
  msgstr ""
1939
 
1940
+ #: admin/cerber-dashboard.php:5212
1941
  msgid "Live Traffic"
1942
  msgstr ""
1943
 
1961
  msgid "Local hash not found"
1962
  msgstr ""
1963
 
1964
+ #: admin/cerber-dashboard.php:946 admin/cerber-dashboard.php:1339
1965
+ #: admin/cerber-dashboard.php:4410
1966
  msgid "Local User"
1967
  msgstr ""
1968
 
1969
+ #: cerber-settings.php:1387
1970
  #, php-format
1971
  msgid ""
1972
  "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1973
  msgstr ""
1974
 
1975
+ #: cerber-common.php:1639 admin/cerber-dashboard.php:1689
1976
  msgid "Locked out"
1977
  msgstr ""
1978
 
1979
+ #: admin/cerber-dashboard.php:659
1980
  #, php-format
1981
  msgid "Lockout for %s was removed"
1982
  msgstr ""
1985
  msgid "Lockout notifications"
1986
  msgstr ""
1987
 
1988
+ #: admin/cerber-dashboard.php:5142
1989
  msgid "Lockouts"
1990
  msgstr ""
1991
 
1992
+ #: admin/cerber-dashboard.php:2077
1993
  msgid "lockouts"
1994
  msgstr ""
1995
 
1996
+ #: admin/cerber-dashboard.php:2079
1997
  msgid "Lockouts at the moment"
1998
  msgstr ""
1999
 
2000
+ #: cerber-common.php:334
2001
  msgid "Lockouts occurred"
2002
  msgstr ""
2003
 
2004
+ #: cerber-settings.php:879
2005
  msgid "Log all REST API requests"
2006
  msgstr ""
2007
 
2008
+ #: cerber-settings.php:884
2009
  msgid "Log all XML-RPC requests"
2010
  msgstr ""
2011
 
2012
+ #: admin/cerber-dashboard.php:5657
2013
  msgid "Log In"
2014
  msgstr ""
2015
 
2016
+ #: admin/cerber-dashboard.php:3768
2017
  msgid "Log into the website"
2018
  msgstr ""
2019
 
2020
+ #: admin/cerber-dashboard.php:5658
2021
  msgid "Log Out"
2022
  msgstr ""
2023
 
2024
+ #: cerber-common.php:1563
2025
  msgid "Logged in"
2026
  msgstr ""
2027
 
2028
+ #: cerber-common.php:1564
2029
  msgid "Logged out"
2030
  msgstr ""
2031
 
2032
+ #: cerber-common.php:1685
2033
+ msgid "Logged out everywhere"
2034
+ msgstr ""
2035
+
2036
+ #: cerber-settings.php:456 cerber-settings.php:1284
2037
+ #: admin/cerber-dashboard.php:2082
2038
  msgid "Logged-in users"
2039
  msgstr ""
2040
 
2041
+ #: cerber-settings.php:872
2042
  msgid "Logging disabled"
2043
  msgstr ""
2044
 
2045
+ #: cerber-settings.php:869
2046
  msgid "Logging mode"
2047
  msgstr ""
2048
 
2049
+ #: cerber-common.php:1565
2050
  msgid "Login failed"
2051
  msgstr ""
2052
 
2053
+ #: cerber-settings.php:1360
2054
  msgid "Login form"
2055
  msgstr ""
2056
 
2070
  msgid "Login from a different network Class C"
2071
  msgstr ""
2072
 
2073
+ #: admin/cerber-dashboard.php:1072
2074
  msgid "Login issues"
2075
  msgstr ""
2076
 
2078
  msgid "Login Security"
2079
  msgstr ""
2080
 
2081
+ #: admin/cerber-dashboard.php:4451
2082
  msgid "Longer than"
2083
  msgstr ""
2084
 
2085
+ #: cerber-settings.php:1350
2086
  msgid "Lost password form"
2087
  msgstr ""
2088
 
2089
+ #: cerber-settings.php:1079 cerber-settings.php:1125
2090
  msgid "Low severity"
2091
  msgstr ""
2092
 
2093
+ #: admin/cerber-dashboard.php:5143
2094
  msgid "Main Settings"
2095
  msgstr ""
2096
 
2097
+ #: admin/cerber-dashboard.php:3061
2098
  msgid "Main settings"
2099
  msgstr ""
2100
 
2102
  msgid "Make your protection smarter!"
2103
  msgstr ""
2104
 
2105
+ #: cerber-common.php:328
2106
  msgid "Malicious activities mitigated"
2107
  msgstr ""
2108
 
2109
+ #: admin/cerber-dashboard.php:2704
2110
  msgid "Malicious Activity"
2111
  msgstr ""
2112
 
2113
+ #: cerber-common.php:1642
2114
  msgid "Malicious activity detected"
2115
  msgstr ""
2116
 
2117
+ #: cerber-common.php:1650 cerber-common.php:1755
2118
  msgid "Malicious code detected"
2119
  msgstr ""
2120
 
2122
  msgid "Malicious code found"
2123
  msgstr ""
2124
 
2125
+ #: cerber-common.php:333
2126
  msgid "Malicious IP addresses detected"
2127
  msgstr ""
2128
 
2129
+ #: cerber-common.php:1617
2130
  msgid "Malicious request denied"
2131
  msgstr ""
2132
 
2134
  msgid "Malware Scan"
2135
  msgstr ""
2136
 
2137
+ #: admin/cerber-dashboard.php:5328
2138
  msgid "Manage Settings"
2139
  msgstr ""
2140
 
2141
+ #: cerber-settings.php:1310
2142
  msgid "Mark it as spam"
2143
  msgstr ""
2144
 
2145
+ #: cerber-settings.php:915
2146
  msgid "Mask these form fields"
2147
  msgstr ""
2148
 
2149
+ #: cerber-settings.php:1394
2150
  msgid "Master settings"
2151
  msgstr ""
2152
 
2153
+ #: cerber-settings.php:821 cerber-settings.php:852
2154
  msgid "Maximum compatibility"
2155
  msgstr ""
2156
 
2157
+ #: cerber-settings.php:822 cerber-settings.php:853
2158
  msgid "Maximum security"
2159
  msgstr ""
2160
 
2161
+ #: cerber-settings.php:1080 cerber-settings.php:1126
2162
  msgid "Medium severity"
2163
  msgstr ""
2164
 
2165
+ #: cerber-settings.php:956
2166
  msgid "milliseconds"
2167
  msgstr ""
2168
 
2169
+ #: cerber-settings.php:873
2170
  msgid "Minimal"
2171
  msgstr ""
2172
 
2178
  msgid "minutes (leave empty to use the default WordPress value)"
2179
  msgstr ""
2180
 
2181
+ #: cerber-settings.php:660 cerber-settings.php:1033
2182
  msgid "Miscellaneous Settings"
2183
  msgstr ""
2184
 
2186
  msgid "Mitigate aggressive attempts"
2187
  msgstr ""
2188
 
2189
+ #: admin/cerber-admin.php:926 admin/cerber-admin.php:1393
2190
  msgid "Modified"
2191
  msgstr ""
2192
 
2193
+ #: cerber-settings.php:991
2194
  msgid "Monitor modified files"
2195
  msgstr ""
2196
 
2197
+ #: cerber-settings.php:982
2198
  msgid "Monitor new files"
2199
  msgstr ""
2200
 
2201
+ #: cerber-settings.php:1315
2202
  msgid "Move spam comments to trash after"
2203
  msgstr ""
2204
 
2205
+ #: cerber-common.php:1758
2206
  msgid "Multiple erroneous requests"
2207
  msgstr ""
2208
 
2209
+ #: cerber-common.php:1645
2210
  msgid "Multiple suspicious activities"
2211
  msgstr ""
2212
 
2213
+ #: cerber-common.php:1753
2214
  msgid "Multiple suspicious activities were detected"
2215
  msgstr ""
2216
 
2217
+ #: cerber-common.php:1759
2218
  msgid "Multiple suspicious requests"
2219
  msgstr ""
2220
 
2221
+ #: admin/cerber-dashboard.php:1090
2222
  msgid "My activity"
2223
  msgstr ""
2224
 
2225
+ #: admin/cerber-dashboard.php:1091 admin/cerber-dashboard.php:4448
2226
  msgid "My IP"
2227
  msgstr ""
2228
 
2230
  msgid "My IP address"
2231
  msgstr ""
2232
 
2233
+ #: admin/cerber-dashboard.php:4447
2234
  msgid "My requests"
2235
  msgstr ""
2236
 
2237
+ #: cerber-settings.php:263 admin/cerber-dashboard.php:2491
2238
  msgid "My site is behind a reverse proxy"
2239
  msgstr ""
2240
 
2243
  msgid "My Websites"
2244
  msgstr ""
2245
 
2246
+ #: admin/cerber-dashboard.php:1725
2247
  msgid "Network:"
2248
  msgstr ""
2249
 
2250
+ #: cerber-common.php:1924 nexus/cerber-slave-list.php:347
2251
+ #: admin/cerber-dashboard.php:476 admin/cerber-dashboard.php:2058
2252
+ #: admin/cerber-dashboard.php:2107
2253
  msgid "Never"
2254
  msgstr ""
2255
 
2256
+ #: cerber-load.php:4875
2257
  msgid "New Custom login URL"
2258
  msgstr ""
2259
 
2265
  msgid "New files"
2266
  msgstr ""
2267
 
2268
+ #: admin/cerber-dashboard.php:1071
2269
  msgid "New users"
2270
  msgstr ""
2271
 
2273
  msgid "New version is available"
2274
  msgstr ""
2275
 
2276
+ #: admin/cerber-admin.php:1216
2277
  msgid "Newest"
2278
  msgstr ""
2279
 
2280
+ #: admin/cerber-dashboard.php:1375 admin/cerber-dashboard.php:1811
2281
+ #: admin/cerber-dashboard.php:2668 admin/cerber-admin.php:1333
2282
  msgid "No activity has been logged yet."
2283
  msgstr ""
2284
 
2285
+ #: admin/cerber-dashboard.php:2093
2286
  msgid "no connection"
2287
  msgstr ""
2288
 
2289
+ #: admin/cerber-admin.php:1018
2290
  msgid ""
2291
  "No data for generating reports. Please run the Full Scan. After the scan is "
2292
  "completed, the reports will be generated."
2296
  msgid "No devices found"
2297
  msgstr ""
2298
 
2299
+ #: admin/cerber-admin.php:1181
2300
  msgid "No extension"
2301
  msgstr ""
2302
 
2304
  msgid "No file was uploaded or file is corrupted"
2305
  msgstr ""
2306
 
2307
+ #: admin/cerber-admin.php:730
2308
  msgid "No files match the specified filter."
2309
  msgstr ""
2310
 
2311
+ #: admin/cerber-dashboard.php:242 admin/cerber-dashboard.php:2724
2312
  msgid "No lockouts at the moment. The sky is clear."
2313
  msgstr ""
2314
 
2315
+ #: admin/cerber-dashboard.php:4431
2316
  msgid "No requests have been logged."
2317
  msgstr ""
2318
 
2320
  msgid "No restrictions"
2321
  msgstr ""
2322
 
2323
+ #: admin/cerber-dashboard.php:3657
2324
  msgid "No rule"
2325
  msgstr ""
2326
 
2328
  msgid "No websites configured."
2329
  msgstr ""
2330
 
2331
+ #: cerber-lab.php:896
2332
  msgid "NO, maybe later"
2333
  msgstr ""
2334
 
2335
+ #: admin/cerber-dashboard.php:1089 admin/cerber-dashboard.php:4442
2336
  msgid "Non-authenticated"
2337
  msgstr ""
2338
 
2340
  msgid "Non-existing users"
2341
  msgstr ""
2342
 
2343
+ #: admin/cerber-dashboard.php:2067
2344
  msgid "not active"
2345
  msgstr ""
2346
 
2348
  msgid "Not available"
2349
  msgstr ""
2350
 
2351
+ #: cerber-load.php:4849
2352
  msgid "Not logged in"
2353
  msgstr ""
2354
 
2355
+ #: admin/cerber-dashboard.php:3649
2356
  #, php-format
2357
  msgid "Not permitted for one country"
2358
  msgid_plural "Not permitted for %d countries"
2359
  msgstr[0] ""
2360
  msgstr[1] ""
2361
 
2362
+ #: admin/cerber-dashboard.php:4505
2363
  msgid "Not specified"
2364
  msgstr ""
2365
 
2371
  msgid "Notification limit"
2372
  msgstr ""
2373
 
2374
+ #: cerber-settings.php:305 admin/cerber-dashboard.php:5147
2375
  msgid "Notifications"
2376
  msgstr ""
2377
 
2383
  msgid "Notify admin if the number of active lockouts above"
2384
  msgstr ""
2385
 
2386
+ #: cerber-load.php:4832
2387
  msgid "Number of active lockouts"
2388
  msgstr ""
2389
 
2391
  msgid "Number of allowed concurrent user sessions"
2392
  msgstr ""
2393
 
2394
+ #: cerber-load.php:4830
2395
  msgid "Number of lockouts is increasing"
2396
  msgstr ""
2397
 
2399
  msgid "number of logins"
2400
  msgstr ""
2401
 
2402
+ #: cerber-lab.php:895
2403
  msgid "OK, nail them all"
2404
  msgstr ""
2405
 
2406
+ #: admin/cerber-admin.php:1215
2407
  msgid "Oldest"
2408
  msgstr ""
2409
 
2410
+ #: cerber-settings.php:1066
2411
  msgid "once a day at"
2412
  msgstr ""
2413
 
2414
+ #: cerber-settings.php:1042 cerber-settings.php:1428 cerber-settings.php:1456
2415
  #, php-format
2416
  msgid "Once enabled, the log is available here: %s"
2417
  msgstr ""
2418
 
2419
+ #: cerber-2fa.php:654
2420
  msgid "only digits are allowed"
2421
  msgstr ""
2422
 
2423
+ #: cerber-settings.php:643 cerber-settings.php:1727
2424
  msgid "Only registered and logged in users are allowed to view this website"
2425
  msgstr ""
2426
 
2434
  "website"
2435
  msgstr ""
2436
 
2437
+ #: admin/cerber-dashboard.php:343
2438
  msgid "Optional comment for this entry"
2439
  msgstr ""
2440
 
2441
+ #: cerber-2fa.php:662
2442
  msgid "or"
2443
  msgstr ""
2444
 
2445
+ #: cerber-settings.php:1243
2446
  msgid "Other forms"
2447
  msgstr ""
2448
 
2450
  msgid "Owner"
2451
  msgstr ""
2452
 
2453
+ #: admin/cerber-dashboard.php:3924
2454
  msgid "Page generation time"
2455
  msgstr ""
2456
 
2457
+ #: cerber-settings.php:955
2458
  msgid "Page generation time threshold"
2459
  msgstr ""
2460
 
2461
+ #: admin/cerber-dashboard.php:4444
2462
  msgid "Page Not Found"
2463
  msgstr ""
2464
 
2466
  msgid "Parsing the list of files"
2467
  msgstr ""
2468
 
2469
+ #: cerber-common.php:1585
2470
  msgid "Password changed"
2471
  msgstr ""
2472
 
2473
+ #: cerber-common.php:1589
2474
+ msgid "Password reset request denied"
2475
+ msgstr ""
2476
+
2477
+ #: cerber-common.php:1586
2478
  msgid "Password reset requested"
2479
  msgstr ""
2480
 
2481
+ #: admin/cerber-admin.php:1115
2482
  msgid "Path"
2483
  msgstr ""
2484
 
2486
  msgid "Performance"
2487
  msgstr ""
2488
 
2489
+ #: cerber-common.php:1661
2490
  msgid "Permission denied"
2491
  msgstr ""
2492
 
2494
  msgid "Permit only email addresses that match the following"
2495
  msgstr ""
2496
 
2497
+ #: admin/cerber-dashboard.php:3646
2498
  #, php-format
2499
  msgid "Permitted for one country"
2500
  msgid_plural "Permitted for %d countries"
2513
  msgid "Phone"
2514
  msgstr ""
2515
 
2516
+ #: cerber-load.php:1926
2517
  msgid "Please choose another one."
2518
  msgstr ""
2519
 
2531
  msgid "Please upload another file."
2532
  msgstr ""
2533
 
2534
+ #: cerber-2fa.php:506
2535
  msgid "Please use the following verification PIN code to verify your identity."
2536
  msgstr ""
2537
 
2538
+ #: cerber-2fa.php:413 cerber-2fa.php:501
2539
  msgid "Please verify that it’s you"
2540
  msgstr ""
2541
 
2547
  msgid "Policies have been updated"
2548
  msgstr ""
2549
 
2550
+ #: admin/cerber-dashboard.php:3774
2551
  msgid "Post comments"
2552
  msgstr ""
2553
 
2563
  msgid "Preparing for the scan"
2564
  msgstr ""
2565
 
2566
+ #: cerber-common.php:1919
2567
  #, php-format
2568
  msgctxt "preposition of a period of time like: in 6 hours"
2569
  msgid "in %s"
2595
  msgid "Proactive security rules"
2596
  msgstr ""
2597
 
2598
+ #: cerber-common.php:1604 cerber-common.php:1754
2599
  msgid "Probing for vulnerable code"
2600
  msgstr ""
2601
 
2607
  msgid "Profile"
2608
  msgstr ""
2609
 
2610
+ #: cerber-settings.php:1162
2611
  msgid "Prohibited extensions"
2612
  msgstr ""
2613
 
2619
  msgid "Protect admin scripts"
2620
  msgstr ""
2621
 
2622
+ #: cerber-settings.php:1244
2623
  msgid "Protect all forms on the website with bot detection engine"
2624
  msgstr ""
2625
 
2626
+ #: cerber-settings.php:1233
2627
  msgid "Protect comment form with bot detection engine"
2628
  msgstr ""
2629
 
2630
+ #: cerber-settings.php:1228
2631
  msgid "Protect registration form with bot detection engine"
2632
  msgstr ""
2633
 
2659
  msgid "Pushbullet device"
2660
  msgstr ""
2661
 
2662
+ #: admin/cerber-dashboard.php:5278
2663
  msgid "Quarantine"
2664
  msgstr ""
2665
 
2666
+ #: admin/cerber-admin.php:770
2667
  msgid "Quarantined"
2668
  msgstr ""
2669
 
2670
+ #: cerber-settings.php:1294
2671
  msgid "Query whitelist"
2672
  msgstr ""
2673
 
2674
+ #: cerber-scanner.php:1032 admin/cerber-dashboard.php:2114
2675
  msgid "Quick Scan"
2676
  msgstr ""
2677
 
2679
  msgid "Quick Scan Report"
2680
  msgstr ""
2681
 
2682
+ #: cerber-settings.php:1448
2683
  msgid "Read-only mode"
2684
  msgstr ""
2685
 
2686
+ #: cerber-load.php:4834 admin/cerber-dashboard.php:215
2687
  msgid "Reason"
2688
  msgstr ""
2689
 
2690
+ #: cerber-settings.php:1322
2691
  msgid "reCAPTCHA settings"
2692
  msgstr ""
2693
 
2694
+ #: cerber-common.php:1593 cerber-common.php:1689
2695
  msgid "reCAPTCHA settings are incorrect"
2696
  msgstr ""
2697
 
2698
+ #: cerber-common.php:1592 cerber-common.php:1688
2699
  msgid "reCAPTCHA verification failed"
2700
  msgstr ""
2701
 
2702
+ #: cerber-common.php:1687
2703
+ msgid "reCAPTCHA verified"
2704
+ msgstr ""
2705
+
2706
+ #: admin/cerber-dashboard.php:2735
2707
  msgid "Recently locked out IP addresses"
2708
  msgstr ""
2709
 
2710
+ #: cerber-settings.php:1184
2711
  msgid "Recover plugins' files"
2712
  msgstr ""
2713
 
2714
+ #: cerber-settings.php:1180
2715
  msgid "Recover WordPress files"
2716
  msgstr ""
2717
 
2743
  msgid "Redirection rules"
2744
  msgstr ""
2745
 
2746
+ #: admin/cerber-dashboard.php:4470
2747
  msgid "Refresh"
2748
  msgstr ""
2749
 
2750
+ #: admin/cerber-dashboard.php:5659
2751
  msgid "Register"
2752
  msgstr ""
2753
 
2754
+ #: admin/cerber-dashboard.php:3772
2755
  msgid "Register on the website"
2756
  msgstr ""
2757
 
2758
+ #: admin/cerber-dashboard.php:1878 admin/cerber-dashboard.php:1955
2759
  msgid "Registered"
2760
  msgstr ""
2761
 
2762
+ #: cerber-settings.php:1227 cerber-settings.php:1340
2763
  msgid "Registration form"
2764
  msgstr ""
2765
 
2771
  msgid "Regular time intervals (days)"
2772
  msgstr ""
2773
 
2774
+ #: admin/cerber-dashboard.php:204 admin/cerber-dashboard.php:329
2775
  msgid "Remove"
2776
  msgstr ""
2777
 
2778
+ #: admin/cerber-admin.php:886 admin/cerber-admin.php:913
2779
  msgid "Remove from the list"
2780
  msgstr ""
2781
 
2782
+ #: cerber-settings.php:1076
2783
  msgid "Report an issue if any of the following is true"
2784
  msgstr ""
2785
 
2786
+ #: admin/cerber-dashboard.php:4406
2787
  msgid "Request"
2788
  msgstr ""
2789
 
2790
+ #: admin/cerber-dashboard.php:1397
2791
  msgid "Request ID"
2792
  msgstr ""
2793
 
2794
+ #: cerber-common.php:1608
2795
  msgid "Request to REST API denied"
2796
  msgstr ""
2797
 
2798
+ #: cerber-common.php:1594 cerber-common.php:1690
2799
  msgid "Request to the Google reCAPTCHA service failed"
2800
  msgstr ""
2801
 
2802
+ #: cerber-common.php:1609
2803
  msgid "Request to XML-RPC API denied"
2804
  msgstr ""
2805
 
2807
  msgid "Request URL"
2808
  msgstr ""
2809
 
2810
+ #: cerber-settings.php:832
2811
  msgid "Request whitelist"
2812
  msgstr ""
2813
 
2819
  msgid "Resolve issue"
2820
  msgstr ""
2821
 
2822
+ #: admin/cerber-admin.php:751
2823
  msgid "Restore"
2824
  msgstr ""
2825
 
2855
  msgid "Retrieve IP address WHOIS information when viewing the logs"
2856
  msgstr ""
2857
 
2858
+ #: cerber-settings.php:1402
2859
  msgid "Return to the website list"
2860
  msgstr ""
2861
 
2862
+ #: cerber-common.php:1613
2863
  msgid "Role update denied"
2864
  msgstr ""
2865
 
2866
+ #: admin/cerber-dashboard.php:5238
2867
  msgid "Role-Based"
2868
  msgstr ""
2869
 
2870
+ #: admin/cerber-dashboard.php:3576
2871
  msgid "Role-based rules are configured"
2872
  msgstr ""
2873
 
2874
+ #: cerber-settings.php:1279
2875
  msgid "Safe mode"
2876
  msgstr ""
2877
 
2878
+ #: cerber-settings.php:945
2879
  msgid "Save $_SERVER"
2880
  msgstr ""
2881
 
2883
  msgid "Save All Changes"
2884
  msgstr ""
2885
 
2886
+ #: admin/cerber-dashboard.php:3633
2887
  msgid "Save all rules"
2888
  msgstr ""
2889
 
2890
+ #: cerber-settings.php:935
2891
  msgid "Save request cookies"
2892
  msgstr ""
2893
 
2894
+ #: cerber-settings.php:910
2895
  msgid "Save request fields"
2896
  msgstr ""
2897
 
2898
+ #: cerber-settings.php:923
2899
  msgid "Save request headers"
2900
  msgstr ""
2901
 
2902
+ #: cerber-settings.php:940
2903
  msgid "Save response cookies"
2904
  msgstr ""
2905
 
2906
+ #: cerber-settings.php:929
2907
  msgid "Save response headers"
2908
  msgstr ""
2909
 
2910
+ #: cerber-settings.php:950
2911
  msgid "Save software errors"
2912
  msgstr ""
2913
 
2914
+ #: cerber-settings.php:1071
2915
  msgid "Scan results reporting"
2916
  msgstr ""
2917
 
2918
+ #: cerber-settings.php:1004
2919
  msgid "Scan the sessions directory"
2920
  msgstr ""
2921
 
2922
+ #: cerber-settings.php:1000
2923
  msgid "Scan web server's temporary directories"
2924
  msgstr ""
2925
 
2926
+ #: admin/cerber-admin.php:108 admin/cerber-admin.php:769
2927
  msgid "Scanned"
2928
  msgstr ""
2929
 
2930
+ #: cerber-load.php:4893
2931
  msgid "Scanner Report"
2932
  msgstr ""
2933
 
2934
+ #: cerber-settings.php:977
2935
  msgid "Scanner settings"
2936
  msgstr ""
2937
 
2951
  msgid "Scanning website directories for files"
2952
  msgstr ""
2953
 
2954
+ #: admin/cerber-dashboard.php:5275
2955
  msgid "Scheduling"
2956
  msgstr ""
2957
 
2959
  msgid "Search for IP address"
2960
  msgstr ""
2961
 
2962
+ #: admin/cerber-dashboard.php:1394
2963
  msgid "Search for IP or username"
2964
  msgstr ""
2965
 
2966
+ #: admin/cerber-dashboard.php:1398
2967
  msgid "Search in URL"
2968
  msgstr ""
2969
 
2971
  msgid "Search results for:"
2972
  msgstr ""
2973
 
2974
+ #: cerber-load.php:5628
2975
  msgid "Search string"
2976
  msgstr ""
2977
 
2987
  msgid "Secret Access Token is invalid"
2988
  msgstr ""
2989
 
2990
+ #: cerber-settings.php:1331
2991
  msgid "Secret key"
2992
  msgstr ""
2993
 
2994
+ #: admin/cerber-dashboard.php:67 admin/cerber-dashboard.php:5256
2995
  msgid "Security Rules"
2996
  msgstr ""
2997
 
2998
+ #: admin/cerber-dashboard.php:3818
2999
  msgid "Security rules have been updated"
3000
  msgstr ""
3001
 
3002
+ #: admin/cerber-dashboard.php:5273
3003
  msgid "Security Scanner"
3004
  msgstr ""
3005
 
3015
  msgid "Select one or more roles"
3016
  msgstr ""
3017
 
3018
+ #: cerber-settings.php:1085
3019
  msgid "Send email report"
3020
  msgstr ""
3021
 
3039
  msgid "Server Country"
3040
  msgstr ""
3041
 
3042
+ #: cerber-load.php:1685
3043
  #, php-format
3044
  msgid "Session has been terminated"
3045
  msgid_plural "%s sessions have been terminated"
3046
  msgstr[0] ""
3047
  msgstr[1] ""
3048
 
3049
+ #: admin/cerber-dashboard.php:3281 admin/cerber-dashboard.php:5141
3050
  msgid "Sessions"
3051
  msgstr ""
3052
 
3053
+ #: cerber-common.php:1614
3054
  msgid "Setting update denied"
3055
  msgstr ""
3056
 
3057
+ #: nexus/cerber-nexus.php:95 admin/cerber-dashboard.php:5213
3058
+ #: admin/cerber-dashboard.php:5274 admin/cerber-tools.php:37
3059
  #: admin/cerber-tools.php:48
3060
  msgid "Settings"
3061
  msgstr ""
3064
  msgid "Settings has imported successfully from"
3065
  msgstr ""
3066
 
3067
+ #: admin/cerber-dashboard.php:2867
3068
  msgid "Settings saved"
3069
  msgstr ""
3070
 
3071
+ #: nexus/cerber-nexus-slave.php:435
3072
  msgid "Settings updated"
3073
  msgstr ""
3074
 
3082
  "admin pages"
3083
  msgstr ""
3084
 
3085
+ #: cerber-settings.php:1406
3086
  msgid "Show \"Switched to\" notification"
3087
  msgstr ""
3088
 
3098
  msgid "Site connection"
3099
  msgstr ""
3100
 
3101
+ #: admin/cerber-dashboard.php:73 admin/cerber-dashboard.php:5271
3102
  msgid "Site Integrity"
3103
  msgstr ""
3104
 
3105
+ #: cerber-settings.php:1327
3106
  msgid "Site key"
3107
  msgstr ""
3108
 
3109
+ #: cerber-common.php:1654
3110
  msgid "Site policy enforcement"
3111
  msgstr ""
3112
 
3113
+ #: admin/cerber-dashboard.php:5229
3114
  msgid "Site Settings"
3115
  msgstr ""
3116
 
3118
  msgid "Site-specific settings"
3119
  msgstr ""
3120
 
3121
+ #: admin/cerber-admin.php:772 admin/cerber-admin.php:927
3122
+ #: admin/cerber-admin.php:1392
3123
  msgid "Size"
3124
  msgstr ""
3125
 
3126
+ #: cerber-settings.php:1149
3127
  msgid "Skip files with these extensions"
3128
  msgstr ""
3129
 
3131
  msgid "Slave Settings"
3132
  msgstr ""
3133
 
3134
+ #: admin/cerber-admin.php:1212
3135
  msgid "Smallest"
3136
  msgstr ""
3137
 
3138
+ #: cerber-settings.php:874
3139
  msgid "Smart"
3140
  msgstr ""
3141
 
3142
+ #: admin/cerber-dashboard.php:3213
3143
  msgid "Some errors occurred"
3144
  msgstr ""
3145
 
3146
+ #: cerber-load.php:2264
3147
  msgid "Sorry, human verification failed."
3148
  msgstr ""
3149
 
3150
+ #: cerber-load.php:3324
3151
+ msgid "Sorry, password reset is not allowed for this user."
3152
+ msgstr ""
3153
+
3154
  #: cerber-settings.php:689
3155
  msgid "Sort users in dashboard"
3156
  msgstr ""
3157
 
3158
+ #: admin/cerber-admin.php:1117 admin/cerber-admin.php:1211
3159
  msgid "Space Occupied"
3160
  msgstr ""
3161
 
3162
+ #: cerber-common.php:1573
3163
  msgid "Spam comment denied"
3164
  msgstr ""
3165
 
3166
+ #: cerber-common.php:331
3167
  msgid "Spam comments denied"
3168
  msgstr ""
3169
 
3170
+ #: cerber-common.php:1574
3171
  msgid "Spam form submission denied"
3172
  msgstr ""
3173
 
3174
+ #: cerber-common.php:332
3175
  msgid "Spam form submissions denied"
3176
  msgstr ""
3177
 
3178
+ #: cerber-settings.php:1223
3179
  msgid ""
3180
  "Spam protection for comment, registration and contact forms on a website"
3181
  msgstr ""
3182
 
3183
+ #: cerber-settings.php:1021
3184
  msgid ""
3185
  "Specify custom PHP code signatures. One item per line. To specify a REGEX "
3186
  "pattern, enclose a whole line in two braces."
3187
  msgstr ""
3188
 
3189
+ #: cerber-settings.php:1028
3190
  msgid "Specify directories to exclude from scanning. One directory per line."
3191
  msgstr ""
3192
 
3196
  "items."
3197
  msgstr ""
3198
 
3199
+ #: cerber-settings.php:1014
3200
  msgid ""
3201
  "Specify file extensions to search for. Full scan only. Use comma to separate "
3202
  "items."
3208
  "string per line."
3209
  msgstr ""
3210
 
3211
+ #: cerber-settings.php:898
3212
  msgid "Specify URL paths to exclude requests from logging. One item per line."
3213
  msgstr ""
3214
 
3215
+ #: cerber-settings.php:906
3216
  msgid ""
3217
  "Specify User-Agents to exclude requests from logging. One item per line."
3218
  msgstr ""
3229
  msgid "Start Quick Scan"
3230
  msgstr ""
3231
 
3232
+ #: admin/cerber-dashboard.php:3626
3233
  msgid "Start typing here to find a country"
3234
  msgstr ""
3235
 
3245
  msgid "Stop user enumeration"
3246
  msgstr ""
3247
 
3248
+ #: admin/cerber-dashboard.php:3773
3249
  msgid "Submit forms"
3250
  msgstr ""
3251
 
3252
+ #: admin/cerber-dashboard.php:1077
3253
  msgid "Suspicious activity"
3254
  msgstr ""
3255
 
3269
  msgid "Suspicious directives found"
3270
  msgstr ""
3271
 
3272
+ #: cerber-common.php:1652
3273
  msgid "Suspicious JavaScript code detected"
3274
  msgstr ""
3275
 
3276
+ #: cerber-common.php:1648
3277
  msgid "Suspicious number of fields"
3278
  msgstr ""
3279
 
3280
+ #: cerber-common.php:1649
3281
  msgid "Suspicious number of nested values"
3282
  msgstr ""
3283
 
3284
+ #: admin/cerber-dashboard.php:4439
3285
  msgid "Suspicious requests"
3286
  msgstr ""
3287
 
3288
+ #: cerber-common.php:1651
3289
  msgid "Suspicious SQL code detected"
3290
  msgstr ""
3291
 
3313
  msgid "Terminate user sessions"
3314
  msgstr ""
3315
 
3316
+ #: admin/cerber-dashboard.php:2983
3317
  msgid "The alert has been created"
3318
  msgstr ""
3319
 
3320
+ #: admin/cerber-dashboard.php:2987
3321
  msgid "The alert has been deleted"
3322
  msgstr ""
3323
 
3324
+ #: cerber-2fa.php:506
3325
  #, php-format
3326
  msgid "The code is valid for %s minutes."
3327
  msgstr ""
3334
  "has been tampered with."
3335
  msgstr ""
3336
 
3337
+ #: admin/cerber-admin.php:846
3338
  msgid "The file has been deleted permanently."
3339
  msgstr ""
3340
 
3341
+ #: admin/cerber-admin.php:861
3342
  msgid "The file has been restored to its original location."
3343
  msgstr ""
3344
 
3345
+ #: cerber-settings.php:1469
3346
  msgid "The full access mode requires the PRO version of WP Cerber"
3347
  msgstr ""
3348
 
3349
+ #: admin/cerber-dashboard.php:5486
3350
  msgid "The IP address you are trying to add is already in the list"
3351
  msgstr ""
3352
 
3353
+ #: admin/cerber-admin.php:891
3354
  msgid "The list is empty."
3355
  msgstr ""
3356
 
3357
+ #: cerber-settings.php:1055
3358
  msgid ""
3359
  "The scanner automatically scans the website, removes malware and sends email "
3360
  "reports with the results of a scan"
3367
  "(checksums) provided by the developer of %s."
3368
  msgstr ""
3369
 
3370
+ #: cerber-settings.php:978
3371
  msgid ""
3372
  "The scanner monitors file changes, verifies the integrity of WordPress, "
3373
  "plugins, and themes, and detects malware"
3397
  msgid "The website you are trying to add is already in the list"
3398
  msgstr ""
3399
 
3400
+ #: cerber-load.php:4846 cerber-load.php:4847
3401
  msgid "The WP Cerber security plugin has been deactivated"
3402
  msgstr ""
3403
 
3404
+ #: cerber-load.php:4863
3405
  msgid "The WP Cerber security plugin is now active"
3406
  msgstr ""
3407
 
3408
+ #: admin/cerber-admin.php:713
3409
  msgid "There are no files in the quarantine at the moment."
3410
  msgstr ""
3411
 
3412
+ #: admin/cerber-dashboard.php:5621
3413
  msgid "These features are available in the professional version of WP Cerber."
3414
  msgstr ""
3415
 
3419
  "protection laws"
3420
  msgstr ""
3421
 
3422
+ #: admin/cerber-dashboard.php:3211
3423
  msgid "These files have been added to the ignore list"
3424
  msgstr ""
3425
 
3426
+ #: admin/cerber-dashboard.php:3207
3427
  msgid "These files have been moved to the quarantine"
3428
  msgstr ""
3429
 
3430
+ #: cerber-settings.php:1191
3431
  msgid "These files will never be deleted during automatic cleanup."
3432
  msgstr ""
3433
 
3434
+ #: cerber-settings.php:1114
3435
  msgid ""
3436
  "These policies are automatically enforced at the end of every scan based on "
3437
  "its results. All affected files are moved to the quarantine."
3442
  "These restrictions do not apply to IP addresses in the White IP Access List"
3443
  msgstr ""
3444
 
3445
+ #: cerber-settings.php:1276
3446
  msgid ""
3447
  "These settings enable you to fine-tune the behavior of anti-spam algorithms "
3448
  "and avoid false positives"
3478
  msgid "Medium"
3479
  msgstr ""
3480
 
3481
+ #: cerber-load.php:4930
3482
  msgid "This message was sent by"
3483
  msgstr ""
3484
 
3485
+ #: admin/cerber-dashboard.php:3215
3486
  msgid ""
3487
  "This scan report was generated by the previous version of WP Cerber. Please "
3488
  "run a new scan to get consistent and accurate results."
3489
  msgstr ""
3490
 
3491
+ #: admin/cerber-admin.php:534
3492
  msgid "This type of file is not supported. Please upload a ZIP archive."
3493
  msgstr ""
3494
 
3495
+ #: cerber-2fa.php:363
3496
  msgid ""
3497
  "This verification PIN code is expired. We have just sent a new one to your "
3498
  "email."
3520
  "the plugin cache."
3521
  msgstr ""
3522
 
3523
+ #: cerber-load.php:4888 cerber-load.php:4896
3524
  msgid "To change reporting settings visit"
3525
  msgstr ""
3526
 
3527
+ #: cerber-load.php:5649
3528
  msgid "To delete the alert, click here"
3529
  msgstr ""
3530
 
3532
  msgid "To get the most out of WP Cerber, follow these steps:"
3533
  msgstr ""
3534
 
3535
+ #: admin/cerber-dashboard.php:3748
3536
  #, php-format
3537
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
3538
  msgid ""
3539
  "Selected countries are not permitted to %s, other countries are permitted to"
3540
  msgstr ""
3541
 
3542
+ #: admin/cerber-dashboard.php:3745
3543
  #, php-format
3544
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
3545
  msgid ""
3565
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
3566
  msgstr ""
3567
 
3568
+ #: cerber-settings.php:836 cerber-settings.php:898
3569
  msgid "To specify a REGEX pattern, enclose a whole line in two braces."
3570
  msgstr ""
3571
 
3573
  msgid "To view full report visit"
3574
  msgstr ""
3575
 
3576
+ #: admin/cerber-dashboard.php:88 admin/cerber-dashboard.php:5325
3577
  msgid "Tools"
3578
  msgstr ""
3579
 
3580
+ #: admin/cerber-admin.php:1232
3581
  msgid "Top 10 largest files"
3582
  msgstr ""
3583
 
3584
+ #: admin/cerber-dashboard.php:2128 admin/cerber-users.php:1115
3585
  msgid "Traffic"
3586
  msgstr ""
3587
 
3588
+ #: admin/cerber-admin.php:888
3589
  msgid "Traffic Insights"
3590
  msgstr ""
3591
 
3593
  msgid "Traffic Inspection"
3594
  msgstr ""
3595
 
3596
+ #: admin/cerber-dashboard.php:62 admin/cerber-dashboard.php:2089
3597
+ #: admin/cerber-dashboard.php:5210
3598
  msgid "Traffic Inspector"
3599
  msgstr ""
3600
 
3604
  "protects your website by recognizing and denying malicious HTTP requests"
3605
  msgstr ""
3606
 
3607
+ #: cerber-settings.php:864
3608
  msgid "Traffic Logging"
3609
  msgstr ""
3610
 
3611
+ #: cerber-settings.php:1313
3612
  msgid "Trash spam comments"
3613
  msgstr ""
3614
 
3615
+ #: cerber-2fa.php:660
3616
  msgid "Try again"
3617
  msgstr ""
3618
 
3644
  msgid "Unable to check the integrity of WordPress files due to a network error"
3645
  msgstr ""
3646
 
3647
+ #: cerber-common.php:3113
3648
  msgid "Unable to copy the file"
3649
  msgstr ""
3650
 
3651
+ #: cerber-common.php:3102
3652
  msgid "Unable to create the directory"
3653
  msgstr ""
3654
 
3656
  msgid "Unable to delete"
3657
  msgstr ""
3658
 
3659
+ #: cerber-common.php:3119
3660
  msgid "Unable to delete the file"
3661
  msgstr ""
3662
 
3668
  msgid "Unable to process file"
3669
  msgstr ""
3670
 
3671
+ #: admin/cerber-dashboard.php:670
3672
  msgid "Unable to send email to"
3673
  msgstr ""
3674
 
3684
  msgid "Unattended suspicious file"
3685
  msgstr ""
3686
 
3687
+ #: cerber-whois.php:236 cerber-whois.php:267 cerber-common.php:1771
3688
+ #: nexus/cerber-slave-list.php:333 admin/cerber-dashboard.php:457
3689
+ #: admin/cerber-dashboard.php:4071 admin/cerber-dashboard.php:4642
3690
  msgid "Unknown"
3691
  msgstr ""
3692
 
3693
+ #: admin/cerber-dashboard.php:597
3694
  msgid "unknown"
3695
  msgstr ""
3696
 
3697
+ #: admin/cerber-dashboard.php:4565
3698
  msgid "Unknown Google's bot"
3699
  msgstr ""
3700
 
3701
+ #: cerber-load.php:4827
3702
  msgid "unspecified"
3703
  msgstr ""
3704
 
3714
  msgid "Unwanted file extension"
3715
  msgstr ""
3716
 
3717
+ #: cerber-settings.php:1008
3718
  msgid "Unwanted file extensions"
3719
  msgstr ""
3720
 
3738
  msgid "Use 404 template from the active theme"
3739
  msgstr ""
3740
 
3741
+ #: cerber-settings.php:1198
3742
  msgid "Use absolute paths. One item per line."
3743
  msgstr ""
3744
 
3745
+ #: cerber-settings.php:1207
3746
  msgid "Use comma to separate items."
3747
  msgstr ""
3748
 
3749
+ #: cerber-settings.php:1152 cerber-settings.php:1165
3750
  msgid "Use comma to separate multiple extensions"
3751
  msgstr ""
3752
 
3753
+ #: cerber-settings.php:754 cerber-settings.php:802 cerber-settings.php:917
3754
+ #: cerber-settings.php:1104
3755
  msgid "Use comma to specify multiple values"
3756
  msgstr ""
3757
 
3758
+ #: cerber-settings.php:1238
3759
  msgid "Use custom URL for the WordPress comment form"
3760
  msgstr ""
3761
 
3771
  msgid "Use ISO 8601 date format for CSV export files"
3772
  msgstr ""
3773
 
3774
+ #: cerber-settings.php:1280
3775
  msgid "Use less restrictive policies (allow AJAX)"
3776
  msgstr ""
3777
 
3778
+ #: cerber-settings.php:827
3779
+ msgid ""
3780
+ "Use less restrictive security filters for IP addresses in the White IP "
3781
+ "Access List"
3782
+ msgstr ""
3783
+
3784
+ #: cerber-settings.php:1414
3785
  msgid "Use master language"
3786
  msgstr ""
3787
 
3788
+ #: admin/cerber-dashboard.php:3776
3789
  msgid "Use REST API"
3790
  msgstr ""
3791
 
3792
  #: cerber-settings.php:174 cerber-settings.php:605 cerber-settings.php:632
3793
+ #: cerber-settings.php:826 cerber-settings.php:1289 cerber-settings.php:1381
3794
  msgid "Use White IP Access List"
3795
  msgstr ""
3796
 
3797
+ #: admin/cerber-dashboard.php:3775
3798
  msgid "Use XML-RPC"
3799
  msgstr ""
3800
 
3801
+ #: cerber-load.php:5620 admin/cerber-users.php:922
3802
  msgid "User"
3803
  msgstr ""
3804
 
3805
+ #: admin/cerber-dashboard.php:2082
3806
  msgid "user"
3807
  msgid_plural "users"
3808
  msgstr[0] ""
3809
  msgstr[1] ""
3810
 
3811
+ #: cerber-common.php:1626
3812
  msgid "User activated"
3813
  msgstr ""
3814
 
3816
  msgid "User Activity"
3817
  msgstr ""
3818
 
3819
+ #: admin/cerber-dashboard.php:4409
3820
  msgid "User Agent"
3821
  msgstr ""
3822
 
3823
+ #: cerber-common.php:1621
3824
  msgid "User application password created"
3825
  msgstr ""
3826
 
3827
+ #: cerber-common.php:1620
3828
+ msgid "User application password updated"
3829
+ msgstr ""
3830
+
3831
+ #: cerber-common.php:1657
3832
+ msgid "User blocked by administrator"
3833
+ msgstr ""
3834
+
3835
+ #: cerber-common.php:1560
3836
  msgid "User created"
3837
  msgstr ""
3838
 
3839
+ #: cerber-common.php:1611
3840
  msgid "User creation denied"
3841
  msgstr ""
3842
 
3843
+ #: cerber-common.php:1562
3844
  msgid "User deleted"
3845
  msgstr ""
3846
 
3847
+ #: admin/cerber-dashboard.php:948 admin/cerber-dashboard.php:3923
3848
  msgid "User ID"
3849
  msgstr ""
3850
 
3851
+ #: admin/cerber-admin.php:887
3852
  msgid "User Insights"
3853
  msgstr ""
3854
 
3856
  msgid "User is not permitted to log into the website"
3857
  msgstr ""
3858
 
3859
+ #: admin/cerber-dashboard.php:947
3860
  msgid "User login"
3861
  msgstr ""
3862
 
3868
  msgid "User message"
3869
  msgstr ""
3870
 
3871
+ #: cerber-common.php:1615
3872
  msgid "User metadata update denied"
3873
  msgstr ""
3874
 
3875
+ #: admin/cerber-dashboard.php:70 admin/cerber-dashboard.php:5236
3876
  msgid "User Policies"
3877
  msgstr ""
3878
 
3879
+ #: cerber-common.php:1561
3880
  msgid "User registered"
3881
  msgstr ""
3882
 
3888
  msgid "User registrations are limited to these roles"
3889
  msgstr ""
3890
 
3891
+ #: cerber-common.php:1612
3892
  msgid "User row update denied"
3893
  msgstr ""
3894
 
3896
  msgid "User session expiration time"
3897
  msgstr ""
3898
 
3899
+ #: cerber-common.php:1587
3900
  msgid "User session terminated"
3901
  msgstr ""
3902
 
3903
+ #. %s is the name of a user.
3904
+ #: admin/cerber-dashboard.php:1272
3905
+ #, php-format
3906
+ msgid "User session terminated by %s"
3907
+ msgstr ""
3908
+
3909
+ #: admin/cerber-dashboard.php:949 admin/cerber-dashboard.php:1340
3910
  msgid "Username"
3911
  msgstr ""
3912
 
3913
+ #: cerber-load.php:1921
3914
  msgid "Username is not allowed. Please choose another one."
3915
  msgstr ""
3916
 
3917
+ #: cerber-common.php:1658
3918
+ msgid "Username is prohibited"
3919
+ msgstr ""
3920
+
3921
+ #: cerber-load.php:5624
3922
  msgid "Username used"
3923
  msgstr ""
3924
 
3929
  "blocked. Use comma to separate logins."
3930
  msgstr ""
3931
 
3932
+ #: admin/cerber-dashboard.php:1088 admin/cerber-dashboard.php:4441
3933
  msgid "Users"
3934
  msgstr ""
3935
 
3953
  msgid "Users with these roles are permitted to create new accounts"
3954
  msgstr ""
3955
 
3956
+ #: admin/cerber-dashboard.php:2684
3957
  msgid "Users' Activity"
3958
  msgstr ""
3959
 
3961
  msgid "Verified"
3962
  msgstr ""
3963
 
3964
+ #: cerber-2fa.php:673
3965
  msgid "Verify"
3966
  msgstr ""
3967
 
3968
+ #: cerber-2fa.php:668
3969
  msgid "Verify it's you"
3970
  msgstr ""
3971
 
3981
  msgid "Verifying the integrity of WordPress"
3982
  msgstr ""
3983
 
3984
+ #: admin/cerber-dashboard.php:2852 admin/cerber-dashboard.php:3279
3985
  msgid "View Activity"
3986
  msgstr ""
3987
 
3988
+ #: cerber-load.php:4835
3989
  msgid "View activity for this IP"
3990
  msgstr ""
3991
 
3992
+ #: cerber-load.php:4803 cerber-load.php:5648
3993
  msgid "View activity in dashboard"
3994
  msgstr ""
3995
 
3996
+ #: admin/cerber-dashboard.php:1056 admin/cerber-dashboard.php:1067
3997
+ #: admin/cerber-dashboard.php:1080 admin/cerber-dashboard.php:2727
3998
+ #: admin/cerber-dashboard.php:4438
3999
  msgid "View all"
4000
  msgstr ""
4001
 
4002
+ #: admin/cerber-dashboard.php:2076 admin/cerber-dashboard.php:2077
4003
  msgid "view all"
4004
  msgstr ""
4005
 
4011
  msgid "View denied REST API requests"
4012
  msgstr ""
4013
 
4014
+ #: cerber-load.php:4836
4015
  msgid "View lockouts in dashboard"
4016
  msgstr ""
4017
 
4023
  msgid "Vulnerability found"
4024
  msgstr ""
4025
 
4026
+ #: cerber-lab.php:893
4027
  msgid "Want to make WP Cerber even more powerful?"
4028
  msgstr ""
4029
 
4031
  msgid "We have not found any integrity data to verify"
4032
  msgstr ""
4033
 
4034
+ #: cerber-load.php:7958
4035
  msgid "We need your support to keep moving forward"
4036
  msgstr ""
4037
 
4038
+ #: cerber-load.php:4659
4039
  msgid "We're sorry, you are not allowed to proceed"
4040
  msgstr ""
4041
 
4042
+ #: cerber-2fa.php:657
4043
  msgid "We've sent a verification PIN code to your email"
4044
  msgstr ""
4045
 
4046
+ #: cerber-load.php:4843 cerber-load.php:4854 nexus/cerber-slave-list.php:44
4047
  msgid "Website"
4048
  msgstr ""
4049
 
4066
  msgid "Website URL"
4067
  msgstr ""
4068
 
4069
+ #: cerber-load.php:5021
4070
  msgid "Weekly Report"
4071
  msgstr ""
4072
 
4073
+ #: cerber-load.php:4885
4074
  msgid "Weekly report"
4075
  msgstr ""
4076
 
4114
  "loaded. The Custom login URL and Access Lists will not be changed."
4115
  msgstr ""
4116
 
4117
+ #: admin/cerber-dashboard.php:275 admin/cerber-dashboard.php:1596
4118
+ #: admin/cerber-dashboard.php:1680 admin/cerber-dashboard.php:2084
4119
  #: admin/cerber-tools.php:69
4120
  msgid "White IP Access List"
4121
  msgstr ""
4122
 
4123
+ #: admin/cerber-dashboard.php:5662
4124
  msgid "WooCommerce Log In"
4125
  msgstr ""
4126
 
4127
+ #: admin/cerber-dashboard.php:5663
4128
  msgid "WooCommerce Log Out"
4129
  msgstr ""
4130
 
4132
  msgid "WordPress"
4133
  msgstr ""
4134
 
4135
+ #: cerber-settings.php:1137
4136
  msgid "WordPress uploads analysis"
4137
  msgstr ""
4138
 
4139
+ #: cerber-load.php:4864 cerber-load.php:5937
4140
  msgid "WP Cerber is now active and has started protecting your site"
4141
  msgstr ""
4142
 
4143
+ #: cerber-load.php:4775
4144
  msgid "WP Cerber notify"
4145
  msgstr ""
4146
 
4147
+ #: cerber-common.php:459
4148
  #, php-format
4149
  msgid "WP Cerber requires PHP %s or higher. You are running %s"
4150
  msgstr ""
4151
 
4152
+ #: cerber-load.php:5880
4153
  #, php-format
4154
  msgid "WP Cerber requires PHP %s or higher. You are running %s."
4155
  msgstr ""
4156
 
4157
+ #: cerber-common.php:463
4158
  #, php-format
4159
  msgid "WP Cerber requires WordPress %s or higher. You are running %s"
4160
  msgstr ""
4161
 
4162
+ #: cerber-load.php:5884
4163
  #, php-format
4164
  msgid "WP Cerber requires WordPress %s or higher. You are running %s."
4165
  msgstr ""
4172
  msgid "Write failed login attempts to the file"
4173
  msgstr ""
4174
 
4175
+ #: admin/cerber-dashboard.php:2002 admin/cerber-users.php:52
4176
  #: admin/cerber-users.php:1081
4177
  msgid "You"
4178
  msgstr ""
4181
  msgid "You are here:"
4182
  msgstr ""
4183
 
4184
+ #: cerber-load.php:366
4185
  msgid "You are not allowed to log in"
4186
  msgstr ""
4187
 
4188
+ #: cerber-load.php:356 admin/cerber-users.php:463
4189
  msgid "You are not allowed to log in. Ask your administrator for assistance."
4190
  msgstr ""
4191
 
4192
+ #: cerber-load.php:1900 cerber-load.php:1906 cerber-load.php:1911
4193
+ #: cerber-load.php:1931 cerber-load.php:1936
4194
  msgid "You are not allowed to register."
4195
  msgstr ""
4196
 
4197
+ #: admin/cerber-dashboard.php:365
4198
  msgid "You cannot add your IP address or network"
4199
  msgstr ""
4200
 
4201
+ #: cerber-load.php:385
4202
  #, php-format
4203
  msgid "You have %d login attempt remaining."
4204
  msgid_plural "You have %d login attempts remaining."
4211
  "alternative login page. Otherwise, you will not be able to log in."
4212
  msgstr ""
4213
 
4214
+ #: cerber-2fa.php:366
4215
  msgid "You have entered an incorrect verification PIN code"
4216
  msgstr ""
4217
 
4218
+ #: cerber-load.php:362
4219
  #, php-format
4220
  msgid ""
4221
  "You have exceeded the number of allowed login attempts. Please try again in "
4222
  "%d minutes."
4223
  msgstr ""
4224
 
4225
+ #: cerber-load.php:382
4226
  msgid "You have only one login attempt remaining."
4227
  msgstr ""
4228
 
4242
  "malware."
4243
  msgstr ""
4244
 
4245
+ #: cerber-2fa.php:505
4246
  msgid ""
4247
  "You or someone else trying to log into the website. We have to verify that "
4248
  "it's you. If this wasn't you, please immediately reset your password to "
4249
  "safeguard your account."
4250
  msgstr ""
4251
 
4252
+ #: admin/cerber-dashboard.php:285
4253
  msgid "Your IP"
4254
  msgstr ""
4255
 
4256
+ #: cerber-load.php:5923
4257
  #, php-format
4258
  msgid "Your IP address %s has been added to the White IP Access List"
4259
  msgstr ""
4260
 
4261
+ #: cerber-load.php:4951
4262
  #, php-format
4263
  msgid "Your last sign-in was %s from %s"
4264
  msgstr ""
4265
 
4266
+ #: cerber-load.php:4927
4267
  msgid "Your license is valid until"
4268
  msgstr ""
4269
 
4270
+ #: cerber-load.php:4922
4271
  msgid "Your login page:"
4272
  msgstr ""
4273
 
4274
+ #: cerber-load.php:4660
4275
  msgid ""
4276
  "Your request looks suspiciously similar to automated requests from spam "
4277
  "posting software or it has been denied by a security policy configured by "
nexus/cerber-nexus-master.php CHANGED
@@ -882,7 +882,7 @@ function nexus_get_update( $plugin, $version = null ) {
882
  * @return bool|array|string|WP_Error
883
  */
884
  function nexus_net_send_request( $payload, $slave ) {
885
- global $crb_assets_url, $nexus_last_http, $nexus_last_curl;
886
 
887
  if ( ! is_super_admin()
888
  && ! ( defined( 'CRB_DOING_BG_TASK' ) && CRB_DOING_BG_TASK ) ) {
@@ -905,7 +905,7 @@ function nexus_net_send_request( $payload, $slave ) {
905
  $data['seal'] = nexus_seal();
906
  $data['params'] = $_GET;
907
  $data['base'] = ( ! is_multisite() ) ? admin_url() : network_admin_url();
908
- $data['assets'] = $crb_assets_url;
909
  $data['is_post'] = cerber_is_http_post();
910
  $data['payload'] = $payload;
911
  $data[ rand() ] = rand(); // random checksum for identical requests
@@ -1361,9 +1361,10 @@ add_action( 'admin_head', function () {
1361
  });
1362
 
1363
  add_action( 'wp_ajax_cerber_master_ajax', function () {
1364
- global $crb_assets_url;
1365
  check_ajax_referer( 'crb-ajax-admin', 'ajax_nonce' );
1366
- if ( ! is_super_admin() ) {
 
1367
  wp_die( 'Oops! Access denied.' );
1368
  }
1369
 
882
  * @return bool|array|string|WP_Error
883
  */
884
  function nexus_net_send_request( $payload, $slave ) {
885
+ global $nexus_last_http, $nexus_last_curl;
886
 
887
  if ( ! is_super_admin()
888
  && ! ( defined( 'CRB_DOING_BG_TASK' ) && CRB_DOING_BG_TASK ) ) {
905
  $data['seal'] = nexus_seal();
906
  $data['params'] = $_GET;
907
  $data['base'] = ( ! is_multisite() ) ? admin_url() : network_admin_url();
908
+ $data['assets'] = CRB_Globals::$assets_url;
909
  $data['is_post'] = cerber_is_http_post();
910
  $data['payload'] = $payload;
911
  $data[ rand() ] = rand(); // random checksum for identical requests
1361
  });
1362
 
1363
  add_action( 'wp_ajax_cerber_master_ajax', function () {
1364
+
1365
  check_ajax_referer( 'crb-ajax-admin', 'ajax_nonce' );
1366
+
1367
+ if ( ! is_super_admin() ) {
1368
  wp_die( 'Oops! Access denied.' );
1369
  }
1370
 
nexus/cerber-nexus-slave.php CHANGED
@@ -66,7 +66,6 @@ class CRB_Master {
66
  public $error;
67
 
68
  final function __construct() {
69
- global $crb_assets_url, $crb_ajax_loader;
70
 
71
  $fields = nexus_get_fields();
72
  if ( ! $payload = cerber_get_post( $fields[1] ) ) {
@@ -100,8 +99,8 @@ class CRB_Master {
100
  }
101
  }
102
 
103
- $crb_assets_url = $request['assets'];
104
- $crb_ajax_loader = $crb_assets_url . 'ajax-loader.gif';
105
 
106
  if ( $this->type == 'ajax' ) {
107
  if ( ! $this->action = crb_array_get( $request['params'], 'action' ) ) {
66
  public $error;
67
 
68
  final function __construct() {
 
69
 
70
  $fields = nexus_get_fields();
71
  if ( ! $payload = cerber_get_post( $fields[1] ) ) {
99
  }
100
  }
101
 
102
+ CRB_Globals::$assets_url = $request['assets'];
103
+ CRB_Globals::$ajax_loader = CRB_Globals::$assets_url . 'ajax-loader.gif';
104
 
105
  if ( $this->type == 'ajax' ) {
106
  if ( ! $this->action = crb_array_get( $request['params'], 'action' ) ) {
nexus/cerber-slave-list.php CHANGED
@@ -373,7 +373,7 @@ class CRB_Slave_Table extends WP_List_Table {
373
  nexus_refresh_slave_srv( $item['id'] );
374
  $srv = nexus_get_srv_info( $item['server_id'] );
375
  if ( ! $srv ) {
376
- return 'Updating...';
377
  }
378
  }
379
 
373
  nexus_refresh_slave_srv( $item['id'] );
374
  $srv = nexus_get_srv_info( $item['server_id'] );
375
  if ( ! $srv ) {
376
+ return '-';
377
  }
378
  }
379
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
5
  Requires at least: 4.9
6
  Requires PHP: 7.0
7
  Tested up to: 5.8
8
- Stable tag: 8.9.3
9
  License: GPLv2
10
 
11
  Protection against hacker attacks and bots. Malware scanner & integrity checker. User activity log. Antispam reCAPTCHA. Limit login attempts.
@@ -317,65 +317,83 @@ To get access to your dashboard you need to copy the WP Cerber Reset folder to t
317
 
318
  == Changelog ==
319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
320
  = 8.9.3 =
321
- Improved: The scanner: now checksums generated using manually uploaded ZIP archives have priority over the remote ones.
322
- Improved: You can configure exceptions for WP Cerber's anti-spam by disabling its code on selected WordPress pages.
323
- Improved: New diagnostic messages were added for better troubleshooting issues with ZIP archives uploaded in the scanner.
324
- Fixed: A vulnerability that affects WP Cerber's two-factor authentication (2FA) mechanism.
325
- Fixed: A bug that prevents uploading ZIP archives on the scan results page if the filename contains multiple dots.
326
- Fixed: Fixed admin message "Error: Sorry, that username is not allowed." which is wrongly displayed on the user edit page while updating users with prohibited usernames.
327
- Fixed: Not detecting malformed REST API requests with a question mark in this format: /wp-json?
 
328
 
329
  = 8.9 =
330
- Improved: An updated scan statistic and filtering widget. Dynamically displays the most important issues with sorting.
331
- Improved: The percentage of completion of a scanner step is shown now.
332
- Improved: Sanitizing of malformed filenames in the scanner reports has been improved to avoid possible issues with the layout of the scan results page if malware creates malformed filenames to hinder their detection.
333
- Improved: Handling of WordPress locales and versions on websites with multilanguage plugins has been improved.
334
- Improved: A missing wp-config-sample.php file is not reported as an issue in the results of the scan anymore.
335
- Improved: Handling REGEX patterns for the setting fields "Restrict email addresses" and "Prohibited usernames". Now they support REGEX quantifiers.
336
- Improved: You can specify the "User-Agent" string for requests from the main (master) Cerber.Hub website by defining the PHP constant CERBER_HUB_UA in the wp-config.php file.
337
- Improved: Diagnostic logging for network requests to the WP Cerber cloud. To enable logging, define the PHP constant CERBER_CLOUD_DEBUG in the wp-config.php file. Logging covers admin operations on the WP Cerber admin pages only.
338
- Improved: Text on the forbidden page is translatable now.
339
- Fixed bug: Some long filenames in the scan results break the layout of the scan results page, making it hard to navigate and use.
340
- Fixed bug: Unwanted file extensions are not detected if a file is identified as malicious.
341
- Fixed bug: If a file is missing, the full filename is not shown in the scan results when clicking the “Show full filenames” icon.
342
- Fixed bug: "PHP Deprecated: Required parameter $function follows optional parameter $pattern in /plugins/wp-cerber/cerber-scanner.php".
343
- Fixed bug: "PHP Fatal error: Call to undefined function crb_admin_hash_token() in cerber-load.php:1521".
344
- Fixed bug: "PHP Notice: Undefined property: WP_Error::$ID in cerber-load.php on line 1131".
345
  * [Read more](https://wpcerber.com/wp-cerber-security-8-9/)
346
 
347
  = 8.8.6 =
348
  * New: You can specify the "User-Agent" string for requests from the main (master) Cerber.Hub website by defining the PHP constant CERBER_HUB_UA in the wp-config.php file.
349
  * New: Diagnostic logging for network requests to the WP Cerber cloud. To enable logging, define the PHP constant CERBER_CLOUD_DEBUG in the wp-config.php file. Logging covers admin operations on the WP Cerber admin pages only.
350
- Fixed bug: "PHP Fatal error: Call to undefined function crb_admin_hash_token() in cerber-load.php:1521".
351
- Fixed bug: "PHP Notice: Undefined property: WP_Error::$ID in cerber-load.php on line 1131".
352
 
353
  = 8.8.5 =
354
  * New: Quick user activity analytics (user insights) with filtering links on the Activity and Live Traffic log pages. Select a user to see how it works.
355
  * New: Quick IP address activity and analytics (IP insights) with filtering links on the Activity and Live Traffic log pages. Select an IP address to see how it works.
356
- Improved: The selected user profile is displayed when filtering log entries by the user login or using the username search on the Activity log page.
357
- Improved: The IP address details and analytics are displayed when filtering log entries by the IP address or using the IP address search on the Activity log page.
358
- Improved: Implemented AJAX rendering of the plugin admin pages for faster loading and more convenient navigation through WP Cerber’s admin pages
359
- Improved: To load the Users admin page faster, the user table columns generated by WP Cerber are now loaded via AJAX.
360
- Improved: Highlighting the selected filtering link in the navigation bar on the Activity and Live Traffic log pages.
361
- Improved: You will not see false DB errors on the Diagnostic page anymore.
362
- Fixed bug: When scanning, you can come across the software error "Process has been aborted due to server error. Check the browser console for errors." and "Too few arguments" error in the server error log.
363
 
364
  = 8.8.3 =
365
- New: Mimicking the default WordPress user authentication through the wp-login.php to detect slow brute-force attacks.
366
- New: Prevent guessing valid usernames and user emails by disabling WordPress hints in the login error message when attempting to log in with non-existing usernames and emails.
367
- New: Prevent guessing valid usernames and user emails by disabling WordPress hints in the password reset error message when attempting to reset passwords for non-existing accounts.
368
- New: Prevent username discovery via oEmbed and user XML sitemaps.
369
- New: User and malicious activity are displayed separately in two different areas on WP Cerber’s main dashboard page.
370
- New: More convenient navigation through the WP Cerber admin pages by having the admin menu at the top.
371
- New: A new quick link "Login issues" to view all login issues such as failed logins, denied attempts, attempts to reset passwords, and so forth.
372
- Improved: Reduced the number of false positives when the malware scanner inspecting directives with external IP addresses in .htaccess files.
373
- Improved: Better 2FA emails: the wording of the verification email has been updated and can be translated. The email subject includes the site name.
374
- Improved: The size of the database tables used by the integrity checker and malware scanner has been reduced.
375
- Improved: Implemented a strictly secure way of utilizing the unserialize() PHP function known for being used to deliver and run malicious code.
376
- Improved: Implemented a backup way of running WP Cerber maintenance tasks if WordPress scheduled tasks are not configured properly.
377
- Fixed bug: 2FA PINs are not displayed on the edit user admin pages in the WordPress dashboard.
378
- Fixed bug: The "API request authorization failed" event was logged as "Login failed".
379
 
380
  = 8.8 =
381
  * New: [You get control over the WordPress application passwords and the ability to monitor related events in the log with email and mobile notifications.](https://wpcerber.com/wordpress-application-passwords-how-to/)
5
  Requires at least: 4.9
6
  Requires PHP: 7.0
7
  Tested up to: 5.8
8
+ Stable tag: 8.9.5
9
  License: GPLv2
10
 
11
  Protection against hacker attacks and bots. Malware scanner & integrity checker. User activity log. Antispam reCAPTCHA. Limit login attempts.
317
 
318
  == Changelog ==
319
 
320
+ = 8.9.5 =
321
+ * New: A new setting for [WP Cerber's anti-spam engine](https://wpcerber.com/antispam-for-wordpress-contact-forms/): "Disable bot detection engine for IP addresses in the White IP Access List".
322
+ * New: A new setting for [the reCAPTCHA module](https://wpcerber.com/how-to-setup-recaptcha/): "Disable reCAPTCHA for IP addresses in the White IP Access List".
323
+ * Improved: Logging all user session terminations including those that occurred when an admin manually terminate user sessions or [block users](https://wpcerber.com/how-to-block-wordpress-user/).
324
+ * Improved: If a user session has been terminated by a website admin, the admin’s name is logged and shown in the Activity log.
325
+ * Improved: Logging all user password changes including those made on the edit user admin page, and the WooCommerce edit account page.
326
+ * Improved: Logging [application passwords](https://wpcerber.com/wordpress-application-passwords-how-to/) changes.
327
+ * Improved: New status labels in the Activity log: "reCAPTCHA verified" is shown when a user solves reCAPTCHA successfully
328
+ * Improved: New status labels in the Activity log: "Logged out everywhere" is shown when a user has completely logged out on all devices and of all locations.
329
+ * Improved: Failed reCAPTCHA verifications are logged with form submission events they are linked to.
330
+ * Improved: A new event is logged: "Password reset request denied". With possible statuses "reCAPTCHA verification failed", "User blocked by administrator", "Username is prohibited".
331
+ * Improved: Handling reset of user passwords is improved to support changes in the WordPress core.
332
+ * Fixed: A cookie-related bug that causes a fatal software error if a user has been deleted or their password has been changed in the WordPress dashboard by the website administrator while the user is being logged in.
333
+ * Fixed: A bug with the WordPress lost password (reset password) form that prevents displaying error messages to a user.
334
+ * Fixed: When the [limit on the number of allowed concurrent user sessions](https://wpcerber.com/limiting-concurrent-user-sessions-in-wordpress/) is set to one, an attempt to log in with the user name and incorrect password terminates the existing session of the user.
335
+ * [Read more](https://wpcerber.com/wp-cerber-security-8-9-5/)
336
+
337
  = 8.9.3 =
338
+ * Improved: The scanner: now checksums generated using manually uploaded ZIP archives have priority over the remote ones.
339
+ * Improved: You can configure exceptions for WP Cerber's anti-spam by disabling its code on selected WordPress pages.
340
+ * Improved: New diagnostic messages were added for better troubleshooting issues with ZIP archives uploaded in the scanner.
341
+ * Fixed: A vulnerability that affects WP Cerber's two-factor authentication (2FA) mechanism.
342
+ * Fixed: A bug that prevents uploading ZIP archives on the scan results page if the filename contains multiple dots.
343
+ * Fixed: Fixed admin message "Error: Sorry, that username is not allowed." which is wrongly displayed on the user edit page while updating users with prohibited usernames.
344
+ * Fixed: Not detecting malformed REST API requests with a question mark in this format: /wp-json?
345
+ * [Read more](https://wpcerber.com/wp-cerber-security-8-9-3/)
346
 
347
  = 8.9 =
348
+ * Improved: An updated scan statistic and filtering widget. Dynamically displays the most important issues with sorting.
349
+ * Improved: The percentage of completion of a scanner step is shown now.
350
+ * Improved: Sanitizing of malformed filenames in the scanner reports has been improved to avoid possible issues with the layout of the scan results page if malware creates malformed filenames to hinder their detection.
351
+ * Improved: Handling of WordPress locales and versions on websites with multilanguage plugins has been improved.
352
+ * Improved: A missing wp-config-sample.php file is not reported as an issue in the results of the scan anymore.
353
+ * Improved: Handling REGEX patterns for the setting fields "Restrict email addresses" and "Prohibited usernames". Now they support REGEX quantifiers.
354
+ * Improved: You can specify the "User-Agent" string for requests from the main (master) Cerber.Hub website by defining the PHP constant CERBER_HUB_UA in the wp-config.php file.
355
+ * Improved: Diagnostic logging for network requests to the WP Cerber cloud. To enable logging, define the PHP constant CERBER_CLOUD_DEBUG in the wp-config.php file. Logging covers admin operations on the WP Cerber admin pages only.
356
+ * Improved: Text on the forbidden page is translatable now.
357
+ * Fixed bug: Some long filenames in the scan results break the layout of the scan results page, making it hard to navigate and use.
358
+ * Fixed bug: Unwanted file extensions are not detected if a file is identified as malicious.
359
+ * Fixed bug: If a file is missing, the full filename is not shown in the scan results when clicking the “Show full filenames” icon.
360
+ * Fixed bug: "PHP Deprecated: Required parameter $function follows optional parameter $pattern in /plugins/wp-cerber/cerber-scanner.php".
361
+ * Fixed bug: "PHP Fatal error: Call to undefined function crb_admin_hash_token() in cerber-load.php:1521".
362
+ * Fixed bug: "PHP Notice: Undefined property: WP_Error::$ID in cerber-load.php on line 1131".
363
  * [Read more](https://wpcerber.com/wp-cerber-security-8-9/)
364
 
365
  = 8.8.6 =
366
  * New: You can specify the "User-Agent" string for requests from the main (master) Cerber.Hub website by defining the PHP constant CERBER_HUB_UA in the wp-config.php file.
367
  * New: Diagnostic logging for network requests to the WP Cerber cloud. To enable logging, define the PHP constant CERBER_CLOUD_DEBUG in the wp-config.php file. Logging covers admin operations on the WP Cerber admin pages only.
368
+ * Fixed bug: "PHP Fatal error: Call to undefined function crb_admin_hash_token() in cerber-load.php:1521".
369
+ * Fixed bug: "PHP Notice: Undefined property: WP_Error::$ID in cerber-load.php on line 1131".
370
 
371
  = 8.8.5 =
372
  * New: Quick user activity analytics (user insights) with filtering links on the Activity and Live Traffic log pages. Select a user to see how it works.
373
  * New: Quick IP address activity and analytics (IP insights) with filtering links on the Activity and Live Traffic log pages. Select an IP address to see how it works.
374
+ * Improved: The selected user profile is displayed when filtering log entries by the user login or using the username search on the Activity log page.
375
+ * Improved: The IP address details and analytics are displayed when filtering log entries by the IP address or using the IP address search on the Activity log page.
376
+ * Improved: Implemented AJAX rendering of the plugin admin pages for faster loading and more convenient navigation through WP Cerber’s admin pages
377
+ * Improved: To load the Users admin page faster, the user table columns generated by WP Cerber are now loaded via AJAX.
378
+ * Improved: Highlighting the selected filtering link in the navigation bar on the Activity and Live Traffic log pages.
379
+ * Improved: You will not see false DB errors on the Diagnostic page anymore.
380
+ * Fixed bug: When scanning, you can come across the software error "Process has been aborted due to server error. Check the browser console for errors." and "Too few arguments" error in the server error log.
381
 
382
  = 8.8.3 =
383
+ * New: Mimicking the default WordPress user authentication through the wp-login.php to detect slow brute-force attacks.
384
+ * New: Prevent guessing valid usernames and user emails by disabling WordPress hints in the login error message when attempting to log in with non-existing usernames and emails.
385
+ * New: Prevent guessing valid usernames and user emails by disabling WordPress hints in the password reset error message when attempting to reset passwords for non-existing accounts.
386
+ * New: Prevent username discovery via oEmbed and user XML sitemaps.
387
+ * New: User and malicious activity are displayed separately in two different areas on WP Cerber’s main dashboard page.
388
+ * New: More convenient navigation through the WP Cerber admin pages by having the admin menu at the top.
389
+ * New: A new quick link "Login issues" to view all login issues such as failed logins, denied attempts, attempts to reset passwords, and so forth.
390
+ * Improved: Reduced the number of false positives when the malware scanner inspecting directives with external IP addresses in .htaccess files.
391
+ * Improved: Better 2FA emails: the wording of the verification email has been updated and can be translated. The email subject includes the site name.
392
+ * Improved: The size of the database tables used by the integrity checker and malware scanner has been reduced.
393
+ * Improved: Implemented a strictly secure way of utilizing the unserialize() PHP function known for being used to deliver and run malicious code.
394
+ * Improved: Implemented a backup way of running WP Cerber maintenance tasks if WordPress scheduled tasks are not configured properly.
395
+ * Fixed bug: 2FA PINs are not displayed on the edit user admin pages in the WordPress dashboard.
396
+ * Fixed bug: The "API request authorization failed" event was logged as "Login failed".
397
 
398
  = 8.8 =
399
  * New: [You get control over the WordPress application passwords and the ability to monitor related events in the log with email and mobile notifications.](https://wpcerber.com/wordpress-application-passwords-how-to/)
wp-cerber.php CHANGED
@@ -5,7 +5,7 @@
5
  Description: Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications.
6
  Author: Cerber Tech Inc.
7
  Author URI: https://wpcerber.com
8
- Version: 8.9.3
9
  Text Domain: wp-cerber
10
  Domain Path: /languages
11
  Network: true
@@ -31,7 +31,7 @@
31
 
32
  */
33
 
34
- const CERBER_VER = '8.9.3';
35
  const CERBER_PLUGIN_ID = 'wp-cerber/wp-cerber.php';
36
 
37
  function cerber_plugin_file() {
5
  Description: Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications.
6
  Author: Cerber Tech Inc.
7
  Author URI: https://wpcerber.com
8
+ Version: 8.9.5
9
  Text Domain: wp-cerber
10
  Domain Path: /languages
11
  Network: true
31
 
32
  */
33
 
34
+ const CERBER_VER = '8.9.5';
35
  const CERBER_PLUGIN_ID = 'wp-cerber/wp-cerber.php';
36
 
37
  function cerber_plugin_file() {