Auteur Topic: Webapplicatie  (gelezen 5098 keer)

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Webapplicatie
« Gepost op: 08 juni 2020, 14:47:36 »
Hallo,
ik heb een webapplicatie (PHP/MySQL) op mijn NAS en die werkt prima.
Eén ding moet ik nog oplossen: een webapplicatie staat standaard onder de map 'web' op de NAS.
Hoe kan ik nu een bestand openen dat 'hoger' in de mapstructuur ligt, bijv in een 'home'-map van een gebruiker.
Welke machtiging moet ik nu aan wie/wat toekennen?

mvg
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: Webapplicatie
« Reactie #1 Gepost op: 08 juni 2020, 15:29:25 »
Je kan vanuit de webmap naar elk bestand linken met een symbolic link.
Dat doe je met o.a Terminal.app op de Mac of met Putty op Windows.
Het is het UNIX commando: symlink

Navigeer naar de webmap en dan dit :

ln -s source_file myfile
source_file is de link naar het bestand en myfile is de symlink in de webmap.

Je moet wel rechten hebben om erbij te kunnen.
Maar dat staat hier verder buiten.

Op de NAS is het dan zoiets:

ln -s /volume1/homes/john/WebPictures/ webpicturesof naar de Photo map
ln -s /volume1/photo/Friends/ Friends
In UNIX ziet een aangemaakte symlink er dan zo uit:

Friends -> volume1-photo-Friends
Vanuit de webserver bezien is het gewoon een map.

Een symlink is niet altijd zichtbaar als je de webmap bekijkt in de Finder/Verkenner.

Je moet dus onthouden dat je 'm hebt.

https://kb.iu.edu/d/abbe

Ik heb er ooit een pagina aangewijd.
Misschien niet meer up to date maar de strekking klopt nog.

http://bytes.egestas.net/tech/getfiles/
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Re: Webapplicatie
« Reactie #2 Gepost op: 08 juni 2020, 21:06:49 »
Woow! Hartstikke bedankt voor je uitleg en je moeite, maar helaas ben ik absoluut geen unix-kenner.

Ik probeer vanuit mijn php-applicatie een bestand te openen dat buiten de standaard 'web'-map ligt, dwz erboven en niet eronder.
Bijv uit de home-map van een gebruiker of uit een gedeelde map. Dat moet haast wel met machtigingen te maken hebben, dacht ik zo...

Bvd en mvg
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline André PE1PQX

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 25
  • -Ontvangen: 162
  • Berichten: 1.358
  • 1st computer rule: GIGO -> Garbage in, Garbage out
    • Mijn Webstee...
Re: Webapplicatie
« Reactie #3 Gepost op: 08 juni 2020, 21:18:25 »
Met puur php gaat je dat niet lukken. PHP is alleen gebonden aan zijn www map en kan iet bij andere mappen op de server.

Je moet trouwens ook niet willen dat php toegang krijgt tot andere mappen dan je www-map, dit levert een veiligheidsrisico op.
"Anyone who sits on top of the largest hydrogen-oxygen fueled system in the world; knowing they're going to light the bottom - and doesn't get a little worried - does not fully understand the situation" - John Young, Astronaut


