Забрана на .php

ReD_z0n3

Registered
Как да забраня отварянето на адрес по следния начин
Код:
http://ip-to/account.php
искам само линкове от рода на
Код:
http://ip-to/index.php?a=account
да могат да се отварят :)
 
С .htaccess или с php.
Първия начин не успях да открия но за твори се сещам така.
Да речем в account.php най-горе слагаш това:

PHP:
<?php
if ($access != "true")
{
exit;
}

// тук останалата част от кода.
?>

А в index-a горе ще дефинираш променлива равна на true.
Т.е.

PHP:
<?php
$access = "true";
?>

И надолу като вкараш account.php с include, то ще се отвори , а иначе няма да го зарежда.
Също така над exit; можеш да сложиш един

header('Location: index.php');
 
Не това неми върши работа няма ли някакъв начин да се направи и с .htaccess ?
 
По принцип се прави с define('IN_SITE',true); в index файлът и след това с
PHP:
if(!defined('IN_SITE')) exit;
...
 
Нарича се $GET Ето 2-3 урока
http://web-tourist.net/login/login/view.php?st=2101
http://www.w3schools.com/PHP/php_get.asp
А ето кода който аз ползвам в някоя проста системата
<?php
if($_GET['act'] == 'forsite') { include('forsite.php'); }
if($_GET['act'] == 'upload') { include('upload.php'); }
?>
На мястото на act стой следното
site.com/index.php?a=contact

A където пише forsite/upload
е site.com/index.php?a=contact
 
Styl3rbg каза:
Нарича се $GET Ето 2-3 урока
http://web-tourist.net/login/login/view.php?st=2101
http://www.w3schools.com/PHP/php_get.asp
А ето кода който аз ползвам в някоя проста системата
<?php
if($_GET['act'] == 'forsite') { include('forsite.php'); }
if($_GET['act'] == 'upload') { include('upload.php'); }
?>
На мястото на act стой следното
site.com/index.php?a=contact

A където пише forsite/upload
е site.com/index.php?a=contact
Да, но така пак ще може да се отвори:
site.com/forsite.php
 
Амм явно по-този начин няма да стане .. И сега ще ви обесня, защо искам да блокирам файловете да не може да се отварят с .php накрая , ако някой реши да отвори адреса така http://ip-to/accounts.php му излиза ето това


PHP:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\accounts.php on line 24

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\xampp\htdocs\accounts.php on line 24
Access denied for user 'ODBC'@'localhost' (using password: NO)[SELECT * FROM users ORDER BY ID DESC LIMIT 0, 15]

та въпроса ми е , как да направя , като отвори някой файл да му излиза , че е празен или просто да го препраща към началната страница :/
 
Много не се разбира какво точно искаш, но ще предположа, че инклудваш accaunts.php в index.php и искаш да го защитиш от директно зареждане. В такъв случай слагаш това в accounts.php
PHP:
if ( !defined('IN_VALID') )
{
echo "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>";
die('<Center><B>ЗАЩИТА!</B><BR>За да се върнете назад натиснете <a href="index.php">тук</a></Center>');
}
в index.php слагаш това:
PHP:
define('IN_VALID', true);
 
Три едни и същи решения на въпроса :D Red_zone - наистина, това е което искаш ;) Те хората ти го пишат - пробвай :?: Освен ако не искаш нещо друго..
 

Back
Горе