beste leden



ik heb een vraagje
ik heb een maffiagame zo goed als af alleen werk activation niet goed
wat is het probleem zie de mail hieronder

Beste gamer2020

Hieronder staan uw login-gegevens vermeld.
Login = gamer2020
E-mail adres =
Wachtwoord = gamer2020
Activatiecode= https://maffiasnextkill.ga/v3/activation.php?login=gamer2020&code=​

Om te kunnen spelen moet je account bij ons bevestigd zijn.

Met vriendelijke groet,

Het MaffiasNextKill Team.

LET OP naam van gamer is verandert door mij zelf hier
wat werkt er niet goed zo als jullie kunnen zien staat de link er wel in maar niet de code
wat staat er niet goed en of wat doe ik fout doe


ik hoor het graag van jullie

super bedankt alvast
Zou je jouw code willen beperken tot relevante code (van het juiste script), en deze tussen code-tags willen plaatsen? (zie UBBcode overzicht in Veelgestelde Vragen)

Verder is dit script zo lek als een zeef, en is er SQL-injection mogelijk.
ik heb de code weg gehaald dit omdat ik even niet weet hoe ik het hier neer moet zetten

maar is er een oplossing hier voor weet u dit??
ik hoor het graag van u.


<?
 include("config.php");
?>
<html>
 <head>
 <title>
 maffiasnextkill | Who's your next kill
 </title>
 <base href="https://maffiasnextkillsnextkill.ga/v3/" />
 <meta name="description" content="Stap in de wereld van de maffiasnextkillsnextkill!" />
 <meta name="keywords" content="maffiasnextkill, mafia, criminals, gangsters, gangster, game" />
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />	
 <link rel="stylesheet" type="text/css" href="css/style.css"/>
 <script language="JavaScript" src="js/display.js"></script>
 <script language="JavaScript" src="js/functions.js"></script>
 <script language="JavaScript" src="ajax/prototype-1.6.0.2.js"></script>
 <script language="JavaScript" src="js/duration_progress.js"></script>
 <script language="javascript" type="text/javascript" src="https://www.maffiasnextkill.ga/v3/lib/tinymce/tiny_mce.js"></script>
 </head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
 <script language="JavaScript" type="text/javascript" src="js/wz_tooltip/wz_tooltip.js"></script>
 <script language="JavaScript" type="text/javascript" src="js/wz_tooltip/tip_balloon.js"></script>
<!-- POPUP DIV -->
<div id="div_popunder_bg"></div>
<div id="aanmeldwrapper">
<table width="782" border="0" cellpadding="0" cellspacing="0" align="center">
 <tr>
 <td align="center" valign="middle">
 <div id="js_error" style="width:500px; background:url(images/js_error/bg.gif) repeat-y; margin-top:10px; display:none; margin-left:2px;margin-right:2px;">
 <table cellpadding="0" cellspacing="0" border="0" align="center" width="500" style="border:2px solid #467cba">
 <tr>
 <td width="40px" align="center" valign="top" style="padding-top:5px" bgcolor="#70130e">
 <img src="images/js_error/exl.gif">
 </td>
 <td width="781px">
  <div id="text_shop" style="display:block; line-height:135%; font-size:12px; font-weight:bold">
 <font color='white' id="js_error_msg">
 </font>
 </div>
 </td>
 </tr>
 </table>
 </div>	
 <script language="javascript">
 function showError(pMessage){
 document.getElementById('js_error_msg').innerHTML = pMessage;
 document.getElementById('js_error').style.display = 'block';
 document.getElementById('js_error').focus();
 setTimeout("opacity('js_error',100,0,1000)",2500);
 setTimeout("document.getElementById('js_error').style.display = 'none'; opacity('js_error',0,100,1)",3500);
 }
 </script>
 </td>
 </tr>
