8791 sujets
[HS]Hier c'était vendredi n'est ce pas ? Aujourd'hui, on est samedi
troll spotted !
lie au lieu de dire des bêtises. Regarde le 2e print_r. Après je peux me tromper.
Ici, je viens pour donner des pistes pas pour me prendre la tête
et faire le fanfaron moi. J'ai autres choses à foutre.
Au passage, CRC et Adler, c'est la même chose. Sinon, peux tu me sortir la signature de Adler() dans la doc officielle ?
(sujet clos).
[/HS]
J'ai utilisé un md5. On peut utiliser autre chose.
Modifié par niuxe (13 Oct 2012 - 14:06)
troll spotted !
lie au lieu de dire des bêtises. Regarde le 2e print_r. Après je peux me tromper.
Ici, je viens pour donner des pistes pas pour me prendre la tête

Au passage, CRC et Adler, c'est la même chose. Sinon, peux tu me sortir la signature de Adler() dans la doc officielle ?
(sujet clos).
[/HS]
J'ai utilisé un md5. On peut utiliser autre chose.
Modifié par niuxe (13 Oct 2012 - 14:06)
Bonsoir,
Effectivement rien a ajouter, je suis donc classé par vous
, c'est comme vous le voulez.
Juste dire que mon intervention sur l'ID de Session (sauf si nous nous la fabriquons nous-mêmes) n'est pas réalisée tel que vous le décrivez.
Désolée.
Coluche disait
Ce n'est pas parcequ' ils sont nombreux a avoir tort qu'ils onr raison.
Christele
Effectivement rien a ajouter, je suis donc classé par vous

Juste dire que mon intervention sur l'ID de Session (sauf si nous nous la fabriquons nous-mêmes) n'est pas réalisée tel que vous le décrivez.
Désolée.
Coluche disait
Ce n'est pas parcequ' ils sont nombreux a avoir tort qu'ils onr raison.

