Download teller

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

App Ontwikkelaar ERP

Bij welk bedrijf je gaat werken: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Zij bieden praktische ERP oplossingen. Ben jij een veelzijdige App Ontwikkelaar? Heb je ervaring met Python of .Net Core. Vaste baan: App Ontwikkelaar ERP Python 2.600 - 4.000 App Ontwikkelaar Deze werkgever is gespecialiseerd in het automatiseren van bedrijfsprocessen in de procesindustrie. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke

Bekijk vacature »

.NET Software Ontwikkelaar Agile

Voor wie je gaat werken: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Deze werkgever levert producten voor de medische sector. Wil jij werken als Software Engineer? Heb jij ervaring met de scrum agile methodiek? Vaste baan: Software Ontwikkelaar Agile HBO WO 3.300 - 4.800 Software Engineer Deze werkgever is toonaangevend op het gebied van innovatieve apparatuur en software die ontwikkeld wordt om de levens van mensen met kanker en hersenaandoeningen te verbeteren, te verlengen en te redden. Behalve dat je in deze baan belangrijk werk doet ter ondersteuning van

Bekijk vacature »

Software Developer Machine Learning Deep Learning

Voor wie je gaat werken: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Deze werkgever is de partner voor slimme online identificatie en verificatie oplossingen. Ben jij geschikt als AI Developer? Heb je ervaring met Deep/Machine Learning? Vaste baan: Software Developer Machine Learning Deep Learning WO HBO 4.000 - 5.500 Artificial intelligence Developer Deze werkgever heeft ruim tien jaar ervaring op het gebied van online verifiëren van persoons- en bedrijfsgegevens in zowel Nederland als het buitenland. Vanuit ruime ervaring en up-to-date expertise adviseren wij klanten en partners onder andere over

Bekijk vacature »

(Junior) C#/.NET Developer

NO relocation - Applicants MUST live in the Netherlands! If not, applications will not be handled Due to growth and success we are recruiting a (junior) C#/.NET Developer for the Color Technology team of AkzoNobel to join a senior team in which you can grow and develop yourself as a person and professional Developer Client Details NO relocation - Applicants MUST live in the Netherlands! If not, applications will not be handled AkzoNobel is a multinational with activities in the field of paints and varnishes. They are one of the Key-accounts of Michael Page. Description NO relocation - Applicants MUST

Bekijk vacature »

Senior C# Ontwikkelaar met uitstekende voorwaarden

Bedrijfsomschrijving Het bedrijf, gevestigd in de buurt van Rotterdam Centraal, is een internationale speler en maakt software voor de bouw en infra sector. Ze maken (web)software met de nieuwste technieken en volgens moderne methodieken, je komt hier te werken in één van de multidisciplinaire interne Software Development teams! Het bedrijf bestaat al ongeveer 10 jaar, maar maakt vooral nu een enorm grote groei door. Ze zijn marktleider met hun specifieke calculatiesoftware, en ze willen nu ook marktleider gaan worden met hun andere software systemen en applicaties welke allemaal geschreven worden met behulp van C# en steeds meer in de (azure)

Bekijk vacature »

Full stack developer

Lijkt het je leuk je ICT-kennis breed toe te passen in projecten die zowel technisch uitdagend als maatschappelijk relevant zijn? We zoeken een full stack developer om ons snel groeiende, internationale team te versterken. Als full stack developer help je mee om applicaties te ontwikkelen en te verbeteren, op zowel de front-end als de backend. Dit kunnen zowel IT oplossingen zijn in onze ingenieursprojecten als interne applicaties waarmee bedrijfsprocessen worden gedigitaliseerd. Je bent betrokken bij het ontwerpen, ontwikkelen en testen van de webapplicaties. Je zal zowel zelfstandig als in teamverband kwalitatief goede software producten realiseren, waarbij je volop ruimte krijgt

Bekijk vacature »

Embedded Developer

Zoek jij een baan in een unieke branche? Ligt jouw passie bij het ontwikkelen van embedded devices en wil je in een leuk team werken? Dan past de functie van Embedded Developer perfect bij jou. Ter ondersteuning van de afdeling Engineering zijn wij op zoek naar een Embedded Developer voor 40 uur per week. Embedded Developer Wat ga je doen als Embedded Developer? Je bent verantwoordelijk voor het ontwikkelen en onderhouden van onze casino producten die communiceren met onze toepassingen in de cloud. Je komt te werken in een team met een zeer brede kennis van ontwikkelen. Denk hierbij aan

Bekijk vacature »

Business Developer Consultancy Netwerkinfrastructu