<?
$login = $_GET['login'];
$userselect = $connection->query("SELECT * FROM `users` WHERE `login`='$login'");
$user = mysqli_fetch_object($userselect);
if(isset($_GET['login'])){
if($_GET['login'] == $user->login){
if(isset($_GET['code'])){
if($_GET['code'] == $user->activationcode){
$login = $_GET['login'];
$date2 = (date('m/d H:i'));
$connection->query("UPDATE `users` SET `activationcode`='0',`chatdagenbetaald`='7' WHERE `login`='$login'");
$connection->query("INSERT INTO headlines (datum, tijd, wat) VALUES(NOW(),NOW(),'{$login} heeft zich geregistreerd op maffiasnextkill!')");
$connection->query("INSERT INTO `messages`(`date`,`to`,`from`,`title`,`content`,`date2`,`read`,`inbox`,`reply`) values(NOW(),'$login','Beheerder','Welkom op maffiasnextkill','Beste $login
Hartelijk Welkom op maffiasnextkill het leukste maffiasnextkill spel online.
Wij wensen je hier op Maffi natuurlijk
Heel veel Kill & Speel plezier toe :D 
Wat is in het kort de bedoeling van dit spel:
Om zo snel mogelijk Godfather / Lady in Crime te worden.
Dit kan door Misdaden te doen (zie rechterkolom).
Je zal zo in rank omhoog gaan en veel geld gaan verdienen, 
met dit geld kan je objecten kopen die je per uur geld op gaan leveren.
Probeer ook zoveel mogelijk mensen uit de gevangenis te breken, 
deze heb je namelijk nodig om drugs upgrades te kopen.
Voor een drugs upgrade heb je nodig 350 aanvallen, 400 sportvordering en kills natuurlijk.
Dit kan je zien op de indexpagina.
Klik ook elke dag de secretlinks van je medespelers (zie linkerkolom Persoonlijke logs).
En de aanvalsbonus (zie rechterkolom), hiervoor krijg je extra respect en geld.
Je krijgt elke dag om 19.00 de drugsupgrades uitgekeerd deze kan je dan weer tegen de hoogste koers verkopen.
Je kan je drugs verkopen (zie hiervoor rechterkolom Drugs verkopen), tevens zie je hier ook de juiste koers.
Lees ook even ons Forum door, hier staat namelijk erg veel informatie & nieuws op.
Mocht je verder nog vragen hebben, kan je natuurlijk altijd 1 van onze Helpdesk medewerkers om hulp vragen.
Dit kan je doen door 1 van hun een PB te sturen met je desbetreffende vraag.
*[url=https://maffiasnextkill.ga/v3/index.php?a=message&box=new&to=flyingbarrel]flyingbarrel[/url]
*[url=https://maffiasnextkill.ga/v3/index.php?a=message&box=new&to=Knoerten1]Knoerten1[/url]
Grtz
Admins MNK 
 ','$date2','0','1','0')");
 print <<<ENDHTML
 <tr>
 <table width="100%">
 <tr>
 <td align="center">
 <br><br><br><br>
 <table class="div_popup" align="center">
 <tr>
 <td>
 Gefeliciteerd! Je account is bevestigd en je kan nu gebruik maken van alle onderdelen van het spel. Over enkele ogenblikken zal je automatisch naar de inlog pagina worden gestuurd </td>
 </tr>
 <tr>
 <td>
 <br><br>
 <a href="$sitelink/index.php" class="msg_ok">Klik hier indien je niet automatisch verder gaat.</a>
 </td>
 </tr>
 </table>
 </td>
 </tr>
</table>
<script language="javascript">
 setTimeout("document.location.href='$sitelink/index.php'",(3000*2));
</script>
</td>
 </tr>
ENDHTML;
}
}
}
}
if($_GET['code'] != $user->activationcode || $_GET['login'] != $user->login){
print <<<ENDHTML
 <tr>
 <table width="100%">
 <tr>
 <td align="center">
 <br><br><br><br>
 <table class="div_popup_error" align="center">
 <tr>
 <td style="color:red">
 <b>FOUT!</b><br><br>Kan je account niet bevestigen, probeer het later nog een keer </td>
 </tr>
 <tr>
 <td>
 <br><br>
 <a href="#" onclick="history.go(-1); return false" class="error_ok">OK</a>
 </td>
 </tr>
 </table>
 </td>
 </tr>
</table>
</td>
 </tr>
}
 <tr>
 <td>
 </td>
 </tr>
</table>
ENDHTML;
}
?>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1235395-15";
urchinTracker();
</script> <!-- TinyMCE -->
 <script type="text/javascript" language="javascript">
 tinyMCE.init({
 // General options
 mode : "exact",
 theme : "advanced",
 elements : "wysiwyg",
 width: "100%",
 height: "250",
 //plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups,imagemanager,filemanager",
 plugins : "emotions,fullscreen",
 // Theme options
 theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,fontsizeselect,|,forecolor,backcolor,|,emotions,fullscreen,image",
 theme_advanced_buttons2 : "",
 theme_advanced_buttons3 : "",
 theme_advanced_buttons4 : ""
 });
 </script>
 <!-- /TinyMCE -->
</body>
</html>
Kijk eens op de plek waar de registratie plaatsvindt, en waar de mail verstuurd wordt. Dat staat niet in deze code vermeld.

En nogmaals: Je code is lek.
En zorg ook even voor fatsoenlijke uitlijning van je code. Ik heb geen zin om door spaghetti heen te graven. ;-)
Ariën
is het niet mogelijk dat de code gemaakt kan worden zo dat jij niet meer lek is??
zo kan ik de code's die ik gebruik hier dan het beste plaatsen??
ik hoor het graag van u
Dat kan, maar we gaan je hier niet helpen om een heel script te beveiligen. Voor we het weten staan er 10.000 regels met lappen code hier ;-)