Christele
Christele a écrit :
Juste dire que mon intervention sur l'ID de Session (sauf si nous nous la fabriquons nous-mêmes) n'est pas réalisée tel que vous le décrivez.
Désolée.
J'ai était vérifier dans le code source et je te garantis que c'est bien ça, aprés si tu veut y opposer un contre argument, ne te gène pas mais dire "Vous vous trompez, désolé", c'est tout sauf un argument et dans le contexte, c'est de la mauvaise foi notoire.
Christele a écrit :
Coluche disait
Ce n'est pas parcequ' ils sont nombreux a avoir tort qu'ils onr raison.![]()
Et ce n'est pas non plus parce qu’on est seul à avoir tort et qu'on soutient qu'on a raison que c'est le cas, prouve qu'on a tord avant de pseudo citer Coluche ( oui car c'est du Jean-Michel Apeuprés et en plus avec des fautes d'orthographe )
Modifié par JJK801 (25 Oct 2012 - 10:19)
Christele a écrit :
Mais si tu trouves un seul sha1 dans le code apache et php
PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS) /* {{{ */
{
PHP_MD5_CTX md5_context;
PHP_SHA1_CTX sha1_context;
#if defined(HAVE_HASH_EXT) && !defined(COMPILE_DL_HASH)
void *hash_context;
#endif
unsigned char *digest;
int digest_len;
int j;
char *buf, *outid;
struct timeval tv;
zval **array;
zval **token;
char *remote_addr = NULL;
gettimeofday(&tv, NULL);
if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &array) == SUCCESS &&
Z_TYPE_PP(array) == IS_ARRAY &&
zend_hash_find(Z_ARRVAL_PP(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &token) == SUCCESS
) {
remote_addr = Z_STRVAL_PP(token);
}
/* maximum 15+19+19+10 bytes */
spprintf(&buf, 0, "%.15s%ld%ld%0.8F", remote_addr ? remote_addr : "", tv.tv_sec, (long int)tv.tv_usec, php_combined_lcg(TSRMLS_C) * 10);
switch (PS(hash_func)) {
case PS_HASH_FUNC_MD5:
PHP_MD5Init(&md5_context);
PHP_MD5Update(&md5_context, (unsigned char *) buf, strlen(buf));
digest_len = 16;
break;
case PS_HASH_FUNC_SHA1:
PHP_SHA1Init(&sha1_context);
PHP_SHA1Update(&sha1_context, (unsigned char *) buf, strlen(buf));
digest_len = 20;
break;
#if defined(HAVE_HASH_EXT) && !defined(COMPILE_DL_HASH)
case PS_HASH_FUNC_OTHER:
if (!PS(hash_ops)) {
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid session hash function");
efree(buf);
return NULL;
}
hash_context = emalloc(PS(hash_ops)->context_size);
PS(hash_ops)->hash_init(hash_context);
PS(hash_ops)->hash_update(hash_context, (unsigned char *) buf, strlen(buf));
digest_len = PS(hash_ops)->digest_size;
break;
#endif /* HAVE_HASH_EXT */
default:
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid session hash function");
efree(buf);
return NULL;
}
efree(buf);
if (PS(entropy_length) > 0) {
#ifdef PHP_WIN32
unsigned char rbuf[2048];
size_t toread = PS(entropy_length);
if (php_win32_get_random_bytes(rbuf, (size_t) toread) == SUCCESS){
switch (PS(hash_func)) {
case PS_HASH_FUNC_MD5:
PHP_MD5Update(&md5_context, rbuf, toread);
break;
case PS_HASH_FUNC_SHA1:
PHP_SHA1Update(&sha1_context, rbuf, toread);
break;
# if defined(HAVE_HASH_EXT) && !defined(COMPILE_DL_HASH)
case PS_HASH_FUNC_OTHER:
PS(hash_ops)->hash_update(hash_context, rbuf, toread);
break;
# endif /* HAVE_HASH_EXT */
}
}
#else
int fd;
fd = VCWD_OPEN(PS(entropy_file), O_RDONLY);
if (fd >= 0) {
unsigned char rbuf[2048];
int n;
int to_read = PS(entropy_length);
while (to_read > 0) {
n = read(fd, rbuf, MIN(to_read, sizeof(rbuf)));
if (n <= 0) break;
switch (PS(hash_func)) {
case PS_HASH_FUNC_MD5:
PHP_MD5Update(&md5_context, rbuf, n);
break;
case PS_HASH_FUNC_SHA1:
PHP_SHA1Update(&sha1_context, rbuf, n);
break;
#if defined(HAVE_HASH_EXT) && !defined(COMPILE_DL_HASH)
case PS_HASH_FUNC_OTHER:
PS(hash_ops)->hash_update(hash_context, rbuf, n);
break;
#endif /* HAVE_HASH_EXT */
}
to_read -= n;
}
close(fd);
}
#endif
}
digest = emalloc(digest_len + 1);
switch (PS(hash_func)) {
case PS_HASH_FUNC_MD5:
PHP_MD5Final(digest, &md5_context);
break;
case PS_HASH_FUNC_SHA1:
PHP_SHA1Final(digest, &sha1_context);
break;
#if defined(HAVE_HASH_EXT) && !defined(COMPILE_DL_HASH)
case PS_HASH_FUNC_OTHER:
PS(hash_ops)->hash_final(digest, hash_context);
efree(hash_context);
break;
#endif /* HAVE_HASH_EXT */
}
if (PS(hash_bits_per_character) < 4
|| PS(hash_bits_per_character) > 6) {
PS(hash_bits_per_character) = 4;
php_error_docref(NULL TSRMLS_CC, E_WARNING, "The ini setting hash_bits_per_character is out of range (should be 4, 5, or 6) - using 4 for now");
}
outid = emalloc((size_t)((digest_len + 2) * ((8.0f / PS(hash_bits_per_character)) + 0.5)));
j = (int) (bin_to_readable((char *)digest, digest_len, outid, (char)PS(hash_bits_per_character)) - outid);
efree(digest);
if (newlen) {
*newlen = j;
}
return outid;
}
C'est vrai, je voit pas ou on parle de SHA1 là dedans...
Bon allez, cette fois j'arrête, certaines personnes sont irrécupérables.
Albert Einstein a écrit :
Deux choses sont infinies : l’Univers et la bêtise humaine. Mais, en ce qui concerne l’Univers, je n’en ai pas encore acquis la certitude absolue.
jb_gfx a écrit :
C'est vrai qu'en plus un identifiant de session PHP ça ne ressemble pas du tout, mais alors pas du tout à un hash SHA1...![]()
PS : en passant je ne vois ce que viens faire Apache dans l'histoire...
Bonsoir,
Sympa quand même la Nana qui accepte contre votre entêtement de vous éclairer

Tu ne vois pas le rapport avec Apache ???


http://www.php.net/manual/fr/ref.session.php
Bonne lecture Christele
jb_gfx a écrit :
Donc sur Lightpd, par exemple, on n'a pas les sessions car il faut Apache ? Comme si t'avais pas dit assez de conneries dans ce topic, il faut que t'en remettes une couche 10 jours plus tard ? Allez, à la semaine prochaine pour toujours plus de fun...
Evites d'étre vulgaire, ce serait mieux, et essais de comprendre
Que ce soit Lightpd ou ubuntu ou nimporte quel autre environement plateforme il aua
efectivement cette même inter-action a assurer.