Download teller

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij toe aan een nieuwe uitdaging en werk je graag en goed in C++ en C#? Dan zijn we op zoek naar jou! Dit bedrijf is dé specialist op het gebied van automatiseringssoftware voor een specifieke branche en ze zijn per direct op zoek naar versterking in hun development team. Wat jij gaat doen binnen jouw rol als C++ ontwikkelaar; Je vertaalt de wensen van gebruikers naar een functioneel ontwerp. Je houdt je bezig met het ontwerpen, programmeren en testen van product aanpassingen. Je gaat nieuwe product releases implementeren in de projectteams. Je gaat de effecten van nieuwe

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Belastingdienst - Freelance Senior Cobol Applicati

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 7 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: In de applicatie ETM zijn nu de inningsvoorzieningen voor ongeveer 25 aangifte- en aanslagmiddelen opgenomen. ETM is een extern aangeschafte service en het huidige contract met leverancier Oracle loopt af op 31-12-2022. Het programma uitfaseren ETM heeft als doel om vervanging te realiseren waarmee alle nu in gebruik zijnde ETM ondersteuning wordt overgenomen in nieuwe Inningsvoorzieningen om de continuïteit van de inningsprocessen te waarborgen. Eén van de inningsvoorzieningen die voor het einde van 31-12-2022

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

Bekijk vacature »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? 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 jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

PHP developer (Laravel/Vue.js)

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

Node.js developer looking for a challenging consul

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

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

18/12/2024 05:23:48
 
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.