Aller au contenu

francoisch

Hubmaster
  • Compteur de contenus

    678
  • Inscrit(e) le

  • Dernière visite

Messages postés 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

    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

  3. 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


  4. 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

  5. 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


  6. 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


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


  8. 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


  9. 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


  10. 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


  11. 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

  12. 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.

  13. 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

  14. 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


  15. 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...