RE: Création de théme
Depuis le début, j'ai réalisé un certains nombres de scripts PHP qui seront actif sur le forum.
Je vais vous les exposer ci-dessous... J'aimerais que vous regardiez si il y a des possibilité de failles de sécurité (J'ai déjà eu un petit problème avec un script sur un autre site web).
Beaucoup de scripts se ressemblent, se répètent...
Les scripts seront actif et intégrés avec les template.(Sauf 3)
Si vous avez besoins de plus d'informations, à quoi il servent, sur quel template...n’hésitez pas a me demander !
C'est le travail de plusieurs semaines...Donc il y en a pas mal!
Code PHP :
<?php mysql_connect("localhost","root",""); mysql_select_db("my_bb_tls"); $URLShop = $_SERVER['HTTP_REFERER']; $url = parse_url($URLShop); $result=array(); parse_str($url['query'],$result); $valeurid = $result['fid'];
$sql = "SELECT username FROM mybb_posts WHERE fid='$valeurid' ORDER BY dateline DESC LIMIT 1"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); $user= $data[0];
$sql = "UPDATE mybb_users SET presentation='1' WHERE username ='$user'"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); echo "Présentation validé"; ?>
Code PHP :
<?php $message1 = "<FONT color=\"red\">Vous ne vous êtes pas encore présenté, présentez-vous pour voir les liens.</FONT> "; //non présenté $message2 = "<FONT color=\"red\">Présentation incorrecte, éditez-la pour voir le lien.</FONT> "; //non présenté $message3 = "<FONT color=\"red\">Vous vous devez être inscrit pour voir l'intégralité du forum.</FONT> "; //non présenté $message4 = "<FONT color=\"red\">Votre dernier message date de plus de 7 jours, participez au forum pour voir le lien.</FONT> "; $message5 = "<FONT color=\"red\">Les bannis ne peuvent pas voir les liens. </FONT> ";
$ID = $mybb->user['uid']; $sql = 'SELECT presentation,lastpost,usergroup FROM mybb_users WHERE uid = ' . $ID; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); $presentation = $data[0]; $dernierpost= $data[1]; $verifusergroupe = $date[2];
$message = $post['message']; $formated_datetime = DATE("Y-m-d H:i:s"); $unix_timestamp = STRTOTIME($formated_datetime); $timingDiff = "518400"; //Temps en secondes ( 518400 = 7jours)
if ($presentation == "0"){ $message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "$message1", $message); echo "$message"; } elseif ($presentation == "2"){ $message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "$message2", $message); echo "$message"; } elseif ($ID == "0") { $message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "$message3", $message); echo "$message"; } elseif ($dernierpost < ( $unix_timestamp - $timingDiff )) { $message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "$message4", $message); echo "$message"; } elseif ($verifusergroupe == 7) { $message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "$message5", $message); echo "$message"; } else{ echo "$message"; } ?>
Code PHP :
<?php if ($fid == 2){ echo "<div style=\"text-align:center\"><input type=\"submit\" class=\"button\" name=\"submit\" value=\"{$lang->post_thread}\" tabindex=\"4\" accesskey=\"s\" /> </div>"; }
if ($fid != 2){ echo "<div style=\"text-align:center\"><input type=\"submit\" class=\"button\" name=\"submit\" value=\"{$lang->post_thread}\" tabindex=\"4\" accesskey=\"s\" /> <input type=\"submit\" class=\"button\" name=\"previewpost\" value=\"{$lang->preview_post}\" tabindex=\"5\" />{$savedraftbutton}</div>"; } ?>
Code PHP :
<?php $raccournom = $thread['subject']; $nomsortie_compter = strlen($raccournom); $nomsortie_couper = substr($raccournom, 0, 40); if ($nomsortie_compter <= "40") { $nomsortie = $nomsortie_couper; } if ($nomsortie_compter >= "41") { $nomsortie = "$nomsortie_couper (...)"; } $page_url = $thread['threadlink']; $url = parse_url($page_url); $result=array(); parse_str($url['query'],$result); $valeurid = $result['tid']; $query = "SELECT message FROM mybb_posts WHERE tid='$valeurid' ORDER BY dateline ASC LIMIT 1"; $result = mysql_query($query); while($row = mysql_fetch_row($result)){ $messpremier = htmlentities(strip_tags(strtr($row[0],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy')));
$messpremier = preg_replace("#\[(.+)\]#iUs", '', $messpremier); } ?>
Code PHP :
<?php $page_url = $thread['threadlink']; $url = parse_url($page_url); $result=array(); parse_str($url['query'],$result); $valeurid = $result['tid'];
$query = "SELECT subject,username,message FROM mybb_posts WHERE tid='$valeurid' ORDER BY dateline DESC LIMIT 1"; $result = mysql_query($query); while($row = mysql_fetch_row($result)){ $subjet = $row[0]; $name = $row[1]; $mess = htmlentities(strip_tags(strtr($row[2],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy'))); $nbcaract = strlen($mess); $messrecourcis = substr($mess, 0, 150);
$messrecourcis = preg_replace("#\[(.+)\]#iUs", '', $messrecourcis); $mess = preg_replace("#\[(.+)\]#iUs", '', $mess);
if ($nbcaract <= "150") { echo "<a href=\"{$thread['lastpostlink']}\" title=\"$mess\">$messrecourcis</a>"; } if ($nbcaract >= "151") { echo "<a href=\"{$thread['lastpostlink']}\" title=\"$mess\">$messrecourcis (Suite...)</a>"; } } ?>
Code PHP :
<?php
$page_url = $forum_url; $url = parse_url($page_url); $result=array(); parse_str($url['query'],$result); $valeurid = $result['fid'];
$formated_datetime = DATE("Y-m-d H:i:s"); $unix_timestamp = STRTOTIME($formated_datetime); $timingDiff = "1000000"; //Temps en secondes ( 518400 = 7jours) $datemini = $unix_timestamp - $timingDiff;
$query = "SELECT subject,tid,username FROM mybb_threads WHERE fid='$valeurid' AND sticky='0' AND lastpost>'$datemini' ORDER BY replies DESC LIMIT 5"; $result = mysql_query($query); while($row = mysql_fetch_row($result)){ $Nom = htmlentities(strip_tags(strtr($row[0],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy'))); $name = htmlentities(strip_tags(strtr($row[2],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy'))); $tid = $row[1]; $Nom_r = substr($Nom, 0, 50); $query_bis = "SELECT message FROM mybb_posts WHERE tid='$tid' ORDER BY dateline ASC LIMIT 1"; $result_bis = mysql_query($query_bis); while($row_bis = mysql_fetch_row($result_bis)){ $previous = htmlentities(strip_tags(strtr($row_bis[0],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy')));
$previous = preg_replace("#\[(.+)\]#iUs", '', $previous);
echo "<tr><th><a href=\"showthread.php?tid=$tid\" title=\"$previous\">$Nom_r</a> par $name</th></tr>"; } }
?>
Code PHP :
<?php $page_url = $forum_url; $url = parse_url($page_url); $result=array(); parse_str($url['query'],$result); $valeurid = $result['fid']; $query = "SELECT subject,tid,username FROM mybb_threads WHERE fid='$valeurid' AND sticky='1' ORDER BY replies DESC LIMIT 5"; $result = mysql_query($query); while($row = mysql_fetch_row($result)){ $Nom = htmlentities(strip_tags(strtr($row[0],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy'))); $name = htmlentities(strip_tags(strtr($row[2],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy'))); $Nom_r = substr($Nom, 0, 50); $tid = $row[1]; $query_bis = "SELECT message FROM mybb_posts WHERE tid='$tid' ORDER BY dateline ASC LIMIT 1"; $result_bis = mysql_query($query_bis); while($row_bis = mysql_fetch_row($result_bis)){ $previous = htmlentities(strip_tags(strtr($row_bis[0],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy')));
$previous = preg_replace("#\[(.+)\]#iUs", '', $previous);
echo "<tr><th><a href=\"showthread.php?tid=$tid\" title=\"$previous\">$Nom_r</a> par $name</th></tr>"; } }
?>
Code PHP :
<?php $username = $post['uid'];
$sql = 'SELECT fid FROM mybb_threads WHERE tid = ' . $tid; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); $tid = $data[0];
if ($tid == "2" ){ //CHANGER l'iD $sql = 'SELECT presentation FROM mybb_users WHERE uid = ' . $username; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); $presentation = $data[0];
if ($presentation != "1" ){ echo "<a href=\"tls_validprez.php\"><img src=\"{$theme['imglangdir']}/valid.png\" /></a>"; } else{ echo "<a href=\"tls_invalidprez.php\"><img src=\"{$theme['imglangdir']}/invalid.png\" /></a>"; } } ?>
Code PHP :
<?php mysql_connect("localhost","root",""); mysql_select_db("my_bb_tls"); $URLShop = $_SERVER['HTTP_REFERER']; $url = parse_url($URLShop); $result=array(); parse_str($url['query'],$result); $valeurid = $result['tid']; $sql = 'SELECT username,dateline FROM mybb_posts WHERE tid = ' . $valeurid; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); $user= $data[0]; $date= $data[1]; $dateplus = "-1"; $datepost= $date + $dateplus;
$sql = "UPDATE mybb_users SET presentation='2' WHERE username ='$user'"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$_1 = "Message automatique"; $_2 = "$valeurid"; $_3 = "2"; $_4 = "0"; //MODIFIER $_5 = "Message automatique"; $_6 = "0"; $_7 = "1"; $_8 = "Message automatique"; $_9 = "$datepost;"; $_10 = "[align=center][color=#FF0000][size=medium][b]/!\ Attention /!\[/b] Votre présentation n\'est pas conforme ! [b]/!\ Attention /!\[/b][/size][/color][/align]
[align=center][color=#FF0000]Vous n\'avez pas respecté les règles de présentation,[/color][/align] [align=center][color=#FF0000]et cela encourt 15% d\'avertissement (100% entrainant le bannissement définitif)[/color][/align] [align=center][color=#FF0000]ainsi qu\'une impossibilité de voir les liens.[/color][/align]
[align=center][color=#FF0000][b]Pour y remédier[/b], veuillez éditer votre présentation et la refaire selon les critères voulus :[/color][/align] [align=center][color=#FF0000]Prénom, age, hobbies, langues parlées/écrites/comprises, connaissances informatiques, comment vous nous avez trouvé, ce que vous recherchez sur le forum.[/color][/align] [color=#FF0000][align=center]Recontactez ensuite un modérateur pour que votre présentation soit validée[/align][/color] [align=center][color=#FF0000][b]Vous pouvez également consulter le [url=showthread.php?tid=193]Tutoriel de présentation.[/url][/b][/color][/align]";
$_11 = "noIP"; $_12 = "noIP"; $_13 = "0"; $_14 = "0"; $_15 = "0"; $_16 = "0"; $_17 = "1"; $_18 = "769d1f136c0732521d8bae915fcdc3e7";
$sql = "INSERT INTO mybb_posts(pid,tid,replyto,fid,subject,icon,uid,username,dateline,message,ipaddress,longipaddress,includesig,smilieoff,edituid,edittime,visible,posthash) VALUES ('$_1','$_2','$_3','$_4','$_5','$_6','$_7','$_8','$_9','$_10','$_11','$_12','$_13','$_14','$_15','$_16','$_17','$_18')"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
ob_start(); ?>
Vous avez invalidé cette présentation... redirection dans 3 secondes
<?php header('Refresh: 2; url=forumdisplay.php?fid=2'); ob_flush(); ?>
Code PHP :
<?php mysql_connect("localhost","root",""); mysql_select_db("my_bb_tls"); $URLShop = $_SERVER['HTTP_REFERER']; $url = parse_url($URLShop); $result=array(); parse_str($url['query'],$result); $valeurid = $result['tid'];
$sql = "SELECT username FROM mybb_posts WHERE tid =$valeurid ORDER BY dateline DESC LIMIT 1"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); $user = $data[0];
$sql = "DELETE FROM mybb_posts WHERE username='Message automatique' AND tid='$valeurid' "; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$sql = "UPDATE mybb_users SET presentation='1' WHERE username ='$user'"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
ob_start(); ?>
Vous avez validé cette présentation... redirection dans 3 secondes
<?php header('Refresh: 3; url=forumdisplay.php?fid=2'); ob_flush(); ?>
Code PHP :
<?php
$ID = $mybb->user['uid']; $message1 = "<FONT color=\"red\">Vous ne vous êtes pas encore présenté, présentez-vous pour voir les liens.</FONT> "; // Texte si l'user na jamais posté if ($ID != "0") { $sql = 'SELECT presentation FROM mybb_users WHERE uid = ' . $ID; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); $presentation = $data[0];
$sql1 = "SELECT fid FROM mybb_threads WHERE uid ='$ID' ORDER BY lastpost DESC LIMIT 1"; $req1 = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error()); $data1 = mysql_fetch_array($req1); $fid1 = $data1[0];
if ($presentation == "0" AND $fid1 == "2"){ //CHANGER l'iD $sql = "UPDATE mybb_users SET presentation='1' WHERE uid='$ID'"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); }
if ($presentation == "0"){ echo "Votre présentation n'est pas faite, de ce fait vous ne pouvez pas accéder à tout le contenu du forum. Cliquez <a href='newthread.php?fid=2'><strong>ICI</strong></a> pour réaliser votre présentation... Toute présentation mal faite ne sera pas validé!! "; }
if ($presentation == "2"){ echo "Votre présentation est incorrecte, éditez là!"; $message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "$message1", $message); }
} if ($ID == "0") { echo "Vous n'êtes pas inscrit ou connecté à votre compte, vous ne pouvez pas accéder à tout le contenu du forum.<a href='member.php?action=login'><strong>Connectez-vous</strong></a> à votre compte ou <a href='member.php?action=register'><strong>creer en un."; }
?>
Code PHP :
<?php
mysql_connect("localhost","root",""); mysql_select_db("my_bb_tls");
$ID = $mybb->user['uid']; if ($ID != "0") { $sql = 'SELECT presentation,messageavertiDL FROM mybb_users WHERE uid = ' . $ID; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); $presentation = $data[0]; $messageavertiDL = $data[1];
if ($presentation == "1" AND $messageavertiDL == "0" ){ $sql = "UPDATE mybb_users SET messageavertiDL='1' WHERE uid ='$ID'"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); echo "<div id=\"messageavertissementfond\"> <div id=\"messageavertissement\"> <img name=\"messagavertissement\" src=\"images/tls_new/autre/messag%20avertissement.png\" width=\"600\" height=\"400\" border=\"0\" id=\"messagavertissement\" usemap=\"#m_messag20avertissement\" alt=\"\" /><map name=\"m_messag20avertissement\" id=\"m_messag20avertissement\"> <area shape=\"rect\" coords=\"345,339,566,358\" href=\"index.php\" target=\"_self\" alt=\"\" /> </div> </div>"; } }
?>
Code PHP :
<?php $ANpage_url = $announcement['announcementlink']; $ANurl = parse_url($ANpage_url); $ANresult=array(); parse_str($ANurl['query'],$ANresult); $ANvaleurid = $ANresult['aid'];
$ANquery = "SELECT message FROM mybb_announcements WHERE aid='$ANvaleurid'"; $ANresult = mysql_query($ANquery); while($ANrow = mysql_fetch_row($ANresult)){ $ANmess = htmlentities(strip_tags(strtr($ANrow[0],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaceeeeiiiioooooouuuuyyy'))); $ANnbcaract = strlen($ANmess); $ANmessrecourcis = substr($ANmess, 0, 150); if ($ANnbcaract <= "150") { echo "$ANmessrecourcis"; } if ($ANnbcaract >= "151") { echo "$ANmessrecourcis ..."; } } ?>
Code PHP :
<?php if ($fid == 2){ echo "<td class=\"trow2\">{$prefixselect}<input type=\"text\" class=\"textbox\" name=\"subject\" size=\"40\" maxlength=\"85\" value=\"Ma présentation\" tabindex=\"1\" /></td>"; }
if ($fid!=2){ echo "<td class=\"trow2\">{$prefixselect}<input type=\"text\" class=\"textbox\" name=\"subject\" size=\"40\" maxlength=\"85\" value=\"{$subject}\" tabindex=\"1\" /></td>"; }
?>
Code PHP :
<?php if ($fid == 2){ echo "<textarea name=\"message\" id=\"message\" rows=\"20\" cols=\"70\" tabindex=\"2\"> Ce tutoriel n'est qu'à titre indicatif. Vous n'êtes donc pas obligé de reprendre exactement le tutoriel de présentation. En vous présentant, vous acceptez aussi le réglementent en vigueur sur ce forum.
Prénom: Age: Hobbies: Langues parlées/écrites/comprises: Vos connaissances informatiques Comment vous nous avez trouvé: Ce que vous recherchez:
</textarea>"; }
if ($fid!=2){ echo "<textarea name=\"message\" id=\"message\" rows=\"20\" cols=\"70\" tabindex=\"2\">{$message}</textarea>"; }
?>
Merci.
--Tlams
|