DS918+ -> 4x 4TB in RAID5 met 4Gbyte RAM extra (DSM7.2, backup systeem voor PC's)
DS218+ -> 2x 8TB met 4Gbyte RAM extra (DSM 7.2, Mailplus server en client + OpenVPN server)
DS220j -> 1x 8TB + 3TB (DSM7.2)
DS214+ -> 2x 6TB (DSM7.1.1)
DS120j -> 1x 6TB (DSM7.2, off-site backup)

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: Webapplicatie
« Reactie #4 Gepost op: 08 juni 2020, 21:24:00 »
Kom kom,
Niet zo pessimistisch.
Effe oefenen.
Zo doe ik het op een ipad.
Minuut werk.
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Re: Webapplicatie
« Reactie #5 Gepost op: 08 juni 2020, 22:22:28 »
André PE1PQX,
Ik neem aan dat je de map 'web' bedoelt.
Het moet met php toch mogelijk zijn dat ik een .csv-file van een gebruiker importeer naar de MySQL-database?!
Vanuit de map 'web' en daaronder lukt dat ook, maar ik wil graag een file importeren vanuit de omgeving van de gebruiker.
Vanuit zijn home-dir bijv of vanuit een gedeelde map.

Mvg
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline André PE1PQX

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 25
  • -Ontvangen: 162
  • Berichten: 1.358
  • 1st computer rule: GIGO -> Garbage in, Garbage out
    • Mijn Webstee...
Re: Webapplicatie
« Reactie #6 Gepost op: 08 juni 2020, 22:55:41 »
Een bestand benaderen buiten de web-map met PHP is een security risk. Ik zou dat zeker niet willen.
Betere optie is door een script automatich dat .csv bestand naar een bepaalde sub-map (ook niet in de root van web!) in de web-map te laten copieren en dan deze daarvandaan te laten benaderen.

Met PHP kunnen kwaadwillenden ook config bestanden bewerken als deze benaderbaar zijn.
"Anyone who sits on top of the largest hydrogen-oxygen fueled system in the world; knowing they're going to light the bottom - and doesn't get a little worried - does not fully understand the situation" - John Young, Astronaut


DS918+ -> 4x 4TB in RAID5 met 4Gbyte RAM extra (DSM7.2, backup systeem voor PC's)
DS218+ -> 2x 8TB met 4Gbyte RAM extra (DSM 7.2, Mailplus server en client + OpenVPN server)
DS220j -> 1x 8TB + 3TB (DSM7.2)
DS214+ -> 2x 6TB (DSM7.1.1)
DS120j -> 1x 6TB (DSM7.2, off-site backup)

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2668
  • Berichten: 16.550
Re: Webapplicatie
« Reactie #7 Gepost op: 08 juni 2020, 23:49:56 »
…dat buiten de standaard 'web'-map ligt, dwz erboven en niet eronder.

Geen van beide. De home zit  'ernaast'. Home is heel netjes gescheiden van het webgebeuren. Eigenlijk een parallelle wereld waartussen je een 'Einstein–Rosen bridge' creëert met de methode van Wyodor.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: Webapplicatie
« Reactie #8 Gepost op: 09 juni 2020, 09:11:53 »
Als een symlink geen keuze is, kan je het zo oplossen :

<?php

$csv 
file_get_contents('/volume1/homes/gebruiker/Bestanden/nationality.csv');

echo 
'<pre>' $csv '</pre>';

?>
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Re: Webapplicatie
« Reactie #9 Gepost op: 09 juni 2020, 10:04:48 »
Hoi,
Helaas ook hiermee: "Permission denied".
Maar welke machtiging ik nu waaraan moet geven, geen idee.
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Re: Webapplicatie
« Reactie #10 Gepost op: 09 juni 2020, 10:09:08 »
Helaas kan ook lezen uit 'Home' niet vanuit 'web'.

De oplossing zit in gebruik van 'LOAD DATA', maar daarvoor moet dus php.ini worden aangepast. Maar hoe kom ik erbij?

Warning: mysqli_query(): LOAD DATA LOCAL INFILE forbidden in /volume1/web/fev/invoeren2.php on line 54 The user update failed: LOAD DATA LOCAL INFILE is forbidden, check mysqli.allow_local_infile

gr
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: Webapplicatie
« Reactie #11 Gepost op: 09 juni 2020, 13:45:22 »
Dit lukt :
<?php
$db 
= new mysqli'127.0.0.1:3307''user''password''database');
$db->optionsMYSQLI_OPT_LOCAL_INFILETRUE );

$query "LOAD DATA LOCAL INFILE '/volume1/homes/developer/Bestanden/nationality.csv'
INTO TABLE table_ex
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
(id, nationality);"
;

$result $db->query($query);

if (
$result) {
echo 'ok';
} else {
echo 'niet ok';
}
?>

Dit is het csv bestand. Let op de | als veldscheiding.
id|nationality
1|Belgian
2|English
3|French
bron o.a : https://stackoverflow.com/a/16778796
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: Webapplicatie
« Reactie #12 Gepost op: 09 juni 2020, 13:51:56 »
Om de regel met veldnamen te negeren, een extra instruktie toegevoegd.

$query = "LOAD DATA LOCAL INFILE '/volume1/homes/developer/Bestanden/nationality.csv'
INTO TABLE table_ex
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(id, nationality);";
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Re: Webapplicatie
« Reactie #13 Gepost op: 09 juni 2020, 14:02:31 »
Beste Wyodor,
Als ik het goed begrijp moet hiervoor een aanpassing in php.ini worden gedaan (zie vorige bericht)
Dat zou moeten kunnen met WinSCP, dat ga ik nu proberen.
Alvast bedankt.
mvg
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline bartmans99

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 19
  • -Ontvangen: 91
  • Berichten: 737
Re: Webapplicatie
« Reactie #14 Gepost op: 11 juni 2020, 19:54:33 »
Als je hiervoor kiest (en idd security! Alert! Pas op!) kun je met Webstation - PHP instellingen - jouw PHP versie - Knop Bewerken - Algemene instellingen de PHP openbase_dir aanpassen. Hoeft dus niet via php.ini.



 

Berichten sturen vanuit webapplicatie

Gestart door S171Board Web Station

Reacties: 0
Gelezen: 627
Laatste bericht 16 mei 2021, 18:53:12
door S171
Webapplicatie via Internet bereikbaar maken.

Gestart door a.m.j.janssenBoard Web Station

Reacties: 10
Gelezen: 1343
Laatste bericht 07 januari 2022, 12:44:11
door Birdy