Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    squirrelmail, perdendo la password per strada...

    Ciao a tutti, vi spiego la situazione... sul mio server web ho installato squirrelmail, che ha funzionato per molti mesi, grazie ad una versione php "fantasma" che avevo installato ancora un anno fa.... vi spiego perchè fantasma... fantasma per il semplice fatto che il php funzionava correttamente sul mio server, così come lo squirrelmail, ma in giro nel computer non si trovava il classico file php.ini che fa girare tutto e decide i parametri di configurazione del php stesso...
    lo squirrelmail supporta di base 2 megabyte di grandezza per gli allegati delle email che devono partire... ok, io volendo aumentare questa dimensione a 10 megabyte per gli allegati di ciascuna email, e non riuscendoci (in quanto impossibile trovare il php.ini dove impostare il parametro upload_max_filesize = 2M per portarlo a 10M),ho pensato bene di installare il nuovo php 5.3, facendo in realtà male... perchè a causa di questo upgrade (che se non altro ha portato la novità del php.ini modificabile e personalizzabile nella cartella c:/php) adesso lo squirrelmail da un errore in fase di login e non mi permette di accedere a nessun account da me configurato. Ho anche scoperto la causa di tutto ciò... il problema è dato da fatto che quando io vado sulla pagina della webmail, e digito username e password, al server viene inviata ovviamente la richiesta di login, che si suddivide in tre fasi. Nella prima va a buon fine, perchè compare username con a fianco la password, le altre fasi invece bloccano il login, perchè viene riportata solo la username, e la password vuota.
    Perciò lo squirrelmail diciamo che "perde per strada" la password durante la fase di login, non permettendomi l'accesso... ovviamente impostando dal server mail (io uso hmailserver) una password vuota per un determinato account, il login viene effettuato tranquillamente...
    il problema risiede proprio nel fatto che la password viene persa per strada dallo squirrelmail durante il login.

    Vi faccio vedere il log del server infatti, dove come potete vedere lo username è info@chrystalnet.it e la password prova123:

    "TCPIP" 3192 "2008-10-31 16:35:54.609" "Created accept socket 1652 on listening socket 1308"
    "DEBUG" 3192 "2008-10-31 16:35:54.609" "Socket::Socket(ID: 224)"
    "IMAPD" 3192 224 "2008-10-31 16:35:54.609" "127.0.0.1" "SENT: * OK IMAPrev1"
    "IMAPD" 3192 224 "2008-10-31 16:35:54.609" "127.0.0.1" "RECEIVED: A001 LOGIN "info@chrystalnet.it" "prova123""
    "IMAPD" 3192 224 "2008-10-31 16:35:54.609" "127.0.0.1" "SENT: A001 OK LOGIN completed"
    "IMAPD" 3184 224 "2008-10-31 16:35:54.609" "127.0.0.1" "RECEIVED: A002 CAPABILITY"
    "IMAPD" 3184 224 "2008-10-31 16:35:54.609" "127.0.0.1" "SENT: * CAPABILITY IMAP4 IMAP4rev1 CHILDREN IDLE QUOTA SORT[nl]A002 OK CAPABILITY completed"
    "IMAPD" 3192 224 "2008-10-31 16:35:54.625" "127.0.0.1" "RECEIVED: . LIST "INBOX" """
    "IMAPD" 3192 224 "2008-10-31 16:35:54.625" "127.0.0.1" "SENT: * LIST (/NoSelect) "." """
    "IMAPD" 3192 224 "2008-10-31 16:35:54.625" "127.0.0.1" "SENT: . OK LIST completed"
    "IMAPD" 3192 224 "2008-10-31 16:35:54.625" "127.0.0.1" "RECEIVED: A003 LOGOUT"
    "IMAPD" 3192 224 "2008-10-31 16:35:54.625" "127.0.0.1" "SENT: * BYE Have a nice day[nl]A003 OK Logout completed"
    "TCPIP" 3184 "2008-10-31 16:35:54.625" "Disconnecting socket 1624 for session 224"
    "DEBUG" 3184 "2008-10-31 16:35:54.625" "Socket::~Socket(ID: 224)"
    "TCPIP" 3192 "2008-10-31 16:35:55.437" "Created accept socket 1624 on listening socket 1308"
    "DEBUG" 3192 "2008-10-31 16:35:55.437" "Socket::Socket(ID: 225)"
    "IMAPD" 3192 225 "2008-10-31 16:35:55.437" "127.0.0.1" "SENT: * OK IMAPrev1"
    "IMAPD" 3184 225 "2008-10-31 16:35:55.437" "127.0.0.1" "RECEIVED: A001 LOGIN "info@chrystalnet.it" """ (e qui la password non c'è piu, persa)
    "IMAPD" 3184 225 "2008-10-31 16:35:55.437" "127.0.0.1" "SENT: A001 NO Invalid user name or password."
    "IMAPD" 3192 225 "2008-10-31 16:35:55.437" "127.0.0.1" "RECEIVED: A002 LOGOUT"
    "IMAPD" 3192 225 "2008-10-31 16:35:55.437" "127.0.0.1" "SENT: * BYE Have a nice day[nl]A002 OK Logout completed"
    "TCPIP" 3184 "2008-10-31 16:35:55.437" "Disconnecting socket 1652 for session 225"
    "DEBUG" 3184 "2008-10-31 16:35:55.437" "Socket::~Socket(ID: 225)"
    "TCPIP" 3192 "2008-10-31 16:35:55.671" "Created accept socket 1652 on listening socket 1308"
    "DEBUG" 3192 "2008-10-31 16:35:55.671" "Socket::Socket(ID: 226)"
    "IMAPD" 3192 226 "2008-10-31 16:35:55.671" "127.0.0.1" "SENT: * OK IMAPrev1"
    "IMAPD" 3184 226 "2008-10-31 16:35:55.671" "127.0.0.1" "RECEIVED: A001 LOGIN "info@chrystalnet.it" """ (anche qui la password non c'è piu, come invece dovrebbe)
    "IMAPD" 3184 226 "2008-10-31 16:35:55.687" "127.0.0.1" "SENT: A001 NO Invalid user name or password."
    "TCPIP" 3192 "2008-10-31 16:35:55.687" "Disconnecting socket 1624 for session 226"
    "DEBUG" 3192 "2008-10-31 16:35:55.687" "Socket::~Socket(ID: 226)"
    "DEBUG" 3092 "2008-10-31 16:35:58.203" "TimedoutConnectionRemoverTask:oWork()"
    "TCPIP" 3184 "2008-10-31 16:36:01.312" "Created accept socket 1644 on listening socket 1292"
    "DEBUG" 3184 "2008-10-31 16:36:01.312" "Socket::Socket(ID: 227)"
    "SMTPD" 3184 227 "2008-10-31 16:36:01.312" "220.120.161.171" "SENT: 220 89.118.77.7 ESMTP"

    Essendo una cosa urgente, vi chiedo, da cosa può essere dato questo??? le persone che ho sentito finora suppongono e ipotizzano un problema di "sessione", dato da qualche parametro nel php.ini probabilmente... il problema è che io non saprei dove mettere le mani...

    grazie ciau

  2. #2
    Se esegui il seguente script sul web server, che cosa indica come php.ini

    Codice PHP:
    <?php phpinfo(); ?>
    Se provi un semplice codice di gestione delle sessioni, ottieni qualche messaggio di errore particolare?

    Codice PHP:
    <?php 
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);
    session_start();
    $_SESSION['count'] = isset($_SESSION['count']) ? $_SESSION['count'] : 0;
    echo(
    $_SESSION['count']);
    $_SESSION['count']++;
    ?>
    Controllando i log di errore del web server, hai trovato qualche informazione utile?

    P.S.
    Perchè hai installato una versione alpha di PHP su un server di produzione?

  3. #3
    allora... come php.ini, finalmente mi indica quello in c:/php/php.ini ti riporto tutta la risposta all'interrogazione (tieni conto che nel frattempo ho cancellato il php5.3 e installato la versione stable 5.2.6):

    PHP Version 5.2.6

    System Windows NT WEBSVR1 5.0 build 2195
    Build Date May 2 2008 18:01:20
    Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared" "--with-extra-includes=C:\Program Files (x86)\Microsoft SDK\Include;C:\PROGRA~2\MICROS~2\VC98\ATL\INCLUDE; C:\PROGRA~2\MICROS~2\VC98\INCLUDE;C:\PROGRA~2\MICR OS~2\VC98\MFC\INCLUDE" "--with-extra-libs=C:\Program Files (x86)\Microsoft SDK\Lib;C:\PROGRA~2\MICROS~2\VC98\LIB;C:\PROGRA~2\ MICROS~2\VC98\MFC\LIB"
    Server API CGI/FastCGI
    Virtual Directory Support enabled
    Configuration File (php.ini) Path C:\WINNT
    Loaded Configuration File C:\PHP\php.ini
    PHP API 20041225
    PHP Extension 20060613
    Zend Extension 220060519
    Debug Build no
    Thread Safety enabled
    Zend Memory Manager enabled
    IPv6 Support enabled
    Registered PHP Streams php, file, data, http, ftp, compress.zlib
    Registered Stream Socket Transports tcp, udp
    Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.*

    This program makes use of the Zend Scripting Language Engine:
    Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

    Facendo invece la seconda cosa che hai detto, non ottengo nessun codice di errore, ma solo ovviamente un numero che partendo da 0 si incrementa all'infinito a ogni refresh della pagina...
    Il fatto che per cui avessi messo il php 5.3 alpha su un server di produzione ha solo un motivo: che io sono un pò coglione

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da erremetal
    ...
    Il fatto che per cui avessi messo il php 5.3 alpha su un server di produzione ha solo un motivo: che io sono un pò coglione




    sono d' accordo con i pareri precedenti... secondo me è un problema di sessioni, magari di propagazione della sessione stessa... ci sono impostazioni utili per te proprio nel php.ini ma devi poterlo modificare...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    eh...ma adesso il php.ini io posso modificarlo!!! in ogni singolo parametro!!! tu dammi le istruzioni e io eseguo e ti dico se il server esplode un pò di più o un pò di meno

    il problema è che io, essendo incompetente in materia (non avendo mai configurato il php prima d'ora), non so dove mettere le mani... u capisc? :rollo:
    ossia il php.ini riesco ad aprirlo e modificarlo tranquillamente... ma non so che parametri devo andare a modificare per far funzionare la cosa...

    approposito di aprire il php.ini... questi sono i parametri session:


    [Session]
    ; Handler used to store/retrieve data.
    session.save_handler = files

    ; Argument passed to save_handler. In the case of files, this is the path
    ; where data files are stored. Note: Windows users have to change this
    ; variable in order to use PHP's session functions.
    ;
    ; As of PHP 4.0.1, you can define the path as:
    ;
    ; session.save_path = "N;/path"
    ;
    ; where N is an integer. Instead of storing all the session files in
    ; /path, what this will do is use subdirectories N-levels deep, and
    ; store the session data in those directories. This is useful if you
    ; or your OS have problems with lots of files in one directory, and is
    ; a more efficient layout for servers that handle lots of sessions.
    ;
    ; NOTE 1: PHP will not create this directory structure automatically.
    ; You can use the script in the ext/session dir for that purpose.
    ; NOTE 2: See the section on garbage collection below if you choose to
    ; use subdirectories for session storage
    ;
    ; The file storage module creates files using mode 600 by default.
    ; You can change that by using
    ;
    ; session.save_path = "N;MODE;/path"
    ;
    ; where MODE is the octal representation of the mode. Note that this
    ; does not overwrite the process's umask.
    ;session.save_path = "/tmp"

    ; Whether to use cookies.
    session.use_cookies = 1

    ;session.cookie_secure =

    ; This option enables administrators to make their users invulnerable to
    ; attacks which involve passing session ids in URLs; defaults to 0.
    ; session.use_only_cookies = 1

    ; Name of the session (used as cookie name).
    session.name = PHPSESSID

    ; Initialize session on request startup.
    session.auto_start = 1

    ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
    session.cookie_lifetime = 0

    ; The path for which the cookie is valid.
    session.cookie_path = /

    ; The domain for which the cookie is valid.
    session.cookie_domain =

    ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
    session.cookie_httponly =

    ; Handler used to serialize data. php is the standard serializer of PHP.
    session.serialize_handler = php

    ; Define the probability that the 'garbage collection' process is started
    ; on every session initialization.
    ; The probability is calculated by using gc_probability/gc_divisor,
    ; e.g. 1/100 means there is a 1% chance that the GC process starts
    ; on each request.

    session.gc_probability = 1
    session.gc_divisor = 1000

    ; After this number of seconds, stored data will be seen as 'garbage' and
    ; cleaned up by the garbage collection process.
    session.gc_maxlifetime = 1440

    ; NOTE: If you are using the subdirectory option for storing session files
    ; (see session.save_path above), then garbage collection does *not*
    ; happen automatically. You will need to do your own garbage
    ; collection through a shell script, cron entry, or some other method.
    ; For example, the following script would is the equivalent of
    ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
    ; cd /path/to/sessions; find -cmin +24 | xargs rm

    ; PHP 4.2 and less have an undocumented feature/bug that allows you to
    ; to initialize a session variable in the global scope, albeit register_globals
    ; is disabled. PHP 4.3 and later will warn you, if this feature is used.
    ; You can disable the feature and the warning separately. At this time,
    ; the warning is only displayed, if bug_compat_42 is enabled.

    session.bug_compat_42 = 0
    session.bug_compat_warn = 1

    ; Check HTTP Referer to invalidate externally stored URLs containing ids.
    ; HTTP_REFERER has to contain this substring for the session to be
    ; considered as valid.
    session.referer_check =

    ; How many bytes to read from the file.
    session.entropy_length = 0

    ; Specified here to create the session id.
    session.entropy_file =

    ;session.entropy_length = 16

    ;session.entropy_file = /dev/urandom

    ; Set to {nocache,private,public,} to determine HTTP caching aspects
    ; or leave this empty to avoid sending anti-caching headers.
    session.cache_limiter = nocache

    ; Document expires after n minutes.
    session.cache_expire = 180

    ; trans sid support is disabled by default.
    ; Use of trans sid may risk your users security.
    ; Use this option with caution.
    ; - User may send URL contains active session ID
    ; to other person via. email/irc/etc.
    ; - URL that contains active session ID may be stored
    ; in publically accessible computer.
    ; - User may access your site with the same session ID
    ; always using URL stored in browser's history or bookmarks.
    session.use_trans_sid = 0

    ; Select a hash function
    ; 0: MD5 (128 bits)
    ; 1: SHA-1 (160 bits)
    session.hash_function = 0

    ; Define how many bits are stored in each character when converting
    ; the binary hash data to something readable.
    ;
    ; 4 bits: 0-9, a-f
    ; 5 bits: 0-9, a-v
    ; 6 bits: 0-9, a-z, A-Z, "-", ","
    session.hash_bits_per_character = 5

  6. #6
    uppino nessuno riesce a darmi una manina?

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    prova modificando
    codice:
    session.use_trans_sid = 0
    e mettilo a 1...

    questa è l' unica cosa che proverei a cambiare.. s enon dovesse funzionare prova a vedere se il prodotto ha un forum di supporto...



    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.