CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Pseudo-frames et sécurité

Weevil666
Weevil666
Niveau 5
11 juillet 2003 à 19:49:44

Selon vous quelle est la methode la plus securisée pour les pseudos frames ?

< ?
if ( file_exists($page)) {
include($page);
}
else{
include(´default.php´);
}
? >

ou

< ?
if(isset($page)){
include($page.´.php´);
}
else{
include(´default.php´);
}
? >

Blawk
Blawk
Niveau 10
11 juillet 2003 à 19:55:49

Aucune des deux.

La première ne sert à rien. L´éventuel attaquand cherchera à affiché une page qui existe.

La deuxième non plus. Il suffit que l´éventuel attaquant arrive à définir la variable ( c´est facilement faisable si register_globals est à ON) pour afficher la page qu´il veut.

Voici un code 100% sécurisé:

< ?php
switch ( $page){
case ´page1´:
break;

case ´page2´:
break;

default:
$page = ´default´;
}

include $page.´.php´;

Weevil666
Weevil666
Niveau 5
11 juillet 2003 à 23:51:23

Tu es sur de ce que tu avance ou ce ne sont que des suppositions ?
J´ai besoin d´un avis serieux stp car je n´ai pas envie refaire toutes mes pages à cause d´une info bidon.

" L´éventuel attaquand cherchera à affiché une page qui existe"
Là je comprends ce que tu veux dire.S´il met en variable une page qui existe il tombera sur cette page ( que j´aurais faite moi meme), et apres ?
en quoi est ce que ça l´avance ?

" Il suffit que l´éventuel attaquant arrive à définir la variable"
Ben la variable il se trouve qu´elle apparait dans l´url de toute façon ( passée en GET) donc il n´a aucun mal à la changer, mais s´il la change pour une qui n´existe pas il tombe sur une erreur et et s´il met une qui existe il tombe sur ma page.
Donc là encore je ne vois pas ce que tu veux dire.

Developpe stp.

leBoss
leBoss
Niveau 7
12 juillet 2003 à 00:15:09

En fait, pour sécuriser tes pseudos frames, c´est de vérifier la valeur de la variable $page afin qu´elle ne commance SURTOUT PAS par http://.

Car c´est un moyen de hack ca, le mec il cree un script mettons qui remplace le fichier index.php pour un autre ( avec dedans " HACKED BY machin"), il suffit qu´il foute ce script sur un serveur, et mette l´adresse de ce script dans la variable.

Si tu fais une vérification de ce type, tu ne risques rien.

leBoss
leBoss
Niveau 7
12 juillet 2003 à 00:16:42

En l´occurence, pour ta question du début, c´est la deuxième la plus sécurisé, car elle oblige le script a afficher un fichier . php. La première peut faire afficher n´importe quel type de fichier.

^^

Weevil666
Weevil666
Niveau 5
12 juillet 2003 à 00:27:20

exact, je n´avais pas remarqué qu´on pouvait mettre une adresse dans la variable.
C´est vrai que c´est dangereux, n´importe qui peut créer un index.html qui surclasse mon index.php, voire pire je sais pas.

leBoss

Tu peux m´expliquer comment empecher de passer http:// en variable ( et meme ftp://https://www.jeuxvideo.com// d´ailleurs ça doit etre dangereux aussi)

Weevil666
Weevil666
Niveau 5
12 juillet 2003 à 00:33:47

Blawk

au sujet des switchs ça n´est pas une solution que je souhaite utiliser ( trop de pages, j´ai pas envie de faire 50 cases à chaque fois).

Je prefère utilisr les pseudos frames avec une des 2 techniques ennoncées plus haut, mais sécurisée.

ccoolspot5
ccoolspot5
Niveau 9
12 juillet 2003 à 01:58:12

etant novice en php

je me suis fait une pseudo frame pour monsite qui consiste en :

< ?
if ( $page==´lien1´ || $page==´images´ || $page==´news´)
{
include($page.´.php´);
}
? >

