Aller au contenu

francoisch

Hubmaster
  • Compteur de contenus

    678
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par francoisch

  1. Bonjour Sur mon site Web, mon client de messagerie personnel bute parfois sur un message grossis de pièces jointes d’une taille totale de 20-30 Meg. Le message d’erreur est explicite : Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2864439 bytes) in … Mon client lit avec: $mail_cnx = @imap_open ("…imap_num_msg($mail_cnx)imap_fetchheader($mail_cnx, …imap_body($mail_cnx, …… Cette démarche charge tout le contenu de la BAL d'un coup. J’arrive par exemple à savoir avec imap_num_msg() le nombre de messages qui se trouvent dans la BAL et je choisis alors de charger, si le nombre parait raisonnable, ou de ne pas charger. Ma question : y a-t-il un moyen pour connaître la taille, soit de l’ensemble des messages, soit du plus gros des messages, qui me permettrait de faire le même choix de charger ou de ne pas charger ? Ou tout autre moyen pour éviter ce crash faute de mémoire. Par avance merci de votre aide. Francois
  2. bonjour Dan J'ai repris ton code et, effectivement, ça fonctionne impeccablement. Je n'y étais pas arrivé seul. Merci de ton aide précieuse. Francois
  3. bonjour J’ai pris les CDIP de la France et mon adresse IP (Paris) ; le résultat de la recherche devrait être TRUE. Le début de ma liste de CDIP : "2.0.0.0/12 ","5.10.82.128/29 ","5.10.94.240/29 ","5.10.128.0/21 ","….aménagée dans un fichier nommé france.php. Je lis ce fichier avec ce bout de code qui utilise la fonction indiquée plus haut : $fichierEntree = "france.php";$adresseIp = "1.2.3.4"; (adresse réelle changée pour ce post)$retour = _cidrMatch($fichierEntree, $adresseIp); echo " retour".$retour."<br>";if ( $retour == FALSE ) { echo "Retour = False"; }else { echo "Retour = True"; }mais la variable $retour est vide. Merci de vos conseils. Francois
  4. bonjour Dan, Je reprend ton code après une interruption imprévue. Ma question: sous quel format exact doit être présenté l'argument $cidr ? J'obtient facilement un bloc de CIDR sous ce format: 5.10.78.240/29 5.10.83.0/25 5.10.85.212/30 27.116.56.0/22 ... dans un fichier plat. Faut-il que je le transforme en string comme "5.10.78.240/29", "5.10.83.0/25", "5.10.85.212/30", "27.116.56.0/22", ... ? Si Oui, avec un Fread du fichier plat et un Fwrite dans un fichier Php? Merci par avance de ton aide. Francois
  5. Ce que tu me dis est effectivement inquiétant. Quel moyen vois tu qu'un néfaste pourrait utiliser? Au besoin, convenons d'un moyen de communication plus discret si ça te paraissait nécessaire. Francois
  6. bonjour Dan et merci pour ta réponse. J'avais bien compris que le sujet n'était pas simple mais, à voir ta réponse, j'en ai bien la confirmation. Je vais copier ton code, le comprendre et le tester, un chouette travail en perspective. Merci encore à toi. Francois
  7. Je prie le modérateur de m'excuser de ce manquement aux règles, convenant simplement que je ne la connaissais pas. Il n'y avait aucune malice ou recherche de fantaisie dans ma démarche. Francois
  8. Bonjour J’ai un tableau PHP avec des plages d’adresses IP et leur CIDR, par exemple : "….,"78.153.224.0/19","78.155.128.0/19","78.159.0.0/19","78.192.0.0/10","…….. Je souhaite vérifier qu’une adresse Ip, par exemple 78.229.96.137, fait, ou non, partie du tableau. Naturellement, la difficulté est dans l’interprétation des CIDR pour faire cette validation. Merci par avance de vos suggestions. Francois
  9. Merci de ta réponse mais je ne connais rien à Linux dont les liens symboliques font partie. Aucun problème puisque ma solution simplette fonctionne sans problème maintenant. Francois
  10. En continuant à chercher, j'ai trouvé https://www.countryipblocks.net/country_selection.php: En générant les directives pour 3 pays, j'ai qqechose comme: <Limit GET POST> order allow,deny deny from 5.100.192.0/19 ... allow from all </Limit> Ca ressemble bp plus à ce que j'attendais. A votre avis? Francois
  11. Eh Oui, c'est bien la difficulté devant laquelle je suis. Un début de parade pourrait être de faire un Deny from de 000 à 255 pour chaque adresse qui a tenté un accès néfaste pour mon site. Je ne couvrirai certainement pas tout mais ça serait un petit bénéfice comparé à seulement interdire les adresses qui m'agressent. Francois
  12. bonjour Mon site s'adresse à des utilisateurs de pays ouest europe ou nord amérique. Je viens tout juste de trouver sur http://www.ip2location.com/blockvisitorsbycountry.aspx un moyen de créer toutes les directives pour un pays choisi. Le code généré est constitué de: Order deny,allow de nombreuses lignes semblables à celle-ci: Allow from 2.56.0.0/14 Deny from all Question: si je met ça comme ça, est ce que je ne vais pas bloquer toutes les adresses absentes de la liste, la mienne y compris? Francois
  13. Bonjour Mon site principal reçoit des requêtes dont certaines ciblent des fichiers inexistants ; j’en suis averti par ma page 404.php. Une bonne part de ces requêtes sont néfastes, elles essaient en particulier d’atteindre un forum que j‘avais construit et qui avait été détruit par des accès externes presque entièrement il y a plusieurs mois. A chacun de ces événements néfastes, j’ajoute l’adresse IP, fournie par ma page 404.php, dans le fichier Htaccess de la racine du site. En recherchant l’origine de ces requêtes, je m’aperçois d'ailleurs que plus de la moitié viennent d‘Ukraine ; ensuite : Russie, Biélorussie. Vos commentaires sont bienvenus sur ce vaste sujet de la protection d'un site. Francois
  14. Trouvé, IE10 ne lance pas la vidéo comme le font les autres navigateurs que j'utilise aussi. Après avoir ajouté preload, ça fonctionne; la nuit porte conseil. Francois
  15. Bonjour Mes pages Web lisent des vidéos .mp4 en utilisant la balise <video> : <video width="1" height="1" preload controls ><source src="/musique/aaaa.mp4"/></video> pour ne conserver que le son. Ca fonctionne depuis 2-3 ans en IE8 (sur mon Netbook), Chrome aussi mais je me rends compte que ça ne fonctionne pas du tout avec IE10 (Win7), pas une image, pas un son. J‘ai pourtant placé : AddType video/mp4 .mp4 AddType video/webm .webm AddType video/ogg .ogv dans un fichier .htaccess installé dans chaque dossier de vidéo pour spécifier le MIME type. Je n’ai rien trouvé sur le Web ; à votre avis ? Merci par avance de votre aide. Francois
  16. bonjour J'ai exploré une piste que je connais, vous me direz ce que vous en pensez. Chaque site Cible, qui a besoin de mettre à jour le fichier Htaccess, lit le contenu de ce fichier, file(a.htaccess), sur le site pivot et l'écrit, fwrite (.htaccess), sur son site. J'ai fait fonctionner ça sur un site cible, j'ai comparé le contenu du fichier produit avec le fichier initial avec Notepad++: Files match. A votre avis? Francois
  17. bonjour Renaud et merci de ton message. Je viens de chercher qqes informations sur ces sujets inconnus pour moi, Linux, les scripts de déploiement, pour réaliser que je n'ai simplement pas les connaissances nécessaires à mettre ça en oeuvre. Je continue à chercher, merci à toi. Francois
  18. bonjour Sstephane et merci pour cette réponse. Je manque des connaissances nécessaires pour comprendre ta réponse; des commandes Linux? De mon coté, je développe en Php sur un PC Windows et je télécharge mes fichiers chez un hébergeur qui gère mes sites Web. Francois
  19. Bonjour J’utilise le même fichier Htaccess, installé dans la racine, pour protéger plusieurs sites. Je mets ce fichier à jour tous les 2-3 jours quand je vois une tentative qui me parait douteuse ou dangereuse. Actuellement, je dois le mettre à jour sur un site puis le charger sur ce site ; normal. Ensuite, je dois le copier sur 4 autres sites et le charger sur chacun, avec les risques d’erreur toujours possibles Voyez-vous un moyen automatique (planification quotidienne) pour déployer sur les autres sites ce fichier Htaccess mis à jour sur un premier site ? Par avance merci de votre aide. Francois
  20. Bonjour Dans mon site Html + Php, ma feuille de style dimensionne les boutons suivant la situation rencontrée, par exemple : .bouton98 { width: <?=$widthmenu2?>%; height: <?=$heightimage1demi?>px; color: …… en ayant naturellement valorisé les variables auparavant, ce que je vérifie en mettant des echo(). Ca fonctionne impeccablement en Windows, Mac, Linux, Androïd. Pas en iPad où les boutons sont réduits à un point ou à un trait. Par contre, les boutons s’affichent correctement en iPad avec : .bouton98 { width: 98%; height: 153px; color: …en spécifiant les valeurs des variables plutôt qu’en les nommant, ce qui est exactement ce que je ne veux pas faire puisque les valeurs de ces variables varient suivant la situation rencontrée. De la même manière, le libellé qui doit apparaître sur le bouton, exprimé par : <?php echo $lib_ep2; ?>apparaît vide dans le code source de l’iPad alors qu’il s’affiche dans les autres environnements. Il est vraisemblable que, de la même manière, les dimensions du bouton décrites dans la feuille de style finissent de même, vides. Tout se passe comme si ce que Php génèrait sur le serveur ne convenait pas à l'iOs alors que ça fonctionne parfaitement depuis plusieurs années en Windows, Mac, Linux, Android. Par avance merci de votre aide.
  21. bonjour Jacques et merci de ta réponse très claire. Je vais effectivement aller voir ce que voit Google. Francois
  22. Bonjour Dans mon site principal, la page index.php (d’autres pages aussi) a plusieurs parties de texte dans d’autres fichiers appelés par Include(). Ma question : le Google bot fait-il fonctionner les Include avant de rechercher les mots qui lui conviennent, ou bien se contente t il du fichier index.php seul ? Merci par avance de votre aide. Francois
  23. Bonjour Dans mon Client de messagerie fait maison, je recherche dans l’en-tête d’un message reçu l’adresse mail de l’émetteur : $mailReponse = $message->headers[‘from’]; Avec certains serveurs de messagerie, je récupère de cette manière une adresse mail valide mais pas avec d’autres (Gmail, …) ; pour ceux là, en imprimant le contenu de ma variable $mailReponse, il n’y a pas d’arobase dedans. En cherchant avec strpos() dans cette même variable $mailReponse, je trouve bien une @ dans chaque valeur. En imprimant ce qu’il y a autour de la position de l’arobase : Sur la droite, au-delà du champ qui suit naturellement l’arobase, il n’y a plus rien, ce qui facilite une récupération sur la droite Sur la gauche, par contre, les résultats sont beaucoup plus difficiles à interpréter En allant plus loin, j’ai recherché les signes < et > qui apparaissent souvent dans une adresse mail ; j’en ai trouvé dans chaque situation où je ne récupérai pas une adresse valide. Mais ce que je récupère là ne s’était pas affiché autour de la position de l’arobase, caché d’une manière qui m’échappe. J’aimerai beaucoup en savoir un peu plus sur la récupération d’une adresse dans l’en-tête d’un mail et comprendre la cause de ces situations où la variable headers[‘from’] ne donne pas une adresse de manière directe. Merci par avance à celui qui aura un conseil. Francois
  24. La solution: incrémenter le cookie avec exactement le même nombre de paramètres qu'à sa création. Francois
  25. francoisch

    Cookie pas incrémenté

    Bonjour Je crée un cookie avec : SetCookie("accesJeux[nombre]",$valeurCookie,(time()+ $dureeCookie*60*60),"/"); codé dans une fonction installée dans la racine du site en spécifiant, avec "/", qu’il doit être accessible de tous les répertoires depuis la racine, elle comprise. Je veux incrémenter ce cookie avec : $score = $_COOKIE['accesJeux']['nombre'] + 1;SetCookie("accesJeux[nombre]", $score); depuis un sous-répertoire du répertoire de création mais le cookie n’est pas incrémenté. Par contre, si cette même fonction qui l’incrémente est placée dans le même répertoire que la fonction qui l’a créé, il est bien incrémenté. Merci par avance de vos conseils. Francois
×
×
  • Créer...