Probleem dubbelaccountcheck

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

Starter/junior Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als starter/junior developer zul je direct begeleid worden door een senior uit het team. Het is van belang dat

Bekijk vacature »

PHP Laravel Ontwikkelaar

Functie omschrijving Weet jij alles over Laravel en krijg je energie van het developen van software hiermee? Laat het weten want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch voor klein bedrijf welke softwareoplossingen maakt voor hun klanten. Jouw taken hierbij: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Documentatie schrijven over applicaties. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein bedrijf. Er werken circa 15 medewerkers, verdeeld in meerdere teams, zoals back-end

Bekijk vacature »

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

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 »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# 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. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

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

18/12/2024 23:37:50
 
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.