j´aimerai savoir comment securiser ca sans pour autant faire des manip fastidieuse ( ou alors qu´on m´explique en detail

merci et @+

Weevil666
Weevil666
Niveau 5
12 juillet 2003 à 02:21:57

Toi si tu n´as que 3 pages à choisir, tu peux utiliser un switch ( cf post de blawk).

ccoolspot5
ccoolspot5
Niveau 9
12 juillet 2003 à 02:32:47

" Weevil666 Posté le 12 juillet 2003 à 02:21:57
Toi si tu n´as que 3 pages à choisir, tu peux utiliser un switch ( cf post de blawk)."

non j´ai pas que 3 page mais j´ai pas fini d´implanter mes nombreuse page ( une vingtaine) mais c assez facile a faire de les implanter

par contre de securise :lol:

@+

Weevil666
Weevil666
Niveau 5
12 juillet 2003 à 02:43:45

Si t´en as plus d´une vingtaine je te conseille pas les switchs.
Pour ma question c´sest bon on m´a soufflé la fonction basename().
Ca a l´air de fonctionner.

Weevil666
Weevil666
Niveau 5
12 juillet 2003 à 02:59:10

PS : comment faites ovus pour eviter les messages d´erreur dus aux variables erronées ?
J´ai testé quelques uns de vos sites et chacun était protègé contre ça, mais aucun n´affichait d´erreur.

genre :
Warning: Failed opening ´slurp.php´ for inclusion ( include_path=´.:/upload´)

Weevil666
Weevil666
Niveau 5
12 juillet 2003 à 07:20:58

J´ai encore un ennui lol
depuis que j´ai ajouté la fonction basename() mon else ne fonctionne plus.
Dans l´exemple suivant avant lorsque $page n´etait pas renseigné ça renvoyait vers default.php
Maintenant le else n´est plus pris enc ompte et j´ai une erreur.
C´est quoi qui cloche ?

< ?
$page = basename($page);
if ( isset($page)){
include $page.´.php´;
}
else{
include ´default.php´;
}
? >

sunnmagic
sunnmagic
Niveau 9
12 juillet 2003 à 10:13:02

La fonction basename, sans autre paramètres te renverra $page = " slurpphp", il faut que tu lui précises d´enlever l´extension " php" :

$page = basename($page,php);

buz-l-orage
buz-l-orage
Niveau 10
12 juillet 2003 à 10:45:58

disons que j´ai une page http://blabla.free.fr/je_vais_te_faire_chier.php
ds ta 2eme technique suffit de mettre page=http://blabla.free.fr/je_vais_te_faire_chier et t´es mal...elle est pa du tt securisé ta technique...utilises des switch c´est pt-etre plus long mais plus sur

sunnmagic
sunnmagic
Niveau 9
12 juillet 2003 à 10:49:46

La fonction basename est là pour ca, elle gardera pour $page seulement " je_vais_te_faire_chier", et cherchera donc une page locale.

leBoss
leBoss
Niveau 7
12 juillet 2003 à 12:50:40

Je ne connaissais pa la fonction basename de sunmagic. Sinon tu peux toujours utiliser un bon vieux ereg().
< ?
if(ereg("http://",$page))
include("defaut.php");
? >

Blawk
Blawk
Niveau 10
12 juillet 2003 à 12:57:07

basename extrait le nom du fichier dans une adresse.

basename(´dossier/dossier/fichier.php´)

revoie ´fichier.php´

Ce qui à la reflexion pose un problème: tes pages doivent être toutes au même niveau, ce qui n´est pas toujours très pratique.

ccoolspot5
ccoolspot5
Niveau 9
12 juillet 2003 à 18:11:41

est ce que ce script serai plus securoise que mon ancien :

< ?
if ( $page==´lien1.php´ || $page==´images.php´ || $page==´news´)
{
include($page.´´);
}
? >

@+

Blawk
Blawk
Niveau 10
12 juillet 2003 à 18:20:37

kif-kif-bouriko.

A part que le deuxième est plus contragnant. Et le . ´´ ne sert à rien.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment