forum 1 final -> recherche un graphiste - Programmation
Marsh Posté le 18-01-2002 à 00:53:59
Warning: fopen("log_infos.txt","a+" ) - Permission denied in /home/lorenzozo/forum_niv1/inc/fonctions/ fonction_inc.php on line 181
Warning: Supplied argument is not a valid File-Handle resource in /home/lorenzozo/forum_niv1/inc/fonctions/ fonction_inc.php on line 182
Warning: Supplied argument is not a valid File-Handle resource in /home/lorenzozo/forum_niv1/inc/fonctions/ fonction_inc.php on line 183
Marsh Posté le 18-01-2002 à 01:10:09
oué
bin dis nous pourquoi il est rapide,
ce serait plus sympa,
c un forum pour partager et s'aider mutuellement
Marsh Posté le 18-01-2002 à 01:43:37
oué
j'ai vu son astuce javascript
mais je pense pas que ce soit tout?
ou si???
Marsh Posté le 18-01-2002 à 01:44:08
structure des tables
requêtes effectuées?
modèle de navigation,etc..?
Marsh Posté le 18-01-2002 à 01:48:12
la recherche "dans le message" n'a pas l'air de marcher? à moins que tu indexes au bout de x temps
Marsh Posté le 18-01-2002 à 02:11:29
ben la rapidité est du a 49.49999% au JS qui limite toutes les parties communes .
l'autre motié (49.49999%) est du a la compression GZIP (compression HTML).
y a aussi les requetes+structure des tables (0.00001%) (1 pour le sujet et 1 pour la reponse) mais la ca ce compte en centieme de seconde donc c'est absolument pas "visible" pour l'utilisateur ... par contre ca peut ce calculer au niveau utilisation processeur .
pour l'erreur j'avais oublié de remettre le CHMOD sur le txt qui log les anneries de certains
si, la recherche fonctionne bien !
en tout cas aucun des tests que j'ai fait peut me prouver le contraire --> repere un mot assez long dans le sujet d'un message et tape le dans la recherche : il va te sortir le sujet correpondant .
je viens de faire un test avec cette phrase extraite d'un message "tu arrives a rentrer en copiant " et il me retrouve bien le sujet
[edtdd]--Message édité par potiron--[/edtdd]
Marsh Posté le 18-01-2002 à 02:24:55
je viens de flooder en postant aze partout,
j'ai fait une recherche par titre, et il trouve,
par contre par message il trouve pas,
essayes
Marsh Posté le 18-01-2002 à 02:26:19
et sinon, bin je te félicite,
franchement clean, rapide, sympa,
fo ktu le rendes super skinnable!
et là, t'as tout gagné!
Marsh Posté le 18-01-2002 à 03:51:07
ah c'est toi !
bon, je viens de faire une petite protection en vitesse contre ca mais je sais pas comment tu fais pour flooder donc difficile de bien la faire ....
d'ailleurs certain messages avait la meme seconde et ca c'est logiquement pas possible car j'ai un JS qui empeche de revenir et un no_cache() sur la page ....
ben justement pour le skin ca je peux absolument pas le faire tout seul -> je suis nul des que je dois faire un truc agreable a l'oeil .
AH MERDE !!
-> j'ai oublié le formatage du texte pour la recherche donc si tu utilises des é ou è ou à ...etc il risque pas de trouver les mots
Marsh Posté le 18-01-2002 à 04:22:06
alors:
trois réponses
comment je fais: je tape, je valide le message, je fais marche arrière pis F5 pis voilà quoi, ça reposte,
à mon avis, pour protéger ça, il faudrait ptêtre que tu génères un numéro au moment où le mec veut poster un message, et que ce numéro reste en input hidden, et comme ça, à chaque fois que j'essaye de reposter, bah il reposte le même message (au sens concret , même identifiant, donc un seul)
--> à la même seconde, c paske je suis rapide des mains héhéhé
c pas impossible,
moi je tape, je valide, pis fais BACKSPACE pis F5 pis reposte
--> pour les skin, bin ptêtre que tu peux lui faire cracher du xml et parser à la volée? mais pêtre que ça prendra plus de temps,
mais dans le cas où tu le fais en xml (le rendu) + style après, bin là, chapeau
et!
pour la recherche, je t'assure, il ya pas d'accents dans ce que je recherche je vois mal un accent apparaître dans aze aze D
héhéh
Marsh Posté le 18-01-2002 à 04:26:20
pour le xml, bin j'ai vu ça qui est sympa:
http://www.phpbuilder.com/columns/justin20000428.php3
et je me suis abonné à ton hébergeur! c cool asp / php c sympa ça!
Marsh Posté le 18-01-2002 à 04:37:39
ah ben merde alors (bis), je viens de voir que meme avec un NO_CACHE les données restent quand meme pourtant j'ai bien l'avertissement : Avertissement : expiration du délai pour cette page
------------
j'avais pensé a un systeme de cookie mais y a rien de moins sur, j'ai aussi essayé les sessions mais tous les hebergeurs les acceptent pas (PHP<4.0) ... voici ce que j'ai pondu :
Citation : // ANTI-FLOOD |
je l'ai mis sur la page STOCK.PHP
----------------
hola hola hola, je vais pas me lancer dans du XML, un petit CSS tout simple me suffit, y en a meme pas pour 10mn pour un mec qui connait le graphisme -> ca ca m'aiderait bien ..
----------------
j'ai trouvé pourquoi la recherche marchait pas a chaque coup ... j'ai mis un htmentities a la place d'un htmlspecialchars pffffffff sans compter une autre betise -> de toute facon je dois refaire la recherche car mes gros test avec les 76000 messages montraient que mon systeme est pas au point, les recherches etaient lentes ..
[edtdd]--Message édité par potiron--[/edtdd]
Marsh Posté le 18-01-2002 à 07:39:35
en tout cas c'est super rapide !!!!!!
mais bon vu qu'y a pas grand monde c'est peut etre normal.
Marsh Posté le 18-01-2002 à 11:44:12
Moi ce qui m'intéresse, c'est de savoir comment tu fais pour calculer la taille de ta page.
Marsh Posté le 18-01-2002 à 12:02:54
ah ca c'est tout con, si tu veux pas utiliser les entrées sorties tu peux le faire d'un paquet de maniere mais dans mon cas voici ce que j'ai (j'ai simplifié un poil) :
$contenue = ob_get_contents();
ob_end_clean();
echo "poids de la page = ".strlen($contenue)." Ko";
a mettre tout en bas de la page.
tout en haut tu dois enclencher la bufferisation par un ob_start ou equivalent ... ne fonctionne que sur >php4.03 (sauf erreur)
Marsh Posté le 18-01-2002 à 12:05:33
k666 -> au fait, tu as menti pour le coup du flood, il est pas possible d'envoyer 2 messages dans la meme seconde depuis ton navigateur !!
je viens de faire des tests en local et il me faut 2sec donc sur le net tu as le temps du chargement en plus ...
quand meme fou que des qu'il faut aider la y a plus personne ou alors on raconte des conneries
[edtdd]--Message édité par potiron--[/edtdd]
Marsh Posté le 18-01-2002 à 12:18:49
te fâche pas avec moi
j'ai fait ce que je t'ai dit,
et pas pour prouver quoique ce soit,
loin de là, je trouve que ton forum est très bien ficelé et je te félicite pour ça!
mais j'ai fait ce que je t'ai dit,
après, savoir si une seconde ou deux, bin ça, à toi de voir ...
Marsh Posté le 18-01-2002 à 12:20:32
potiron a écrit a écrit : k666 -> au fait, tu as menti pour le coup du flood, il est pas possible d'envoyer 2 messages dans la meme seconde depuis ton navigateur !! je viens de faire des tests en local et il me faut 2sec donc sur le net tu as le temps du chargement en plus ... quand meme fou que des qu'il faut aider la y a plus personne ou alors on raconte des conneries |
Marche bien ton system anti flood, j'ai été banni en quelques seconde...
Marsh Posté le 18-01-2002 à 12:30:07
potiron a écrit a écrit : ah ca c'est tout con, si tu veux pas utiliser les entrées sorties tu peux le faire d'un paquet de maniere mais dans mon cas voici ce que j'ai (j'ai simplifié un poil) : $contenue = ob_get_contents(); ob_end_clean(); echo "poids de la page = ".strlen($contenue)." Ko"; a mettre tout en bas de la page. tout en haut tu dois enclencher la bufferisation par un ob_start ou equivalent ... ne fonctionne que sur >php4.03 (sauf erreur) |
ok merci.
sinon, je vais tester ton anti-flood de manière classique, pour voir si c'est bon.
Marsh Posté le 18-01-2002 à 12:41:15
ok, ben je suis banni, mais suffit que je change d'ip pour que ca remarche. Et puis, les sujets vide, ca fait pas un peu tache?
Marsh Posté le 18-01-2002 à 12:58:26
felicitaion pour la rapidité je vais certainement utiliser le coup du javascript.
La compression aussi bien entendu mais c'est une idée moins originale meme si elle est tres efficace
Marsh Posté le 18-01-2002 à 13:52:38
k666 -> j'avais regardé l'heure a laquelle les messages avait été posté et il etait tous avec max 1sec d'ecart et certain etait dans la meme seconde ce qui est pas possible car y a 3 manips a faire :
1-revenir en arriere avec le bouton back
2-cliquer OK sur l'alerte JS
3-faire F5
gizmo -> mais explique comment tu as fais pour envoyer des titres vides, car je pensais avoir reglé ce probleme : y a le JS qui empeche de valider si le titre est vide et si tu desactives le JS tu peux plus valider -> j'ai pensé au 2
-----------
hé bé, je pensais avoir réglé tous les problemes et j'en suis tres loin
Marsh Posté le 18-01-2002 à 13:54:03
alt+0160 -> espace mais chaine non vide et non trimmable de facon normal
[edtdd]--Message édité par speedyop--[/edtdd]
Marsh Posté le 18-01-2002 à 13:58:00
potiron a écrit a écrit : k666 -> j'avais regardé l'heure a laquelle les messages avait été posté et il etait tous avec max 1sec d'ecart et certain etait dans la meme seconde ce qui est pas possible car y a 3 manips a faire : 1-revenir en arriere avec le bouton back 2-cliquer OK sur l'alerte JS 3-faire F5 gizmo -> mais explique comment tu as fais pour envoyer des titres vides, car je pensais avoir reglé ce probleme : y a le JS qui empeche de valider si le titre est vide et si tu desactives le JS tu peux plus valider -> j'ai pensé au 2 ----------- hé bé, je pensais avoir réglé tous les problemes et j'en suis tres loin |
qui te dis que j'ai utilisé ta page telle qu'elle?
Marsh Posté le 18-01-2002 à 13:58:18
speedyop a écrit a écrit : alt+0160 -> espace mais chaine non vide et non trimmable de facon normal |
même pas.
Marsh Posté le 18-01-2002 à 14:03:13
ton système antiflood pose qd même un problème non ?
si plusieurs personnes différentes sont derrièrre un proxy ??
pour le flood et les sujets vide, il suffit dans la plupart des cas de copier dans l'url la page qui dans le action de ton formulaire, de rajouter les paramètres (?message=xxx&sujet=ttt" ), et de faire enter... avec ça tu balances ce que tu veux, il y a aucune vérification en javascript ou autre (que le php qui peut valider l'envoi)
[edtdd]--Message édité par ethernal--[/edtdd]
Marsh Posté le 18-01-2002 à 14:26:15
ethernal a écrit a écrit : ton système antiflood pose qd même un problème non ? si plusieurs personnes différentes sont derrièrre un proxy ?? pour le flood et les sujets vide, il suffit dans la plupart des cas de copier dans l'url la page qui dans le action de ton formulaire, de rajouter les paramètres (?message=xxx&sujet=ttt" ), et de faire enter... avec ça tu balances ce que tu veux, il y a aucune vérification en javascript ou autre (que le php qui peut valider l'envoi) |
y a une secu avec le temps, mais c'est vraie que si +10 personnes passent par la meme IP et post en meme temps (improbable mais possible) l'IP ce fera bannir ...
j'ai cherché un BON systeme mais rien trouvé de parfaitement satifaisant .
donc si j'ai bien compris ton systeme tu fais passer les vars (pseudo+email+titre+message) dans l'url ???
ben justement pour eviter ce probleme de mon coté je recupere les vars avec $HTTP_POST_VARS['vars']donc tout ce qui est passé dans l'url est ignoré .
d'ailleurs je fais ca dans TOUT mes scripts : $HTTP_SESSION_VARS / $HTTP_COOKIE_VARS / .... et c'est la bonne maniere de faire, ca evite les interactions et permet d'avoir un code + lisible -> tu sais au 1er coup d'oeil d'ou vient une var .
[edtdd]--Message édité par potiron--[/edtdd]
Marsh Posté le 18-01-2002 à 15:00:56
La machine à flood : (enfin une façon)
Un fichier flood.html :
---------------------------------------------------------------
<HTML><HEAD><TITLE>Forum A - Formulaire ajout message</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content=Lorenzo name=Author>
<META content=http://lorenzozo.kilio.com name=url>
<META content=lol1@netcourrier.com name=Reply-to>
<META content="Forum niveau 1" name=Description>
<STYLE type=text/css>A {
PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 11px; PADDING-BOTTOM: 2px; COLOR: #ffffff; PADDING-TOP: 2px
}
A:hover {
TEXT-DECORATION: overline
}
A:active {
BORDER-RIGHT: #ffffff 2px outset; PADDING-RIGHT: 0px; BORDER-TOP: #ffffff 2px outset; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #ffffff 2px outset; PADDING-TOP: 0px; BORDER-BOTTOM: #ffffff 2px outset
}
A:unknown {
BORDER-RIGHT: #ffffff 2px outset; PADDING-RIGHT: 0px; BORDER-TOP: #ffffff 2px outset; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #ffffff 2px outset; PADDING-TOP: 0px; BORDER-BOTTOM: #ffffff 2px outset
}
BODY {
SCROLLBAR-FACE-COLOR: #376688; FONT-SIZE: 12px; SCROLLBAR-SHADOW-COLOR: #305774; COLOR: #000000; SCROLLBAR-ARROW-COLOR: #ffffff; SCROLLBAR-TRACK-COLOR: #a5c5dc; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #88b1d0; scrollbar-3d-light-color: #FFFACD; scrollbar-dark-shadow-color: #233F54
}
INPUT {
FONT-SIZE: 11px; MARGIN: 2px; COLOR: #ffffff; FONT-FAMILY: Verdanna, Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #376688; TEXT-ALIGN: center
}
TEXTAREA {
FONT-SIZE: 11px; COLOR: #ffffff; FONT-FAMILY: Verdanna, Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #376688
}
TH {
FONT-WEIGHT: 600; FONT-SIZE: 12px; COLOR: #ffffff; FONT-FAMILY: Verdanna, Helvetica, sans-serif
}
.check {
BORDER-RIGHT: #6fa0c6 1px ridge; BORDER-TOP: #6fa0c6 1px ridge; BORDER-LEFT: #6fa0c6 1px ridge; BORDER-BOTTOM: #6fa0c6 1px ridge; BACKGROUND-COLOR: transparent
}
.t_mb {
FONT-SIZE: 12px; COLOR: #ffffff; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: center
}
.td_np {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Tahoma, Helvetica, sans-serif; TEXT-ALIGN: center
}
.td_sujet {
FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Tahoma, Helvetica, sans-serif; TEXT-ALIGN: center
}
</STYLE>
<META content="MSHTML 5.50.4807.2300" name=GENERATOR></HEAD>
<BODY onload="window.open('valid.html';document.formu.submit();"><!-- DEBUT TABLEAU LIENS+LOGO -->
<TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0>
<TBODY>
<TR align=middle>
<TD rowSpan=3><A href="http://lorenzozo.kilio.com/"><IMG
src="flood_fichiers/VFF.png" border=0></A>
<TD noWrap height=20><A
href="http://lorenzozo.kilio.com/forum_niv1/recherche.php">Recherche</A>
<A href="http://lorenzozo.kilio.com/forum_niv1/faq.php">F.A.Q</A> <A
href="javascript:history.go(-1)">Retour</A>
<TR align=middle>
<TD noWrap height=20><A
href="http://lorenzozo.kilio.com/forum_niv1/sujets.php">Sujets</A> <A
href="http://lorenzozo.kilio.com/forum_niv1/ajout_message.php?typ=nv">Nouveau</A>
<TR align=middle>
<TD noWrap width="40%" height=20> </TR></TBODY></TABLE><!-- DEBUT TABLEAU ENGLOBANT GENERAL -->
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR vAlign=top>
<TD><!-- ************ DEBUT DU DOCUMENT ************ -->
<!-- DEBUT FORMULAIRE -->
<FORM name="formu" action="http://lorenzozo.kilio.com/forum_niv1/stock.php" method="post"><INPUT type="hidden" value="nv" name="typ">
<INPUT type="hidden" name="ids"> <INPUT type="hidden" name="pm">
<BR><BR><!-- TABLEAU FORMULAIRE -->
<TABLE borderColor=#233f54 cellSpacing=0 cellPadding=2 width="95%"
align=center border=1><!-- Titre -->
<TBODY>
<TR align=middle>
<TD class=t_mb noWrap align=left width="10%"
bgColor=#40779f><B>Titre :</B>
<TD bgColor=#6fa0c6><INPUT maxLength=100 size=107 name="titre" value=" "> <!-- PSEUDO -->
<TR align=middle>
<TD class=t_mb noWrap align=left width="10%"
bgColor=#40779f><B>Pseudo :</B>
<TD bgColor=#6fa0c6><INPUT maxLength=15 size=30 value="Flooder" name="pseudo"> <!-- EMAIL -->
<TR align=middle>
<TD class=t_mb noWrap align=left width="10%"
bgColor=#40779f><B>Email :</B>
<TD bgColor=#6fa0c6><INPUT maxLength=50 size=30 value="flopder@yahoo.fr" name="email"> <!-- MESSAGE -->
<TR align=middle>
<TD class=t_mb noWrap align=left width="10%"
bgColor=#40779f><B>Message :</B>
<TD bgColor=#6fa0c6><TEXTAREA name=message rows=13 wrap=physical cols=100>Test de flood</TEXTAREA>
<!-- BOUTONS -->
<TR vAlign=center align=middle bgColor=#6fa0c6>
<TD bgColor=#376688 colSpan=2><INPUT title="Validation du formulaire" type="button" value="Validation">
</TR></TBODY></TABLE></FORM><!-- FIN FORMULAIRE --><!-- ************ FIN DU DOCUMENT ************ --></TR></TBODY></TABLE><!-- FIN TABLEAU ENGLOBANT GENERAL --><!-- Barre de navigation -->
<TABLE borderColor=#233f54 cellSpacing=0 cellPadding=1 align=center border=1>
<TBODY>
<TR vAlign=center align=middle bgColor=#376688>
<TD><A
href="http://lorenzozo.kilio.com/forum_niv1/recherche.php">Recherche</A>
<TD><A href="http://lorenzozo.kilio.com/forum_niv1/sujets.php">Sujets</A>
<TD><A
href="http://lorenzozo.kilio.com/forum_niv1/ajout_message.php?typ=nv">Nouveau</A>
</TR></TBODY></TABLE><BR>
<CENTER><A href="http://lorenzozo.kilio.com/forum_niv1/admin/index.php"><FONT
size=1>Administration</FONT></A></CENTER><BR><BR>
<TABLE align=center border=0>
<TBODY>
<TR align=middle>
<TD noWrap><FONT face=Courrier size=1>Génération de la page en
<B>0.00102007</B> seconde</FONT>
<HR>
<FONT face=Verdanna size=1>Forum niveau 1 : v1.7b par <A
href="mailto:lol1@netcourrier.com">Lorenzo</A><BR>
<HR>
poids de la page = 5.545 Ko</FONT></TR></TBODY></TABLE></BODY></HTML>
--------------------------------------------------
-------------
Un fichier valid.html (avec réglage de la fréquence)
--------------------------------------------------
-------------
<html>
<head></head>
<script language="Javascript">
function toto(){
window.opener.location = "flood.html";
window.close();
}
</script>
<body onload="setTimeout('toto()',11000)">
Hoh!!
</body>
</htlm>
--------------------------------------------------
-------------
C'est pas bien de faire cela, mais bon...
Marsh Posté le 18-01-2002 à 15:06:30
potiron a écrit a écrit : ben justement pour eviter ce probleme de mon coté je recupere les vars avec $HTTP_POST_VARS['vars']donc tout ce qui est passé dans l'url est ignoré . |
j'ai pas testé chez toi dsl mais je parle pour les forums en général...
un solution serait de tester le referer, si ce n'est pas une page de ton site --> bye bye
pour le bannissement, teste éventuellement s'il y a un proxy entre les 2. mais j'ai lu des cas ou on obtient une adresse de type 192.168.0.1 pcq la personne a un proxy sur son réseau privé (ce qui implique qu'il faille tester en plus si l'adresse du proxy est une adresse internet... )
Marsh Posté le 18-01-2002 à 15:08:29
fly LM a écrit a écrit : La machine à flood : (enfin une façon) |
donc en fait tu es en train de me dire que tester les $HTTP_POST_VARS"..."] ça sert à rien ?
Marsh Posté le 18-01-2002 à 15:25:44
test de post en dehors de hardware
note : le mot de pass est en dur dan sla page :'(
Marsh Posté le 18-01-2002 à 15:26:50
argh oui il faut prevenir joce peut etre..... parceque la je vient de faire un enregistrer sous de la page de hardware je l'ai mis dans mon localhost... et j'ai posté d'ici et ca passe tres bien... alors si on traffic un peu...
Marsh Posté le 18-01-2002 à 16:54:59
Potiron > si tu veux éviter le flood à distance, vérifie que les posts sont bien réalisés de ton serveur (-> REFERER)
Marsh Posté le 18-01-2002 à 16:56:39
ethernal a écrit a écrit : donc en fait tu es en train de me dire que tester les $HTTP_POST_VARS"..."] ça sert à rien ? |
Si si ça sert, mes dans son cas il faut vérifier le REFERER.
Marsh Posté le 18-01-2002 à 17:18:35
fly LM>> ta machine a flod ressemble comme 2 gouttes d'eau a la mienne
C'est en effet la première chose que je teste sur un forum: la possibilité de poster de l'extérieur. Jusqu'a présent, j'en ai trouvé que 2 qui ont passé le test, le mien et celui de DJRomain.
Marsh Posté le 18-01-2002 à 00:43:41
salut,
voila, le forum le + rapide de l'ouest est sortie en version final
maintenant ca va etre aux utilisateurs de tester ca -> avec tous les hebergeurs gratuit y aura surement des modifs a faire
j'ai rajouter des interfaces d'administration pour faire + serieux ..
avant de mettre la version sur le marché j'aurais besoin qu'un graphiste me fasse le CSS avec des choix de couleurs judicieux ... etc -> en clair qu'il ait une bonne bouille et peu importe le syle .
en echange je peux l'aider en prog ou autre ...
pour zieuter la bete :
http://lorenzozo.kilio.com/forum_niv1/