Aller au contenu

Problème sur mon future site


Laurent O

Messages recommandés

Posté

Bonjour à tous,

 

Je travail depuis quelques jours sur la programation d'un site internet en xhtml et css et j'ai quelques petits problèmes : :(

 

- Je veut insérer une image

<img src="http://www.eso.org/projects/owl/images/General/Index_3_t_bkg.jpg" alt="photo owl" />

Comment la center sur ma page ?

 

- J'ai lut qu'il fallait sécuriser son site mais je n'ai pas du tout compris comment

 

Voila si quelqu'un veut bien se dévouer à répondre à mes questions idiotes ;)

 

Amicalement

Laurent

Posté

oui, mais tu ne seras pas validé en xhtml et css ;)

 

Moi j'ai ça :

<div style="text-align:center"><img src="../../images/M6.jpg" alt="M 6, Amas ouvert du Papillon"

height="250" width="250" /></div>

Posté

Encore une question le site : W3C indique deux erreurs sur ce code c'est du copié collé du site de l'anpcn et je n'arrive pas à la corriger :

 

<div style="text-align: center;">

Visitez le site de l'<a href="http://www.astrosurf.com/anpcn/'>http://www.astrosurf.com/anpcn/'>http://www.astrosurf.com/anpcn/'>http://www.astrosurf.com/anpcn/" <div style="text-align: center;">

Visitez le site de l'<a href="http://www.astrosurf.com/anpcn/" target="_blank"/>

Association Nationale pour la Protection du Ciel Nocturne

 

<br /><br />

<a href="http://www.astrosurf.com/anpcn/" target="_blank">

<img src="http://www.astrosurf.com/anpcn/banniere.png" width="468" height="60"

alt="Association Nationale pour la Protection du Ciel Nocturne"

title="Association Nationale pour la Protection du Ciel Nocturne"/>

Association Nationale pour la Protection du Ciel Nocturne

 

</div>

 

# Error Line 14 column 71: there is no attribute "target".

 

...href="http://www.astrosurf.com/anpcn/" target="site_zero.css"/>

 

You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).

 

This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.

 

How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute.

 

# Error Line 23 column 5: end tag for "a" omitted, but OMITTAG NO was specified.

 

 

 

 

Posté

De mémoire, target="_blank" ouvre une nouvelle fenêtre. Et c'est pas conforme : l'utilisateur doit rester maître de son navigateur et c'est à lui de décider s'il veut ouvrir une nouvelle fenêtre ou pas. Sans compter que ça peut gêner les déficients visuels ;)

 

Et le code ne veut rien dire, les liens ne sont pas fermés, on met des divs dans des liens ^^, etc.

A changer en :

<div style="text-align: center;">
Visitez le site de l'<a href="http://www.astrosurf.com/anpcn/">Association Nationale pour la Protection du Ciel Nocturne</a><br />
<br />
<a href="http://www.astrosurf.com/anpcn/"><img src="http://www.astrosurf.com/anpcn/banniere.png" width="468" height="60" alt="Association Nationale pour la Protection du Ciel Nocturne" title="Association Nationale pour la Protection du Ciel Nocturne"/>Association Nationale pour la Protection du Ciel Nocturne</a>
</div>

Normalement c'est bon (pas vérifié), mais je vois pas l'intérêt de mettre 2 liens identiques en rajoutant une bannière à l'un d'eux :rolleyes:

 

 

Pour la sécurité, suffit de prendre des pass compliqués (pas la date de naissance ou le prénom du chien) pour le FTP. Si c'est du xHTML, aucun souci de piratage par le site normalement, c'est en PHP qu'il faut faire gaffe ;)

Posté

Merci beaucoup ça marche enfin il n'y a plus d'erreur :D

 

Pour l'instant je reste en xHTML, je verrai plus tard si je me met au php

Posté

Je me suis mis au php pour insérer un livre d'or et une horloge (phase de la lune et tout le tralala) et j'ai à nouveau deux problèmes pour ne pas changer :(

 

- Je pensait trouver un script sur internet pour l'horloge mais je n'ai pas trouvé (Eh oui je suis vraiment doué :p) donc si quelqu'un à ça sous la main...

 

- Si j'ai bien comprit avec le php j'ai des risques de me faire hacker, j'ai utilisé les htmlentities dans mon script. Est-suffisant ?

 

Laurent

Posté

Des scripts d'horloge astro, je connais pas, enfin j'en ai jamais cherché :p

 

Pour la sécurité PHP, htmlentities() est indispensable mais rarement suffisant. Il faut surtout vérifier à chaque fois le contenu des variables passées par l'URL (méthode $_GET) car on peut y insérer ce qu'on veut, ce qui peut être dangereux.

Posté

Merci pour ta réponse astro-pépito mais je ne comprend pas ce que tu veut dire par la méthode $_GET, mes connaissances sur la programation se limitent au site du zero.

Posté

On en parle sur le Site du zéro ;)

Ce sont les variables qui passent via l'URL :

http://www.webastro.net/forum/newreply.php?do=newreply&noquote=1&p=174655

Ici, $_GET['do'] = 'newreply', $_GET['noquote'] = 1, $_GET['p'] = 174655.

Comme tout est modifiable par l'utilisateur, il faut vérifier constamment le type de données attendues (un nombre, des lettres par exemple) pour que, si on rentre quelque chose de différent (qui pourrait amener à un piratage), le script renvoie une erreur.

Posté

En clair... Imagine: tu as une page qui se lance par "page.php?action=ecrire"

 

Pour récupérer la variable, classiquement tu fais ça:

 

if(isset($_GET["action"]))
$action=$_GET["action"];

 

La tu vérifie juste que ça existe et tu attribue la valeur. Maintenant, pour mettre des proections:

 

if((isset($_GET["action"]))and(ereg('^[a-z]{1-20}$', $_GET["action"])
$action=htmlentities($_GET["action"]);

 

Cette fois, tu vérifie que ta variable est composée uniquement de lettres minuscules et que sa taille est comprise entre 1 et 20 caractères, en plus du htmlentities.

Posté

au fait j'ai un copié collé de livre d'or sur le site du zero mais je ne voit pas où insérer ton code.

 

On va y arrivé ;) enfin peut-être

Laurent

Posté
En clair... Imagine: tu as une page qui se lance par "page.php?action=ecrire"

 

Pour récupérer la variable, classiquement tu fais ça:

 

if(isset($_GET["action"]))
$action=$_GET["action"];

 

La tu vérifie juste que ça existe et tu attribue la valeur. Maintenant, pour mettre des proections:

 

if((isset($_GET["action"]))and(ereg('^[a-z]{1-20}$', $_GET["action"])
$action=htmlentities($_GET["action"]);

 

Cette fois, tu vérifie que ta variable est composée uniquement de lettres minuscules et que sa taille est comprise entre 1 et 20 caractères, en plus du htmlentities.

Bonsoir -.^

Excusez-moi, mais je ne vois pas trop l'intéret du htmlentities() dans ce cas.

Si l'on vérifie que la query string est membre de la pattern alpha-numérique, elle ne sera forcément pas membre d'une solution URI ou URL, non?

Alors pourquoi vouloir transposer les caractères? (surtout que cette commande n'est pas la plus rapide dans le genre)

 

Enfin, de manière générale, afin de limiter les possibiliter d'exploits sur les query strings, on préfère tester sur le range de chaque variables afin de savoir si c'est celle qu'on attend.

 

Par exemple, tout bête, si l'on veut charger dynamiquement la page d'accueil, celle des photos ou celle des documents, on procède de la sorte;

Si "la variable" = "accueil" -> on charge la page d'accueil

Si "la variable" = "photo" -> on charge la page des photos

Si "la variable" = "docu" -> on charge la page des documents

Si "la variable" = *tout autre chose* -> on renvoie un code d'erreur disant que la page n'éxiste pas

 

A la limite, on peut un peu optimiser pour le cas ou la variable est *tout autre chose*, par exemple, en notant dans un fichier l'IP qui fait la demande, à quelle heure, etc.. Oubien autre chose de plus "personnel" ^.^

 

Qu'en pensez-vous?

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.