Download teller

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden 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

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

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 »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Java developer Zorgsysteem

Dit ga je doen Werken aan het eigen gebouwde zorgsysteem; Verbeteringen maken en toepassen binnen de applicatie; Jij gaat werken aan de Back-end van de applicatie en sporadisch werk je mee aan de Front-end; Samenwerken met andere teams voor een optimaal resultaat; Jij kan 'clean' werken en high quality code schrijven; Jij werkt resultaatgericht. Hier ga je werken De organisatie houdt zich bezig met diverse applicaties met betrekking tot zorgregistratie. Dankzij hun systeem komt alle informatie, omtrent de zorg van een patiënt, op een overzichtelijke en toegankelijke manier samen in één systeem te staan. Op deze manier is deze informatie

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 »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »
Ignace Verschaeve

Ignace Verschaeve

22/12/2021 11:33:49
Quote Anchor link
Ik probeer een downloadteller te maken die bij houdt welke bestanden er werden gedownload en hoeveel keer.
In mijn MariaDB heb ik een tabel met maar 2 kolommen. Namelijk bestandsnaam (uniek) en downloads.
De bedoeling is dat telkens een bestand wordt gedownload er ofwel de bestandsnaam in de database wordt gezet of als er het reeds in staat de teller met 1 omhoog gaat.
Ik krijg wel de betreffende bestanden op mijn scherm maar mijn database wordt niet bijgewerkt of aangevuld.Hieronder de code. Als er iemand ziet waar ik in de fout ga dan hoor ik het graag. Maar ik zie het momenteel niet.

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
// Including the connection file:
//Inladen van de instellingen.

include '../instellingen.php';
 
$conn = new mysqli($database_adres, $database_login_naam, $database_login_wachtwoord, $database_naam);
//connectie testen
if ($conn->connect_error)
{

    die("verbinding mislukt: ".$conn->connect_error);
}



if(!$_GET['file']) error('Missing parameter!');
if($_GET['file'][0]=='.') error('Wrong file!');

