DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > DevProTalk > Sva početnička pitanja
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

Sva početnička pitanja Sva početnička pitanja bi trebala da se postavljaju u ovom forumu, a ako se pretvori u kvalitetnu diskusiju interesantnu svima - prebacićemo je u odgovarajući forum. Molimo "znalce" da ne omalovažavaju početnike, ako žele da pomognu svi ćemo biti zahvalni, ako ne žele, neka preskoče ovaj forum.

Odgovori
 
Alati teme Način prikaza
Staro 16. 08. 2010.   #1
blackshtef
profesionalac
Qualified
 
Avatar blackshtef
 
Datum učlanjenja: 27.09.2007
Lokacija: Grubišno Polje - Varaždin
Poruke: 104
Hvala: 10
3 "Hvala" u 2 poruka
blackshtef is on a distinguished road
Pošaljite poruku preko MSN za blackshtef Pošaljite poruku preko Skype™ za blackshtef
Default Kontrola pristupa fileu

Eto mene opet

Dakle, imam neke formulare koji se proslijeđuju na njihove procesore.
Svaki taj procesor na početku ima ovu foru da ga ne može netko otvoriti direktno.

PHP kôd:
if($_SERVER["REQUEST_METHOD"] != 'POST')
    {
        echo 
"No can do";
    } 
E sad, ja bi to stavio na većinu fileova koje includeam, a koji nisu nužno form procesori. Primjerice, menu mi je u zasebnom menu.php fileu, i njega svugdje ubacujem sa
PHP kôd:
include ('menu.php'); 
Ako onaj kod gore ubacim u menu.php, opet će mi javiti "No can do" čim se otvori index.php ili bilo koji drugi file koji includea menu.php

Razmišljao sam možda sa HTTP_REFER, pa ono, ako nema referera, znači da je upisano direkt u URL, jel...al opet, kad ga netko pozove, opet baca error, bilo da je direktno preko URL-a ili ga file poziva...
Vjerojatno postoji neko rješenje za to?
__________________
I, blackshtef
blackshtef je offline   Odgovorite uz citat
Staro 16. 08. 2010.   #2
kickloop
Mister
Master
 
Avatar kickloop
 
Datum učlanjenja: 25.11.2007
Poruke: 626
Hvala: 114
641 "Hvala" u 96 poruka
kickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskoro
Pošaljite poruku preko Skype™ za kickloop
Default

if(!defined('INCLUDE_CHECK')) die('You are not allowed to execute this file directly');
__________________
When you assume, you make an ass out of u and me
kickloop je offline   Odgovorite uz citat
Staro 16. 08. 2010.   #3
LiquidBrain
Milan Cvejic
Wrote a book
 
Avatar LiquidBrain
 
Datum učlanjenja: 05.09.2006
Lokacija: Beograd
Poruke: 1.241
Hvala: 32
73 "Hvala" u 56 poruka
LiquidBrain će postati "faca" uskoro
Pošaljite poruku preko Yahoo za LiquidBrain
Default

Kôd:
if($_SERVER["REQUEST_METHOD"] != 'POST')
    {
        echo "No can do";
    }
Ovo samo zabranjuje get request, svako moze da mu pristupi samo ako koristi POST request. Tako da ti to nije nikakva zastita...
__________________
http://weevify.com
LiquidBrain je offline   Odgovorite uz citat
Staro 16. 08. 2010.   #4
blackshtef
profesionalac
Qualified
 
Avatar blackshtef
 
Datum učlanjenja: 27.09.2007
Lokacija: Grubišno Polje - Varaždin
Poruke: 104
Hvala: 10
3 "Hvala" u 2 poruka
blackshtef is on a distinguished road
Pošaljite poruku preko MSN za blackshtef Pošaljite poruku preko Skype™ za blackshtef
Default

Citat:
Originalno napisao kickloop Pogledajte poruku
if(!defined('INCLUDE_CHECK')) die('You are not allowed to execute this file directly');
Hm, opet isto :/
Tj. otvori index.php do mjesta includeanja i tamo gdje treba biti menu.php stoji ova die() poruka...
__________________
I, blackshtef

Poslednja izmena od blackshtef : 16. 08. 2010. u 09:50.
blackshtef je offline   Odgovorite uz citat
Staro 16. 08. 2010.   #5
blackshtef
profesionalac
Qualified
 
Avatar blackshtef
 
Datum učlanjenja: 27.09.2007
Lokacija: Grubišno Polje - Varaždin
Poruke: 104
Hvala: 10
3 "Hvala" u 2 poruka
blackshtef is on a distinguished road
Pošaljite poruku preko MSN za blackshtef Pošaljite poruku preko Skype™ za blackshtef
Default

Citat:
Originalno napisao LiquidBrain Pogledajte poruku
Kôd:
if($_SERVER["REQUEST_METHOD"] != 'POST')
    {
        echo "No can do";
    }
Ovo samo zabranjuje get request, svako moze da mu pristupi samo ako koristi POST request. Tako da ti to nije nikakva zastita...
True, ali konkretni slučaj je da je ovo više "zatvoreni" site, projekt za faks, pa je ovo čist dovoljno, toliko da se spriječi otvaranje putem URL-a...

Ali volio bih vidjeti neko naprednije/bolje rješenje
__________________
I, blackshtef
blackshtef je offline   Odgovorite uz citat
Staro 16. 08. 2010.   #6
kickloop
Mister
Master
 
Avatar kickloop
 
Datum učlanjenja: 25.11.2007
Poruke: 626
Hvala: 114
641 "Hvala" u 96 poruka
kickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskoro
Pošaljite poruku preko Skype™ za kickloop
Default

Dodaš u index.php

define("INCLUDE_CHECK", true);

a u file (npr. menu.php):
if(!defined('INCLUDE_CHECK')) die('You are not allowed to execute this file directly');
__________________
When you assume, you make an ass out of u and me
kickloop je offline   Odgovorite uz citat
"Hvala" kickloop za poruku:
Staro 16. 08. 2010.   #7
blackshtef
profesionalac
Qualified
 
Avatar blackshtef
 
Datum učlanjenja: 27.09.2007
Lokacija: Grubišno Polje - Varaždin
Poruke: 104
Hvala: 10
3 "Hvala" u 2 poruka
blackshtef is on a distinguished road
Pošaljite poruku preko MSN za blackshtef Pošaljite poruku preko Skype™ za blackshtef
Default

Whoa, odlično!

Hvala ti

EDIT: ovo je još bolje i od onog rješenja sa REQUEST_METHOD, awsm awsm
__________________
I, blackshtef
blackshtef je offline   Odgovorite uz citat
Staro 16. 08. 2010.   #8
eclipse
član
Na probnom radu
 
Datum učlanjenja: 06.02.2010
Poruke: 43
Hvala: 22
0 "Hvala" u 0 poruka
eclipse is on a distinguished road
Default

Da postavim jedno pitanje u sličnom tonu.
Radi se o dozvoli pristupa datotekama na serveru (eng. file permission access/control). Ako sam dobro shvatio postoje dva načina reguliranja (tj. jedan za windows okruženje, drugi za unix/linux). Pošto radim u windowsima, a recimo da hoću da mi stranica bude na linux hostu, prema čemu da se ravnam u toj situaciji, na svoj operativni sistem ili hosting OS? Da li zaštita učinjena na windowsima ujedno vrijedi na linux hostu? Opet, ako se takva zaštita radi kroz php (chmod f-ja), koriste se linux naredbe odrednice 755 i sl. Može malo pojašnjenje cijele te situacije
eclipse je offline   Odgovorite uz citat
Staro 16. 08. 2010.   #9
JovanT
profesionalac
Qualified
 
Datum učlanjenja: 11.01.2006
Lokacija: Niš
Poruke: 100
Hvala: 66
11 "Hvala" u 9 poruka
JovanT is on a distinguished road
Default

Ne znam kako bi to išlo u Windowsu ali pod Linuxom možeš pomoću .htaccess da zabraniš pristup određenim folderima u koje smeštaš zaštićene fajlove. A zatim napišeš PHP skriptu koja će u sebi imati proveru pristupa (može li korisnik da skine ovaj fajl?) i ako je provera prošla, da pročita sadržaj fajla i uradi echo korisniku. Naravno, uz to šalješ i odgovarajuće headere.
JovanT je offline   Odgovorite uz citat
"Hvala" JovanT za poruku:
Staro 16. 08. 2010.   #10
vidak
Banned
Expert
 
Datum učlanjenja: 29.09.2007
Poruke: 458
Hvala: 131
71 "Hvala" u 44 poruka
vidak is on a distinguished road
Default

Citat:
Originalno napisao JovanT Pogledajte poruku
... ali pod Linuxom možeš pomoću .htaccess da zabraniš pristup ....
JovanT je u pravu
.htaccess je prvi način da regulišeš pristupe fajlovima
služi da sve url-ove usmeriš ka index.php

Druga stvar ... rekao si da include menu.php u sve stranice... to znači da nemaš MVC organizaciju. Naravno da ti za faks nije ni potrebno ali bi ti znatno olakšalo dalji razvoj projekta. Sam MVC koncept jeste na prvi pogled težak ali ti u kasnijim fazama razvoja aplikacije mnogo, mnogo olakšava život.

Savet: batali Windows, pređi na Linux. Tako ćeš vremenom mnogo bolje razumeti celu problematiku.
vidak je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Zabrana pristupa direktnim linkom slavkan PHP 10 19. 11. 2010. 03:46
Kontrola deviznog poslovanja jasmanac e-Business 140 22. 10. 2009. 23:47
Predlog za .RS registra? (kontrola nad DNS) DejanVesic Domain Name Service (DNS) 16 06. 02. 2009. 20:52
Autocomplete SelectBox kontrola ppavlovic (X)HTML, JavaScript, DHTML, XML, CSS 2 27. 11. 2007. 13:15
Ban-ovanje korisnika - zabrana pristupa sajtu bluesman Planiranje i usability 19 21. 11. 2005. 06:44


Vreme je GMT +2. Trenutno vreme je 13:58.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.