8791 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

Y'a absolument aucune vérification de l'unicité dans ton code. Il vaut mieux utiliser crc ou adler que ton code.
Modérateur
[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 Smiley fache 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)
Bonsoir,
Effectivement rien a ajouter, je suis donc classé par vous Smiley confused , 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. Smiley ohwell

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. Smiley ohwell


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)
Bon on avait dit en rester là,
Mais si tu trouves un seul sha1 dans le code apache et php

a écrit :
J'ai était vérifier dans le code source Smiley confus
sur mon serveur pas de trace de cela.

Bien sûr je ne répondrais plus à tes messages suivants.
Christele
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.
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... Smiley biggol

PS : en passant je ne vois ce que viens faire Apache dans l'histoire...
Modifié par jb_gfx (26 Oct 2012 - 19:20)
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... Smiley biggol

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 Smiley smile
Tu ne vois pas le rapport avec Apache ??? Smiley confused c'est la moitiée du moteur des cessions Smiley ravi
http://www.php.net/manual/fr/ref.session.php

Bonne lecture Christele
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...
Modifié par jb_gfx (05 Nov 2012 - 15:34)
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.
Pages :