Probleem dubbelaccountcheck

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Product Developer (M/F), Fulltime 40 h/week

A global Plantbased revolution – that is our dream. Maximising the protein transition – that is our mission. Producing and developing sustainable and delicious products – that is what we do. Ojah is a fast growing company with a mission and has the ambition to be the world leader in its field. To support this growth we are hiring new colleagues. People that would like to make a difference and dare to dream big. With currently a 150 colleagues proudly working on our exceptional products. Working in a dynamic surrounding that runs full speed ahead. We need you! Product Developer

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Medior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Medior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »
Kristof Hendrickx

Kristof Hendrickx

13/11/2013 13:07:20
Quote Anchor link
Hallo,
ik dacht dat mijn code die telkens bij het inloggen word uitgevoerd vlekkeloos was, namelijk volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$gebruikersnaam = strtolower($gebruikersnaam);
    $sql = 'SELECT Username, Password FROM users WHERE Username="'.$gebruikersnaam.'" AND Password="'.$wachtwoord.'"';
      $resultaat = mysqli_query($db, $sql) OR die ('Er liep wat fout, als dit blijft terugkomen neem dan contact op met ons!');
        $aantal = mysqli_num_rows($resultaat);
    $sql = 'SELECT Username FROM ip WHERE Ip = "'.$_SERVER['REMOTE_ADDR'].'" AND Username = "'.$gebruikersnaam.'"';
    $resultaat = mysqli_query($db, $sql) OR die ('Er liep wat fout, als dit blijft terugkomen neem dan contact op met ons!');
    $dubbel = mysqli_num_rows($resultaat);
    if($dubbel == 0)
    {
      $sql = 'INSERT INTO ip(Username, Ip, Date) VALUES ("'.$gebruikersnaam.'", "'.$_SERVER['REMOTE_ADDR'].'", NOW())';
      $resultaat = mysqli_query($db, $sql) OR die ('Er liep wat fout, als dit blijft terugkomen neem dan contact op met ons!');
    }
    $sql = 'SELECT Username FROM ip WHERE Ip = "'.$_SERVER['REMOTE_ADDR'].'"';
    $resultaat = mysqli_query($db, $sql);
    $hoeveel = mysqli_num_rows($resultaat);
    if($hoeveel != 0)
    {
      for($i = 0; $i < $hoeveel; $i++)
      {
        $deze = mysqli_result($resultaat, $i);
        if($deze != $gebruikersnaam)
        {
          $sql = 'UPDATE ip SET Dubbel = "1" WHERE Username="'.$deze.'" AND Ip="'.$_SERVER['REMOTE_ADDR'].'"';
          $uitvoer = mysqli_query($db, $sql) OR die ('Er liep wat fout, als dit blijft terugkomen neem dan contact op met ons!');
          $sql = 'UPDATE ip SET Dubbel = "1" WHERE Username="'.$gebruikersnaam.'" AND Ip="'.$_SERVER['REMOTE_ADDR'].'"';
          $uitvoer = mysqli_query($db, $sql) OR die ('Er liep wat fout, als dit blijft terugkomen neem dan contact op met ons!');
        }  
      }  
    }
    if($aantal == '0')
    {
            echo "Gebruikersnaam en wachtwoord komen niet overeen, ga terug naar de <a class='one' href='index.php'>Home-pagina</a>!<br /><a class='one' href='wwvergeten.php'>Wachtwoord vergeten?</a>";
    }


Bij de meeste inloggegevens werkt het, maar nu is er 1 account waarbij dit niet goed functioneert, namelijk een account met de naam lisalovestormy, dit word regelmatig als dubbelaccount bekeken terwijl er ofwel vergeten word het andere account ook als dubbelaccount aan te geven, of dit onterecht als dubbelaccount aangegeven word, wat uiteraard niet de bedoeling is, om de dubbelaccounts te weergeven vraag ik gewoon de namen op waarbij dubbel hoog staat, ik ben in de database gaan kijken en deze staat bij lisalovestormy ook hoog, vandaar dat ik zeker ben dat hier het probleem optreed.

Nu is mijn vraag hoe dit probleem mogelijk ontstaat en hoe ik dit kan oplossen.
 
PHP hulp

PHP hulp

27/05/2026 06:04:08
 
Kris Peeters

Kris Peeters

13/11/2013 13:27:02
Quote Anchor link
Pas je database-tabel aan.
De velden die uniek moeten zijn (bv. username en email), moet je op UNIQUE zetten (bv. met phpMyAdmin).
Dan kan je geen dubbele inserts maken
 
Kristof Hendrickx

Kristof Hendrickx

13/11/2013 15:16:19
Quote Anchor link
Dit heeft toch niets met mijn vraag te maken? Er zijn geen dubbele entries hoor, het probleem is dat 1 account als dubbel bekeken word, mar het staat ook maar 1 keer in de database, trouwens als unique ;)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/11/2013 15:35:07
Quote Anchor link
Wat Kris zegt heeft er wel degelijk mee te maken. Je moet natuurlijk helemaal niet met dubbele accounts willen werken. Ik doe het zoals hier op phphulp:

inloggen doe je met je email en wachtwoord. Het email moet uniek zijn. Telkens als een gebruiker zich registreert moet ie een e-mailadres opgeven dat nog niet in de database voorkomt. er wordt in de validatie van het formulier op gecontroleerd. Tevens staat de kolom email in de users tabel op unique. Ook als een lid zijn e-mailadres wil wijzigen zal er weer gecheckt worden of het een e-mailadres is dat nog niet voorkomt in de database.

Of begrijpen we je niet? dan moet je de vraag misschien duidelijker stellen.
 
