Aller au contenu

benoit*

Actif
  • Compteur de contenus

    10
  • Inscrit(e) le

  • Dernière visite

Messages postés par benoit*

  1. Bonjour,

    je n'ai pas vraiment trouvé de réponse à mon problème,

    Il est possible de mettre en place une crontab chez OVH

    Il est possible d'utiliser les fonctions phpmail etc... de php

    mais

    Sur un serveur mutualisé OVH ( impossible d'utiliser le port smtp et soket)

    est-il possible de réaliser une crontab php qui envoie un email au déclenchement d'une action enregistrée

    sans l'intervention d'un navigateur client ?

    Selon ce que je comprend: non...

    Si vous aviez une piste pour me dépatouiller de là

    Amicalement

  2. Bonjour,

    Si j'ai bien compris:

    Dans mon cas, la crontab du serveur demande au serveur (pas le serveur web, mais le serveur tout court) d'envoyer un mail. Et ca c'est désactivé.

    Sur les serveurs mutualisés d'ovh, seul le serveur web (apache) a le droit d'envoyer un mail. Le serveur tout court n'a pas le droit.

    Dans le deuxième cas ( script pl, cgi ou php ), un internaute affiche une page web sur son navigateur. Ce navigateur se connecte au serveur web (apache). Ce serveur web execute le script php ou perl. Ce script demande au serveur web d'envoyer un mail. et ca marche.

    Je n'ai pas l'impression que PHP pourrait résoudre mon problème car php doit être executé via apache...

    Qu'en penses-tu ?

  3. Bonjour,

    j'espère poster dans le bon forum...

    Je cherche à comprendre un problème rencontré par mon entourage, peut-être pourriez-vous m'éclairer ?

    Lors d'un changement d'hébergeur mutualisé X vers OVH Mutualisés,

    une fonctionnalité du site n'est plus autorisée par OVH:

    Initialement, le site utilisait un script CGI en C

    qui comportait un crontab ( action automatique) pour détecter une alerte enregistrée ( anniversaire) et envoyer un email automatique au destinataire enregistré, pour lui souhaiter son anniversaire... simple à priori

    Mais je comprend que cette fonction ne fonctionnera plus au regard des limitations d'OVH mutualisés car:

    -> OVH ne permet pas à des CGI d'envoyer des mails "via une socket ni spécifier de serveur smtp ou de port d'envoi."

    Si vous comprenez le problème comme je le décris ( je ne suis pas technicien ) - Pensez-vous qu'il existe une alternative technique pour le contourner ( à part un hébergement dédié, bien entendu...) ?

    Merci pour vos précisions

    Cordialement

  4. Qu'est ce que tu entends par "échec" ?

    Tu as une erreur 500 ?

    Ou alors ça ne donne pas le résultat escompté ?

    Quand on a un pb on faut découper pour le cerner, donc là il faut savoir si ça vient de l'UR ou de ton PHP.

    Pour cela, fait une simple PHP qui récupère le path et qui l'affiche.

    Comme cela tu sauras si ton UR est bon ou pas.

    Ton script ne m'a pas l'air bien sécurisé.

    Un 'include ($variable)', c'est *le* truc à éviter (ou alors il faut avoir une liste des urls autorisées à être "includées").

    Bonjour à tous,

    bonjour Remi: merci pour ton aide,

    oui, une erreur 500

    Pour cela, fait une simple PHP qui récupère le path et qui l'affiche.

    Comme cela tu sauras si ton UR est bon ou pas.

    ? impossible :sick: je ne comprend pas ce que tu dis ( niveau 0 en dev )...

    Ton script ne m'a pas l'air bien sécurisé.
    En fait, j'utilise un script réalisé par un ancien Webmaster sans comprendre ou modifier celui-ci

    Mais je suis TRES interessé par ce que tu dis et par une alternative éventuelle

    Cordialement

  5. Rémi,

    je publie le contenu du fichier.php car il pourrait permettre de résoudre mon problème :mad2:

    <?php

    define("NOM_COOKIE","biscuit");
    define("URL_PORTAIL","http://www.portail.com");

    /* *************************************** */


    // Ici il faut vérifier que l'utilisateur est logué
    if ($_COOKIE[NOM_COOKIE] == "")
    { // et sinon (cookie vide) rediriger vers le formulaire.
    header("Location: " . URL_PORTAIL);
    die();
    }

    // on vérifie que le chemin demandé existe (sinon on est redirigé vers une 404)
    $chemin = try_filepath($_GET['path']);


    // Vérifier qu'on n'essaye pas de télécharger le script PHP lui-même
    if ( ($_GET['path'] == "") || (realpath($chemin) == $_SERVER['SCRIPT_FILENAME'])
    || (strpos($_GET['path'],"..") !== false) // ni un fichier au dessus
    || ($_GET['path']{0} == '/') // ni un chemin absolu
    || ($_GET['path']{0} == '.') // ni un fichier invisible comme .htaccess
    )
    { // Empêche une faille de sécurité
    header("HTTP/1.0 403 Forbidden");
    die("Bien essayé !Nice Try ! essaie encore... :-( one more time ?");
    }


    if ($chemin === false)
    { // Aucun essai de chemin n'a fonctionné, donc on génère une erreur 404
    header("HTTP/1.0 404 Not Found");
    $page404 = <<<EOF
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <HTML><HEAD>
    <TITLE>404 Not Found</TITLE>
    </HEAD><BODY>
    <H1>Not Found</H1>
    The requested URL /{$_GET['path']} was not found on this server.<P>
    </BODY></HTML>
    EOF;
    die($page404);
    }

    /* ** Si on en arrive là, il ne nous reste plus qu'à afficher la page ** */

    // envoyer le type MIME du fichier au navigateur
    header("Content-Type: " . mime_content_type($chemin));
    // puis lui balancer direct le fichier demandé
    if (getimagesize($chemin) === false)
    include($chemin); // ce n'est pas une image, essayer d'interpréter la page
    else
    readfile($chemin); // c'est une image, l'envoyer directement en brut.


    /* *************************************** */


    /**
    * Cette fonction essaye les diverses variantes de casse
    * (majuscules/minuscules) sur le chemin d'accès
    *
    * _AT_param string $chemin Chemin du fichier à récupérer.
    * _AT_return string|bool Le chemin avec la casse qui fonctionne
    * ou false si aucun n'a été trouvé.
    */
    function try_filepath($chemin)
    {
    if (file_exists($chemin)) // test tel quel
    return $chemin;

    $chemin = strtolower($chemin);
    if (file_exists($chemin)) // test tout en minuscules
    return $chemin; // min.min

    $chemin = strtoupper($chemin);
    if (file_exists($chemin)) // test tout en majuscules
    return $chemin; // MAJ.MAJ

    $dir = dirname($chemin) . "/";
    $ext = substr( $chemin , strrpos($chemin,".") );
    $base = basename($chemin,$ext);

    $chemin = $dir.strtolower($base).strtoupper($ext);
    if (file_exists($chemin)) // test nom en min et extension en MAJ
    return $chemin; // min.MAJ

    $chemin = $dir.strtoupper($base).strtolower($ext);
    if (file_exists($chemin)) // test nom en MAJ et extension en min
    return $chemin; // MAJ.min

    // Bon là on n'a tout testé, y'a plus rien à faire.
    return false;
    }

    ?>

  6. Ni l'un, ni l'autre... :blush:

    (le premier est le chemin depuis la racine du serveur alors que le second est une url fantaisiste...)

    Il faut le chemin depuis la racine du domaine, donc:

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !/fichier\.php$
    RewriteRule ^(.*)$ /dossier/fichier.php?path=$1 [QSA,L,NS]

    bonsoir,

    Hélas... malgré tes indications et un copier coller: echec

    De toutes façon ^(.*) ne sert strictement à rien dans une ligne condition... tu peux toutefois le laisser si tu trouves que cela fait plus joli. :P
    disons que je ne maîtrise rein du tout et je partais du principe que le code .htaccess initial fonctionne chez l'autre hébergeur :wacko:

    je récapitule:

    J'ai le fichier.php et le .htaccess dans un dossier

    Ce dossier est placé à la racine du site

    je colle le code dans le .htaccess

    j'ai fait un test simple de rewriting poure m'assurer que l'hébergement acceptait les redirections

    :nonono: je suis un peu dans le brouillard

    As-tu une idée ?

  7. La seule particularité chez OVH, c'est que le second paramètre des rewriterule doit être renseigné en 'base relative', c'est à dire avec le chemin complet depuis la racine du domaine et donc commencer par un slash

    Pour ton cas, je ferais :

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !fichier.php$
    RewriteRule ^(.*)$ /fichier.php?path=$1 [QSA,L,NS]

    (si ton fichier.php est bien à la racine du domaine, sinon il faut rajouter le chemin)

    Bonsoir,

    Merci pour ton info

    le fichier php est dans le dossier ( /www/dossier/ ) avec le .htaccess

    A ton avis, je dois rajouter home/login/www/dossier/ ou le http://www/site.com/dossier/ ?

    je vois que tu as changé le code

    !^(.*)/fichier.php$

    en

    !^(.*)!fichier.php$

    ?

    tu peux m'indiquer pourquoi ?

    le plus rageant, c'est que mon htaccess fonctionne dans son dossier sur un autre hébergeur

    Il suffit que je doive simplement copier/coller le dossier vers OVH pour ne plus obtenir l'objectif...

    Merci pour tes précisions

    cordialement

  8. Bonjour,

    dans un /dossier/ je dispose d'uun script php (fichier.php) et d'un fichier .htaccess

    Un urlrewiting dans le fichier .htaccess permet de protéger le dossier

    chez mon hébergement principal cela fonctionne paafaitement:

    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^(.*)/fichier.php$
    RewriteRule ^(.*)$ fichier.php?path=$1 [QSA,L,NS]

    mais=>Je souhaite simplement dupliquer et déplacer le /dossier/ contenant le fichier.php et son .htaccess

    sur un autre hébergement chez OVH ( 90 mutualisé)

    Les régles d'urlrewiting sont différentes et spéciales chez cet hébergeur OVH

    et je n'arrive pas à trouver la bonne formule pour retrouver mes fonctions...

    j'ai essayé sans "Options +FollowSymlinks

    ", de mettre des slashs un peu partout, j'ai essayé aussi en rajouant /dossier/fichier.php sans succès...

    L'un d'entre-vous, aimables lecteurs, pourrait-il m'aider ?

    Cordialement

  9. bonjour à tous,

    <débutant>

    mes liens ne respectent pas la casse de mes fichiers et pointent indifféremment vers monfichier.gif que vers MonFichier.GIF

    :wacko: ( je sais, c'est mal)

    je viens de tester l'exemple

    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule   ^nexistepas.html$   /mondossier/trouve.html  [L]

    donné sur le site et cela fonctionne

    Ainsi, j'aimerais réaliser une instruction permettant de ne pas tenir compte de la casse de mes fichier html, pdf et gif ( environ 200 cas ) ?

    pourriez-vous m'aider dans ce sens ?

    merci d'avance pour votre temps

    très cordialement

×
×
  • Créer...