Over het bedrijf: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Deze werkgever is gespecialiseerd is in Netwerkinfrastructuren en Security. Ben jij geschikt als Business Developer Consultancy? Heb je ervaring met netwerk infrastructuren? Vaste baan: Business Developer Consultancy Netwerkinfrastructuren HBO 3.000 - 5.000 Business Developer Consultancy Wij bedienen klanten met onze gedreven organisatie in geheel Nederland, maar bevinden onze klanten zich ook wereldwijd. Van oorsprong ligt onze focus op de Service Providermarkt maar is de horizon verbreed richting Enterprises en de Groot Zakelijke Markt (MKB-plus). Zij werken voor MKB klanten.

Bekijk vacature »

Software engineer Java (developer)

Waar een kinderboek van Carry Slee en ruim 200.000 andere e-books en single identity samenkomen. Dat is de KB in Den Haag. En het is de plek waar jij als software engineer Java delen van de digitale infrastructuur voor alle bibliotheken in Nederland bouwt. Maak jij het mogelijk? De komende jaren bouw je aan componenten van de nationale digitale bibliotheek. Bijvoorbeeld aan de online bibliotheek en het InterBibliothecaire Leenverkeer (IBL). De bibliotheekapplicatie laat lezers online luisterboeken en e-boeken lenen. De IBL-applicatie zorgt dat leden boeken die niet in de collectie van de eigen bibliotheek zitten, toch elders kunnen lenen. En

Bekijk vacature »

Frontend Developer Sr HTML

Over de werkgever: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Zij bieden software aan de financiële markt. Ben jij een enthousiaste Frontend Developer? Heb jij ervaring met Agile? Vaste baan: Frontend Developer Sr Agile 3.200 - 4.500 Frontend Developer Wij maken software voor de financiële markt. Onze klanten zijn de financieel adviseurs, ketens, banken en verzekeraars. Onze software is gericht op de particuliere dienstverlening en wordt gebruikt voor oriëntatie, advies, bemiddeling en administratie. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met

Bekijk vacature »

Full Stack C++ Developer Agile Software

Over het bedrijf: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Wij verhandelen aandelen op belangrijke Europese markten. Werk jij aan applicaties voor de aandelenhandel? Heb jij ervaring met Agile software development? Vaste baan: Full Stack C++ Developer Agile Software HBO 3.500 - 4.500 Full Stack C++ Developer Je gaat bij ons werken met enthousiaste professionals. Deze werkgever is een platte organisatie gespecialiseerd in aandelenhandel. Hierbij maken wij veel gebruik van IT. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie

Bekijk vacature »

Software Ontwikkelaar ERP X++

Over het bedrijf: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Deze werkgever is leverancier van ERP-software en digitale oplossingen voor de Europese vastgoedsector en haar partners. Ben jij een enthousiaste software developer? Heb je ervaring met X++? Vaste baan: Software Ontwikkelaar ERP X++ Informatica 2.800 - 4.500 Software Developer ERP Deze werkgever is een grote leverancier van software voor vastgoedbedrijven (commercieel en sociaal), outsourcing en consultancy, vertegenwoordigd in meerdere Europese landen. Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen

Bekijk vacature »

Senior Software Ontwikkelaar Java of .Net

Voor wie je gaat werken: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Wij geven advies over de vernieuwingen in de online wereld. Wil jij ICT oplossingen analyseren, beschrijven en beheren? Heb je ruime ervaring als .Net / Java developer? Vaste baan: Senior Software Ontwikkelaar Java of .Net HBO WO 4.300 - 5.500 Senior Software Engineer Deze werkgever is een fullservice online bedrijf dat grote klanten adviseert over de vernieuwingen in de online wereld en dat advies ook direct kan realiseren. Onze creatie-afdeling is volledig geïntegreerd met sales en consultancy

Bekijk vacature »

Full Stack Developer Javascript

Bij welk bedrijf je gaat werken: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Wij produceren en leveren koemonitoringssystemen. Wil jij voor ons software ontwerpen en realiseren? Heb jij minimaal vijf jaar ervaring als full stack developer? Vaste baan: Full Stack Developer Javascript HBO 3.000 - 4.700 Full Stack Developer Ons bedrijf heeft met een team van gedreven collega’s een revolutie teweeggebracht in de wereld van koemonitoringssystemen. Met hun oor-sensortechnologie helpen we veehouders wereldwijd om de productiviteit en winstgevendheid van hun melkveebedrijf te verhogen. Bij bij hun werk je aan

Bekijk vacature »

HANA Developer

Our client leads the worldwide development, production and sales of high-end lithography systems for the semiconductor industry. In short, we make the machines that make computer chips, or integrated circuits. We build some of the most amazing, complex machines that you will ever see – and the software to run them – to develop smaller, faster and still more affordable chips. It is because of our machines that the world’s technology has steadily evolved. This role is situated in the Big Data Analytics (BDA) Domain, specifically in Corporate Analytics. Our teams have mixture of young talent and senior specialists and

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

27/06/2022 16:37:21
 
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.