Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%)
|
Witam
Właśnie jestem na ukończeniu projektu zamówień on line dla pewnej firmy i delikatnie mówiąc stanąłem w miejscu. Zażyczyli sobie wprowadzanie zmian cen z plików csv. Nie jest to większy problem. Problemem jest utworzenie szablonu dla tego pliku. W szablonie ma się znaleźć id klienta, id produktu i 3 różne jego ceny. Chodzi mi tylko o bezpieczeństwo. Aby utworzyć szablon muszę zapisać do niego ceny, których nikt nie może w żaden sposób przechwycić - wiadomo: tajemnica handlowa. I tutaj leżę: Zapisując taki plik na serwerze i umieszczając w nim dane muszę w .htaccess dać do katalogu większość uprawnień. Potem daję i szablon pobrany ale wtedy do tego pliku mają dostęp wszyscy (oczywiście muszą o tym wiedzieć ale... od razu zakładam, że każdy chce mieć ten plik i zależy mi na zabezpieczeniu tego). Tym bardziej, że nie zawsze ktoś kliknie na link "Pobierz plik" i wtedy w ogóle nie mam szansy na skasowanie zawartości. Na początku index.php przecież nie dam unlink(); bo ktoś może skasować plik przed pobraniem. Rozwiązaniem by było nie zapisywać pliku na serwerze tylko od razu na dysku usera. Czy istnieje taka możliwość ? Czy da się zapisać dane bezpośrednio ze zmiennej $daneDoPliku; na dysk twardy usera nie zapisując tego na serwerze ? A może do ciacha i jakoś wyciągnąć je na dysk ? Nigdy nie było mi nic takiego potrzebne - grzebę w googlach już ze 2h, manuala to mogę wyrecytować i nic nie ma. Proszę o pomoc Pzdr |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Ale plik możesz generować w locie, bez jego zapisu na dysk. Dlatego wspominałem o skrypcie sparametryzowanym. Zauważ, że na tej samej zasadzie tworzysz strony dynamiczne. Masz tylko szablon i dane są wstawiane w locie na podstawie parametrów do GET. Choćby forum.php?topic=657 Przecież nie zapisujesz utworzonej tak strony na dysku. Strony wciąż się zmieniają, dochodzą nowe tematy i posty w nich. Czy każdy topic jest zapisywany jako strona na dysku? Nie, bo to stworzyłoby masę plików. Może ona się gdzieś scache'ować, ale nic więcej. Tak samo zrób z plikiem csv. Niech generuje się on w locie po kliknięciu w spreparowany link i jest wysyłany z odpowiednimi headerami wtedy prosto do przeglądarki usera. W ten sposób omijasz zapis na dysku bo dane ślesz wprost do przeglądarki użytkownika. Nie wiem jakie masz ustawienia tabel danych itp, ale musisz w takiej sytuacji jedynie zadbać o to, by przy zmianie parametrów ręcznych (grzebanie przez usera w parametrach GET) skrypt sprawdził czy aby dany csv może ta osoba wygenerować. Dlatego wspomniałem o systemie praw dostępu.
|
|
|
|
cudny Pobranie pliku bez zapisywania go na serwerze 24.09.2009, 23:14:06
thek A nie zastanawiałeś się nad tym, by dane te przech... 24.09.2009, 23:23:54
dantes [PHP] pobierz, plaintext header("Content-... 24.09.2009, 23:28:43
cudny Wszystkie te dane są umieszczone w bazie MySQL.
Sz... 24.09.2009, 23:37:12
thek Myślę, że najlepiej będzie sobie stworzyć plik php... 24.09.2009, 23:46:16
cudny Tak, wygeneruje csv ale ten plik csv będzie musiał... 24.09.2009, 23:58:42
cudny Wczoraj było już późno i nie wczytałem się dobrze ... 25.09.2009, 10:48:36 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 15:11 |