|
Rozmiar: 6114
Komentarz: aktualizacja po dodaniu do ports
|
Rozmiar: 4868
Komentarz: wyrzeenie patchy - dodane w projekcie
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 18: | Linia 18: |
== Modyfikacji skryptu z funkcjami - send_mail == {{{#!diff numbers=off --- lib/functions.inc.php.orig 2011-07-21 17:42:25.000000000 +0200 +++ lib/functions.inc.php 2011-12-12 02:47:15.000000000 +0100 @@ -363,14 +363,20 @@ } /* Encode the subject */ - $subject = mb_encode_mimeheader(utf8_decode($subject), "UTF-8", "Q"); + mb_internal_encoding("UTF-8"); + $subject = mb_encode_mimeheader($subject); /* Set encoding for the body */ $header = "MIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n"; /* Send the mail */ if ($mail_from) { - $result = mail($mail, $subject, $body, $header."From: $mail_from\r\n","-f$mail_from"); + $header .= "From: "; + if( $GLOBALS['messages']['resetfrom'] ) { + $header .= "".mb_encode_mimeheader( $GLOBALS['messages']['resetfrom'] )." "; + } + $header .= "<".$mail_from."> \n"; + $result = mail($mail, $subject, $body, $header, "-f$mail_from"); } else { $result = mail($mail, $subject, $body, $header); } }}} (Docelowo należy przerobić funckcję send_mail, tak aby tekst 'resetfrom' był przekazywany do funkcji jako zmienna (tak dla zasady).) |
Spis Treści
Self Service Password
Aplikacja do samodzielnej zmiany hasła. Źródło: LDAP ToolBox.
Polonizacja
Już nie potrzebna. Została wykonana i włączona do projektu. Jak również wszystkie poniższe poprawki. A poza tym jest już włączone do FreeBSD ports
Zmiany w konfiguracji
#cd <katalog z aplikacja>
cd conf/
cp -p config.inc.php config.inc.php.orig
Konfiguracja Apache
# --- definicja katalogu ze stronami HTML/CGI ------------------------
#
<Directory /home/www/htdocs/virtuals/self-service-password>
DirectoryIndex index.php
AddDefaultCharset UTF-8
AllowOverride None
Order allow,deny
Allow from all
<IfModule mod_php5.c>
php_value default_charset "utf-8"
</IfModule>
</Directory>
# --- oraz pod/l/aczenie do aliasu
#
Alias /ssp/ /home/www/htdocs/virtuals/self-service-password/
config.inc.php
Istotne miejsca konfiguracji:
ldap_filter decyduje, jakie obiekty są wyszukiwane w katalogu. Domyślnie konta pocztowe są m.in. obiektami typu person. Ale już np. konta PureFTPd nie są. Dlatego też albo trzeba mieć dwie instancje skryptu albo też inaczej napisać filtr.
Problemem jest również mail_attribute. W moim rozwiązaniu zawartość email nie jest zrozumiała dla klientów. Dlatego wybrany jest mailAlternateAddress, co może czasami prowadzić do nadużyć (wspólny alias dla dwóch kont). Niemniej ryzyko jest znikome.
--- conf/config.inc.php.orig 2011-12-05 15:23:56.000000000 +0100
+++ conf/config.inc.php 2011-12-12 02:51:01.000000000 +0100
@@ -23,10 +23,10 @@
# Configuration
#==============================================================================
# LDAP
-$ldap_url = "ldap://localhost";
-$ldap_binddn = "cn=manager,dc=example,dc=com";
-$ldap_bindpw = "secret";
-$ldap_base = "dc=example,dc=com";
+$ldap_url = "ldap://127.0.0.1";
+$ldap_binddn = "cn=manager_ldapa,dc=bsdserwis,dc=com";
+$ldap_bindpw = "tajne_haslo";
+$ldap_base = "dc=cmd,dc=bsdserwis,dc=com";
$ldap_filter = "(&(objectClass=person)(uid={login}))";
# Active Directory mode
@@ -53,30 +53,30 @@
# Local password policy
# This is applied before directory password policy
# Minimal length
-$pwd_min_length = 0;
+$pwd_min_length = 8;
# Maximal length
-$pwd_max_length = 0;
+$pwd_max_length = 24;
# Minimal lower characters
-$pwd_min_lower = 0;
+$pwd_min_lower = 1;
# Minimal upper characters
-$pwd_min_upper = 0;
+$pwd_min_upper = 1;
# Minimal digit characters
-$pwd_min_digit = 0;
+$pwd_min_digit = 1;
# Minimal special characters
$pwd_min_special = 0;
# Definition of special characters
$pwd_special_chars = "^a-zA-Z0-9";
# Forbidden characters
-#$pwd_forbidden_chars = "@%";
+$pwd_forbidden_chars = "@%";
# Don't reuse the same password as currently
$pwd_no_reuse = true;
# Complexity: number of different class of character required
-$pwd_complexity = 0;
+$pwd_complexity = 1;
# Show policy constraints message:
# always
# never
# onerror
-$pwd_show_policy = "never";
+$pwd_show_policy = "onerror";
# Who changes the password?
# Also applicable for question/answer save
@@ -111,17 +111,20 @@
## Mail
# LDAP mail attribute
-$mail_attribute = "mail";
+$mail_attribute = "mailAlternateAddress";
# Who the email should come from
-$mail_from = "admin@example.com";
+$mail_from = "zmiana.hasla@bsdserwis.com";
# Notify users anytime their password is changed
-$notify_on_change = false;
+$notify_on_change = true;
# Display help messages
$show_help = true;
# Language
-$lang ="en";
+$lang ="pl";
+
+# $messages depends on language :)
+#$mail_from_txt = $messages['resetfrom'];
# Logo
$logo = "style/ltb-logo.png";
@@ -130,17 +133,17 @@
$debug = false;
# Encryption, decryption keyphrase
-$keyphrase = "secret";
+$keyphrase = "losowy_ciag_znakow";
# Where to log password resets - Make sure apache has write permission
# By default, they are logged in Apache log
-#$reset_request_log = "/var/log/self-service-password";
+$reset_request_log = "/var/log/self-service-password";
## CAPTCHA
# Use Google reCAPTCHA (http://www.google.com/recaptcha)
# Go on the site to get public and private key
-$use_recaptcha = false;
-$recaptcha_publickey = "";
-$recaptcha_privatekey = "";
+$use_recaptcha = true;
+$recaptcha_publickey = "moj_klucz_publiczny";
+$recaptcha_privatekey = "moj_klucz_prywatny";
Plik z logiem
touch /var/log/self-service-password
chown www:www /var/log/self-service-password
No i gotowe