if(file_exists("../".$_GET['file']))
{

    /* If the visitor is not a search engine, count the downoad: */
    if(!is_bot())
    $sql = "   INSERT INTO download_manager  (bestandsnaam)
    VALUES ('"
.mysqli_real_escape_string($conn,$_GET['file'])."')
    ON DUPLICATE KEY UPDATE downloads=downloads+1"
;
                
    $bsn=$_GET['file'];
    header("Location: https://fv-??-?????nen.be/$bsn");
    exit();

}

else {
echo "This file does not exist!";
}


/* Helper functions: */

function error($str)
{

    die($str);
}

function
is_bot()
{

    /* This function will check whether the visitor is a search engine robot */

    $botlist = array("Teoma", "alexa", "froogle", "Gigabot", "inktomi",
    "looksmart", "URL_Spider_SQL", "Firefly", "NationalDirectory",
    "Ask Jeeves", "TECNOSEEK", "InfoSeek", "WebFindBot", "girafabot",
    "crawler", "www.galaxy.com", "Googlebot", "Scooter", "Slurp",
    "msnbot", "appie", "FAST", "WebBug", "Spade", "ZyBorg", "rabaz",
    "Baiduspider", "Feedfetcher-Google", "TechnoratiSnoop", "Rankivabot",
    "Mediapartners-Google", "Sogou web spider", "WebAlta Crawler","TweetmemeBot",
    "Butterfly","Twitturls","Me.dium","Twiceler","Bingbot","DuckDuckBot","YandexBot","facebot", "ia_archiver");

    foreach($botlist as $bot)
    {

        if(strpos($_SERVER['HTTP_USER_AGENT'],$bot)!==false)
        return true;    // Is a bot
    }

    return false;   // Not a bot
}
?>
 
PHP hulp

PHP hulp

30/05/2024 05:37:15
 
Ozzie PHP

Ozzie PHP

22/12/2021 11:41:46
Quote Anchor link
Zo te zien maak je een query aan via $sql = ...

Maar je voert de query niet uit.
 
Ignace Verschaeve

Ignace Verschaeve

22/12/2021 11:47:16
Quote Anchor link
Hoe bedoel je? Waar mankeert wat?
 
Ozzie PHP

Ozzie PHP

22/12/2021 11:52:51
Quote Anchor link
Zoals ik het zeg ... je maakt een query (een opdracht) aan, maar je voert 'm nergens uit. Bekijk maar eens een voorbeeldje via Google.
 
- Ariën  -
Beheerder

- Ariën -

22/12/2021 11:55:46
Quote Anchor link
Het enige wat je doet is een string aanmaken met de opdracht, maar niet het commando (de query) geven dat het moet worden uitgevoerd. Dat laatste moet je uiteraard ook doen.
 
Ivo P

Ivo P

22/12/2021 12:16:01
Quote Anchor link
en hoe goed laat mysql_real_escape_string (procedureel) zich mengen met OO $conn = new mysqli() ?
 
- Ariën  -
Beheerder

- Ariën -

22/12/2021 13:24:04
Quote Anchor link
Volgens mij kan dat gewoon. Al raad ik het niet aan.
 
Ignace Verschaeve

Ignace Verschaeve

22/12/2021 14:39:35
Quote Anchor link
Mochten jullie nu eens een voorbeeldje geven dan ben ik al heel wat geholpen.
 
Ivo P

Ivo P

22/12/2021 14:44:24
Quote Anchor link
op regel 24:

$conn->query() neerzetten om die query uit te kunnen voeren.

Verder: je redirect daarna de browser naar het bestand.

Je realiseert je dat iemand dus ook rechtstreeks daarheen kan gaan? Niet erg als de download dan niet geteld wordt, maar je kunt hier zo dus geen beveiliging "mag hij dit bestand downloaden?" aan toe voegen.

Verder kan iemand hier dus ook
index.php?file=instellingen.php aanroepen.

(dat doet dan uiteindelijk weinig omdat je de browser redirect, maar met file_get_contents() of fpassthru() kun je dan een issue krijgen
 
Adoptive Solution

Adoptive Solution

22/12/2021 15:22:23
 
Ivo P

Ivo P

22/12/2021 15:24:41
Quote Anchor link
zit je wel in het juiste topic Adoptive?
 
Ozzie PHP

Ozzie PHP

22/12/2021 15:37:59
Quote Anchor link
Ivo P op 22/12/2021 15:24:41:
zit je wel in het juiste topic Adoptive?

Ja hoor, hij zit volledig in het juiste topic :-)
 
Ignace Verschaeve

Ignace Verschaeve

22/12/2021 16:01:37
Quote Anchor link
Onderstaand de juiste code die werkt zoals ik het wil. Het betreft ondertussen 35000 bestanden die direct opvraagbaar zijn. En inderdaad als ze de link kopiëren kunnen ze het bestand rechtstreeks downloaden en wordt het niet geteld. Het zoeken naar de betreffende bestanden kan maar na het ingeven van een login en paswoord. Het werkt zo:
Ze zoeken een bepaalde naam. Dan krijgen ze een lijst met mogelijke matches en met meer details en een downloadlink die verwijst naar de pagina met dit PHP script waardoor de teller bijgewerkt wordt en ze doorverwezen worden naar het downloadbare bestand.
Een beetje moeten zoeken naar de juiste volgorde van de code lijnen maar nu werkt het.

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
if(file_exists("../".$_GET['file']))
{
    /* If the visitor is not a search engine, count the downoad: */
    if(!is_bot())
    $sql = "INSERT INTO downloads_manager  (bestandsnaam)
    VALUES ('".mysqli_real_escape_string($conn,$_GET['file'])."')
    ON DUPLICATE KEY UPDATE downloads=downloads+1";

    $bsn=$_GET['file'];
  
    header("Location: https://fv-??-????nen.be/$bsn");
    
if (mysqli_query($conn, $sql)) {
  echo "Record met succes geupdated"."<br/>";
} else {
  echo "Fout updating record: " . mysqli_error($conn)."<br/>";
}
    exit();
}    
else {
echo "This file does not exist!";
}
 
Ivo P

Ivo P

22/12/2021 18:37:20
Quote Anchor link
in dat geval zou ik het toch dichttimmeren: het zal een kwestie van tijd zijn voor de directe url uitlekt naar Google, of voor iemand het systeem in de bestandsnamen herkent.

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
<?php

$filename
= filter_input(INPUT_GET, 'file');
if(strpos($filename, '/') !== false  || is_bot()) {
   // de filename bevat een path, en dat wil je niet!
   header('HTTP/1.0 403 Forbidden');
   exit();
}


if(file_exists("../".$filename))
{

    /* If the visitor is not a search engine, count the downoad: */
    $sql = "INSERT INTO downloads_manager  (bestandsnaam)
            VALUES ('"
.mysqli_real_escape_string($conn,$_GET['file'])."')
            ON DUPLICATE KEY UPDATE downloads=downloads+1"
;

    $conn->query($sql);
    fp = fopen('../'.$filename, 'rb');
    header("Content-Type: application/pdf");
    fpassthru($fp);
    exit();
}
    
else {
   header("HTTP/1.0 404 Not Found");
   exit();
}

?>


en je directory ../ mag dan helemaal onbereikbaar gemaakt worden voor browsers (buiten de documentroot, of via .htaccess rules forbidden gemaakt)

edit:
is_bot() miste een {}set,maar doet het beter in de eerste if.
Gewijzigd op 22/12/2021 18:39:46 door Ivo P
 
- Ariën  -
Beheerder

- Ariën -

22/12/2021 19:22:14
Quote Anchor link
Persoonlijk zou ik de directory buiten de webroot plaatsen.
Dan ben je safe dat er niemand zomaar bij komt zonder eerst jouw script te passeren.
 
Ignace Verschaeve

Ignace Verschaeve

22/12/2021 20:33:49
Quote Anchor link
We gaan het eens bekijken die suggesties. Het zijn wel telkens verschillende directories en zelfs verschillende sites waarop die bestanden staan. Dus ga ik dat moeten uittesten.
 



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.