Wat dus ook betekent dat jij te snel een topic aanmaakt
Dat weet ik en dat spijt me oprecht maar ik wil dit altijd snel hebben opgelost zodat ik verder kan
Wat dus ook betekent dat jij te snel een topic aanmaakt
Dat weet ik en dat spijt me oprecht maar ik wil dit altijd snel hebben opgelost zodat ik verder kan
Hoe?
Dat weet ik niet meer precies maar ik had ene functie eruitgehaald
No offence maar is het wel verstanding om verder te gaan aan jouw klantenpaneel als je in korte tijd 2 vragen stelt die elke beginner in php zelf opgelost krijgt...?
Ik wil best helpen maar niet voor zulke shit vragen
Edit TIP! RTFM ofterwel READ THE FUCKING MANUAL op php.net kun je zo goed als al je vragen die jij nu stelt terug vinden...
als je onder aan het topic keek kon je zien dat ik het al had opgelost voor iemand antwoorde
Hallo,
Dit los je op door te debuggen. Doe dat eens.
Mvg,
Tim
Zeer bedankt het is opgelost sorry voor alweer een stomme vraag.
format php online
Dankje ik ben niet zo goed in zoektermen
Beste,
Zoals sommige al weten ben ik bezig met een klanten paneel daarvoor zijn 2 connections nodig 1 voor naar de database van de klant en 1 voor de database naar mijn site.
@edit het werkt alleen niet als ik de gegevens van het database laat ophalen:
php code info ophalen:
if ($user == true){
if($exec4 = $mysqli->query("SELECT * FROM `ug_mijnpro` WHERE ownerid='$meid'")) {
$count = $exec4->num_rows;
while($mijnpro = $exec4->fetch_assoc()) {
$name = $mijnpro['name'];
$datahost = $mijnpro['datahost'];
$datausername = $mijnpro['datausername'];
$datapassword = $mijnpro['datapassword'];
$data = $mijnpro['data'];
}
}
Toon Meer
de php mysql2
probleem opgelost haakjes moesten weg
Beste,
Met dit script kan ik geen links gebruiken in mijn pagina's:
$(document).ready(function(){
$('.deploy-contact-form').click(function(){ $('.sidebar-form').toggle(300);});
$('#submenu-one').click(function(){ $('.submenu-one').toggle(300); });
$('#submenu-two').click(function(){ $('.submenu-two').toggle(300); });
$('#submenu-three').click(function(){ $('.submenu-three').toggle(300); });
$('#submenu-four').click(function(){ $('.submenu-four').toggle(300); });
$('#submenu-five').click(function(){ $('.submenu-five').toggle(300); });
$('#submenu-six').click(function(){ $('.submenu-six').toggle(300); });
$('#submenu-seven').click(function(){ $('.submenu-seven').toggle(300); });
$('#submenu-eight').click(function(){ $('.submenu-eight').toggle(300); });
$('.deploy-left-sidebar, .close-sidebar-left, .close-bottom-left').click(function(){ return false; })
///////////////////////
//Deploy Left Sidebar//
///////////////////////
$(".content").click(function(){
$('.sidebar-left').animate({
left: '-270',
}, 300, 'easeOutExpo', function () {});
return false;
});
///////////////////////
//Deploy Left Sidebar//
///////////////////////
$(".deploy-left-sidebar").click(function(){
$('.sidebar-left').delay(300).animate({
left: '0',
}, 300, 'easeOutExpo', function () {});
$('.sidebar-right').animate({
right: '-280px',
}, 300, 'easeInOutExpo', function () {});
return false;
});
//////////////////////
//Close Left Sidebar//
//////////////////////
$(".close-sidebar-left, .close-bottom-left").click(function(){
$('.sidebar-left').animate({
left: '-270px',
}, 300, 'easeInOutExpo', function () {});
return false;
});
});
Toon Meer
Zonder wel maar hoe los ik dit op en dat het menu nog steeds werkt?
Weet niet of het met notepad zomaar terug omgezet kan worden, weet wel dat die optie in php-designer zit
voor html heb je een site fixmyhtml.com maar voor php?
Ctrl + z (oftewel ongedaan maken).
kan niet want notepad was uitgevallen
Ik drukte perrongeluk in notepad op een knopje en nu staat heel mijn php code in 1 rij hoe los ik dit op?
Toon Meer
Laten we kijken wat er staat.
Oftewel; Jouw
Vervolgens
Dus $mysqli
Daarna staat er
Variabele is dus geen mysqli object, maar een
ja sorry had het al gezien vergeten config intecluden
hallo,
Kan je het wachtwoord niet in sha512 coderen? dan kan hij het niet weten?
Dan kan hij niet connecten met de SQL toch?
Beste ICT'ers
Ik ben een site aan het maken voor een klant.
En deze moet ge connect zijn met mijn hoofd database omdat hij in het klantenpaneel van mijn site hij zijn berichten kan veranderen.
Dus de login gegevens van mijn database moeten in zijn script maar hij mag het wachtwoord niet weten hoe los ik dit op?
ik heb het volgende bedacht.
Maar dan kunnen ze die gegevns toch nog opvragen via bijvoorbeeld:
Dus hoe los ik dit op?
als je WHM en cPanel er op het draaien moet je in WHM naar de tweak settings
Wat ik nu heb gemaakt is dus onvelig:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Threading;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Security.Cryptography;
namespace ugdevelop
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public string getSHA1Hash(string strToHash)
{
System.Security.Cryptography.SHA512CryptoServiceProvider sha1Obj = new System.Security.Cryptography.SHA512CryptoServiceProvider();
byte[] bytesToHash = System.Text.Encoding.ASCII.GetBytes(strToHash);
bytesToHash = sha1Obj.ComputeHash(bytesToHash);
string strResult = "";
foreach (byte b in bytesToHash)
{
strResult += b.ToString("x2");
}
return strResult;
}
private void button1_Click(object sender, EventArgs e)
{
}
private void button1_Click_1(object sender, EventArgs e)
{
string cs = @"server=31.186.175.52;userid=ughost;
password=*******;database=ughost_forum";
MySqlConnection conn = null;
MySqlDataReader rdr = null;
try
{
conn = new MySqlConnection(cs);
conn.Open();
string stm = "SELECT username, password FROM users WHERE username='" + username.Text + "'";
MySqlCommand cmd = new MySqlCommand(stm, conn);
rdr = cmd.ExecuteReader();
Console.WriteLine("{0} {1}", rdr.GetName(0),
rdr.GetName(1).PadLeft(18));
if (rdr.Read())
{
if (getSHA1Hash(password.Text) == rdr.GetString(1))
{
System.Windows.Forms.MessageBox.Show("U bent succesfol ingelogd :D");
this.Hide();
index2 f = new index2();
f.Show();
}
else
{
System.Windows.Forms.MessageBox.Show("Uw wachtwoord is onjuist.");
}
}
else
{
System.Windows.Forms.MessageBox.Show("Uw gebruikersnaam is onjuist.");
}
}
catch (MySqlException)
{
//werkt niet
}
finally
{
if (rdr != null)
{
rdr.Close();
}
if (conn != null)
{
conn.Close();
}
}
}
}
}
Toon Meer
Toon MeerDat soort dingen doe je dus buiten je C# programmering. Dat laat je alleen via je server gaan.
Om het even heel simpel en kort te beschrijven:
Je hebt een script op je webserver staan zoiets als ("doLogin.php" nader genoemd Server). In de server gebeurt alleen maar de connectie met de database en hetgeen dat moet gebeuren.
Stel dat je het zo hebt:
C# Login Formulier
Wanneer op "login_button" wordt gedrukt wordt de username en de password doorgestuurd naar de server als een POST.
Dan zal de server code er zo bijvoorbeeld uit zien:
PHPToon Meerif($class->isPostRequest()) { $class->username = $class->getParameter('username'); $class->password = $class->getParameter('password'); if(!$class->isValidUsername()) { $json = array("message" => "Invalid username."); } elseif(!$class->isValidPassword()) { $json = array("message" => "Invalid password."); } elseif(!$class->userExists()) { $json = array("message" => "Combination of username and password is invalid."); } else { $genId = $class->createUserToken(); if($genId) { $json = array("id" => $genId); } else { $json = array("message" => "Something went wrong."); } } echo json_encode($json); }
Dit is natuurlijk een afgekapte manier van het verwerken van gegevens.
Wanneer je dan een response krijgt van de server in je c# applicatie en dit bevat een message dan is het inloggen mislukt.
Wanneer je een ID ontvangt dan is de gebruiker ingelogd. Dit ID onthoudt je voor de huidige sessie van de applicatie.
Nou wil je natuurlijk dat een gebruiker bepaalde functies alleen kan doen wanneer die ingelogd is. Als ik nu over de server spreek dan heb ik het bijvoorbeeld over "getGames.php"
Je stuurt een request met het ID en eventuele extra parameters die je wilt naar de server.
Dan zou de code er zo in het kort uitzien voor de server:
PHPToon Meerif($class->isPostRequest()) { $class->id = $class->getParameter('id'); if($class->isValidId()) { $json = array("html" => $class->getGames()); } else { $json = array("message" => "An error occurred. Grab a coffee while you can."); } echo json_encode($json); }
Ik hoop dat ik zo een beetje het idee heb gegeven van hoe je applicatie dan veilig is. Natuurlijk is dit nog maar 10% van alles en kun je alles veel verder uitbreiden.
Dankjewel ik snap het idee en ga het uitwerken
maar nu is mijn vraag is het ook mogelijk dat ik kan zorgen dat ze mijn script niet kunnen stelen?
met hem bedoel ik de wachtwoorden in mijn script ETc eigelijk mijn hele script
ik snap nu alleen nog niet helemaal hoe ik hem daar tegen beveilig
Toon MeerOnthoud dat C# naar CIL wordt gecompiled en dit kan makkelijk worden gedecompiled worden. Dus stop NOOIT maar dan ook NOOIT wachtwoorden of secrets in je C# broncode.
Kun je CIL dan compilen naar iets anders?
Om dat te begrijpen zal ik je wat vertellen over twee verschillen.
1. yourapp.exe --> compiled --> CIL / MSIL --> Werkt op elke PC.
2. notepad.exe --> Native Code --> Code dat geoptimaliseerd is alleen voor DIE specifieke PC waar jij het voor het eerst op hebt gedraait -> Zal niet werken op een andere PC wanneer je het zou kopieren
Wat gebeurt er als je notepad.exe uitvoert?
De native code zal meteen worden uitgevoerd.
Wat gebeurt er als je yourapp.exe uitvoert?
Hij wordt niet meteen uitgevoerd maar wordt nog een keer gecompiled. Het zogehete JIT (Just In Time). Deze JIT zorgt ervoor dat de CIL code gecompiled wordt naar Native code, daarmee bedoel ik code die de computer kan begrijpen.
Kun je dan je .exe compilen naar native code?
Ja dat kan, maar dan draait het alleen op het specifieke systeem waar jij het opdraait. Oftewel wanneer jij deze native code applicatie kopieert naar een andere PC dan denkt die PC van "Dafuq!?". De JIT zorgt ervoor dat de applicatie wordt geoptimaliseerd voor jouw PC.
Is het nuttig om mijn CIL naar Native te compilen?
Nee, alleen bij applicaties die enorm zijn (neem Office van Microsoft).
Conclusie?
Nooit secrets of wachtwoorden in je C# te gebruiken.
Dankjewel want mijn wachtwoord van database staat erin natuurlijk