De ene user krijgt een andere respons op een php script als de andere

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk van Huffelen

Henk van Huffelen

06/03/2017 10:55:05
Quote Anchor link
Hallo,
Ik stel me even voor. Sinds 2006 een aktieve website, steeds aan verbeterd.
Programmeren is een hobby, naast een fulltime baan. Ik heb ooit wel eens een enkele vraag op een forum gepost, maar dat is al lang geleden.
Ik weet dus ook niet of ik hier op de goede plek post. Jullie corrigeren me maar. Ik leer graag bij.

Probleem:
Ik werk met 2 soorten toegangsnivo. Ruwweg met minimale zichtbaarheid van records(1) en met maximale zichtbaarheid van records(2). Een module op de site is het downloaden van een csv file.
Bij registratie van de users wordt ze 1 toegekend. Indien gewenst zet ik users (zijn en maar een paar) op 2.
Ik sta zelf met 2 testaccounts op 2.
Log ik met mijn beide testaccounts in dan draait het script naar wens. Log ik in als een van de klagende 1 leden, dan komt er een boel onverklaarbare tekst(hieronder, tussen haakjes):
"Bestand niet gevonden
Firefox kan het bestand op http://www.cr-reading.nl/V2/OptionDownloadLH/ddownloadLifeHistTest.php niet vinden.
Controleer de bestandsnaam op grote/kleine letters of andere typefouten.
Controleer of het bestand is verplaatst, hernoemd of verwijderd."

Wat gegevens: PHP 5.6,Firefox,Windows10, gechekt of iedereen op de juiste manier in de db staat.

Ik heb het idee dat dit probleem buiten mijn programmeren ligt, maar waar? Zou iemand een idee hebben?

dank alvast! Henk
Gewijzigd op 06/03/2017 11:05:08 door Henk van Huffelen
 
PHP hulp

PHP hulp

22/12/2024 16:07:52
 
Ivo P

Ivo P

06/03/2017 11:02:58
Quote Anchor link
horen er inderdaad 2 letters d aan het begin van het woord ddownload?

Geeft het betreffende script onder omstandigheden zelf een header() met httpcode 404?

Toevoeging op 06/03/2017 11:05:19:

btw: de betreffende link werkt trouwens als je er op klikt en geeft een bestand met daarin het woord TestForbidden.

Zelf zou ik in plaats daarvan

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
  header('HTTP/1.0 403 Forbidden');
  exit();
?>


doen
 
Henk van Huffelen

Henk van Huffelen

06/03/2017 11:06:24
Quote Anchor link
2 d'2: ja dat is goed.
Geen 404 error te zien

Toevoeging op 06/03/2017 11:07:46:

Forbidden is voor mij het signaal dat je niet ingelogd bent, dat klopt dus
 
Ivo P

Ivo P

06/03/2017 13:46:28
Quote Anchor link
maar geef dat signaal Forbidden dan aan de browser. En niet verpakt in een csv file.

Als je de HTTP code 403 geeft, dan weet je browser dat het Forbidden is, en zal ook een betreffende foutpagina geven.
Net zoals hij bij een 404 zou doen.

Nu doe je net alsof alles ok is, maar geef je de gebruiker een onbruikbare file als "foutmelding".

Ipv alleen de HTTP code zou je eventueel ook een stuk html kunnen geven (naast de 403) om aan te geven dat hij moet inloggen / geen rechten heeft.
 
Henk van Huffelen

Henk van Huffelen

06/03/2017 19:35:06
Quote Anchor link
Ivo, de link die jij oppakte uit mijn eerste bericht. zal na oplossen van de problemen niet bereikbaar zijn.
Ik snap dat je hier een verbetering van mijn code voorstelt, maar daar zou ik graag naar willen kijken nadat dat andere probleem is opgelost. Ik ga users zeker niet vermoeien met een csv met foutmeldingen.

Ik schreef al dat ik 2 testaccounts had. Die 2e heb ik vandaag aangemaakt. En ook via dat account werkt het naar wens. Maak ik voor de klagende user een 2e account aan, dan werkt het niet en komt de oorspronkelijke foutmelding weer terug, die waarbij het bestand niet gevonden wordt.

Henk

Toevoeging op 06/03/2017 21:27:28:

Kan de moderator even offline contact met me opnemen?
Bedankt alvast, Henk
 



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.