Ward van der Put
Moderator

Ward van der Put

13/11/2013 16:36:33
Quote Anchor link
In je code ga je er ten onrechte van uit dat één gebruiker één IP-adres heeft. Eén gebruiker kan echter online zijn via meerdere IP-adressen. En omgekeerd kunnen er via één IP-adres ook meerdere gebruikers tegelijk online zijn.

Hier doe je dat bijvoorbeeld erg onlogisch:

$sql = 'SELECT Username FROM ip
WHERE Ip = "'.$_SERVER['REMOTE_ADDR'].'"
AND Username = "'.$gebruikersnaam.'"';

En hier doe je er nog een schepje bovenop:

$sql = 'SELECT Username FROM ip
WHERE Ip = "'.$_SERVER['REMOTE_ADDR'].'"';
 
Kristof Hendrickx

Kristof Hendrickx

13/11/2013 18:26:36
Quote Anchor link
Ik weet dat meerdere op hetzelfde ip kunnen zitten, vandaar dat ik in dat geval niet rechtstreeks blokkeer maar van een 0 een 1 maak, ook word elk ip gelogd met de gebruikersnaam erbij, ik weet inderdaad dat wisselende ip's mogelijk zijn, wanneer zal er niets in de ip-tabel komen? als die regel al bestaat en er geen andere gebruiker is met dat ip-adres.

ik vergelijk dingen die ik al ken met de nieuwe dingen, zelfde gebruikersnaam bij zelfde ip ok, verder zonder iets, andere gebruiker zelfde ip? aanpassing doen en verder, die aanpassing gebeurd ten onrechte bij een bepaald account.

Hier word nergens gecontroleerd op dubbele gebruikersnaam, wat niet kan omdat dit al lang unique staat, en mail hetzelfde verhaal.
Gewijzigd op 13/11/2013 18:27:06 door Kristof Hendrickx
 
Ward van der Put
Moderator

Ward van der Put

14/11/2013 07:05:52
Quote Anchor link
Wat bedoel je dan met een "dubbelaccount"?
 
Kristof Hendrickx

Kristof Hendrickx

15/11/2013 16:20:17
Quote Anchor link
Inderdaad 2 accounts met hetzelfde ip, dan word er iets veranderd, ik begrijp jullie probleem niet.
 
Ward van der Put
Moderator

Ward van der Put

15/11/2013 16:31:14
Quote Anchor link
Kristof Hendrickx op 15/11/2013 16:20:17:
Inderdaad 2 accounts met hetzelfde ip, dan word er iets veranderd, ik begrijp jullie probleem niet.
Twee accounts met hetzelfde IP-adres is geen beveiligingsprobleem. Er kunnen vanaf één IP-adres gerust tientallen gebruikers tegelijk online zijn.
 
Erwin H

Erwin H

15/11/2013 16:40:09
Quote Anchor link
En ik denk dat hier verder totaal niemand begrijpt wat jij hier allemaal mee probeert te doen.

Zo is je definitie van een 'dubbelaccount' nu niet echt gebruikelijk. Jij bedoelt ermee dat je wil bijhouden of een user vanaf meerdere ip adressen is ingelogd (al dan niet tegelijk), terwijl over het algemeen onder een dubbelaccount wordt verstaan dat iemand meerdere usernames heeft op hetzelfde emailadres, of dat iemand met meerdere emailadressen een account heeft. Verwarrend dus.
Daarnaast is ook de vraag wat wil je helemaal hiermee bereiken? Wat is het doel? Je moet het natuurlijk helemaal zelf weten, maar soms helpt dat wel om oplossingen te vinden.

Verder wat je code betreft, dit deel vind ik erg opvallend:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
    $sql
= 'SELECT Username FROM ip WHERE Ip = "'.$_SERVER['REMOTE_ADDR'].'"';
    $resultaat = mysqli_query($db, $sql);
    $hoeveel = mysqli_num_rows($resultaat);
    if($hoeveel != 0)
    {

      for($i = 0; $i < $hoeveel; $i++)
      {

        $deze = mysqli_result($resultaat, $i);
        if($deze != $gebruikersnaam)
        {

          $sql = 'UPDATE ip SET Dubbel = "1" WHERE Username="'.$deze.'" AND Ip="'.$_SERVER['REMOTE_ADDR'].'"';
          $uitvoer = mysqli_query($db, $sql) OR die ('...');
          $sql = 'UPDATE ip SET Dubbel = "1" WHERE Username="'.$gebruikersnaam.'" AND Ip="'.$_SERVER['REMOTE_ADDR'].'"';
          $uitvoer = mysqli_query($db, $sql) OR die ('...');
        }  
      }  
    }

?>

Probeer eens uit te leggen wat hier nu de bedoeling van is, want ik probeer er achter te komen, maar begrijp er echte helemaal niets van. Je haalt alle users op die blijkbaar eens hebben ingelogd vanaf een bepaald ip. Daar filter je de nu ingelogde gebruiker uit (in php, waarom niet in sql?), om vervolgens alle records met het betreffende ip op te hogen, ook voor de nu ingelogde gebruiker. Waarom dus eerst filteren en dan toch weer wel opvoeren? En waarom in een loop, waardoor je de records met die gebruiker elke keer weer aanpast?
Volgens mij kan je het gewoon in 1 simpele query doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= 'UPDATE ip SET Dubbel = "1" WHERE Ip="'.$_SERVER['REMOTE_ADDR'].'"';
?>

Uiteindelijk is dat namelijk wel het effect van de bovenstaande code, alleen dan wat minder omslachtig.
Gewijzigd op 15/11/2013 16:42:37 door Erwin H
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.