Een tip: $connection->real_escape_string(...)

Maar dan ben je er nog niet, want ik vrees nog meer lekken. Daar staan maffiagames behoorlijk om bekend. Misschien is het zinvoller om 'from scratch' opnieuw aan de tekentafel te beginnen.

Hier staan een lijstje met cheatsheets die je bij security kunnen helpen:
https://cheatsheetseries.owasp.org/cheatsheets/Index.html
oke bedankt ik ga kijken en de tip van u bnewerken

bedankt voor de info
en ja ik weet dat de maffiagame's vaak lek zijn maar we zijn er mee aan het werk deze is is wel van belang dat deze werkt maar dat snapt u ook wel haha

Als je weet dat het lek is (en hoogstwaarschijnlijk ook dat het brak is). Waarom ga je niet de boel weggooien en opnieuw beginnen? Ik heb het idee dat je nu behoorlijk in de rotzooi staat te werken, waardoor je er geen stabiel spel uit zal krijgen.

Zeg nu zelf: Je gaat aan een oud en verrot huis werken die bijna instort. Zou je dan liever met een hoop extra ondersteuningen en getimmerde plankjes de boel bewoonbaar en veiliger maken? Of zou je liever de boel slopen om vervolgens met beton en metaal in de weer te gaan om een nieuw huis te bouwen welke aan de eisen van de tijd voldoet?

En dan spreekt het ook nog voor zich dat je ook de nodige kennis en ervaring moet hebben om dit op te kunnen bouwen met de middelen en (veiligheids)regels en -eisen van nu.
Het is belangrijk dat je informatie van gebruikers nooit 'vertrouw'.


$login = $_GET['login'];
$userselect = $connection->query("SELECT * FROM `users` WHERE `login`='$login'");


De $_GET waarde moet je door een functie zoals mysqli_real_escape_string() halen om te voorkomen dat gebruikers in plaats van een echte loginnaam code invullen. Iemand kan nu je hele database verwijderen door als loginnaam iets op te geven als
'; DROP TABLE users;
.



Reageren