Jump to content
  • 0

Вызов диалогового окна работает в 1251 а в utf8 не работает


Tiristor
 Share

Question

Привет совершенно случайно понял что этот код не работает из за кодировки utf-8, а в 1251 работает без проблем.

<?php
$db = mysql_connect("a","b","c");
mysql_select_db("d",$db);
if (!isset($_SERVER['PHP_AUTH_USER']))

{
Header ('WWW-Authenticate: Basic realm="Admin Page"');
Header ('HTTP/1.0 401 Unauthorized');
exit();
}
?>

Ошибку вызывает строка заголовка. как по другому написать этот код для utf-8 ?

или как по другому средствами php закрыть прямой доступ к выбранным файлам?

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

закрыть прямой доступ к подключаемым файлам?

В файле index.php перед подключением файлов:


<?php
define("LOCKVAR", true);

в подключаемых файлах в начале файла:


<?php
defined("LOCKVAR") or die("Доступ к файлу ЗАПРЕЩЕН");

или так с переадресацией на свою страницу 404 ошибки:


<?php
defined("LOCKVAR") or header("Location: ./404.html");

в .htaccess можно примерно так закрыть прямой доступ к файлам .inc


<Files "*.inc">
order allow,deny
deny from all
</Files>

Link to comment
Share on other sites

  • 0

Спасибо wwt

Но мне нужно чтобы диалоговое окно авторизации выскакивало при обращении к файлу.

В предыдущем посте я не полностью описал ситуацию.

Два файла первый

index.php в котором только это.

<? include ("lock.php"); ?>

Второй естественно lock.php.

<?php
if (!isset($_SERVER['PHP_AUTH_USER']))

{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
?>

По идее при обращении к index.php должно выскакивать окно авторизации для ввода логина и пароля.

Если кодировка 1251 так и происходит а когда utf-8 выводится ошибка.

Warning: Cannot modify header information - headers already sent by (output started at X:\home\test\www\index.php:1) in X:\home\test\www\lock.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at X:\home\test\www\index.php:1) in X:\home\test\www\lock.php on line 7

Нужен метод вызова диалогового окна авторизации который будет работать в utf-8 средствами php.

Edited by Tiristor
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy