X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как закрыть просмотр отдельного файла php в каталоге
BLIK
BLIK
Topic Starter сообщение 23.5.2014, 9:25; Ответить: BLIK
Сообщение #1


Здравствуйте форумчане.

На сайте имеется контактная форма на php. Все файлы формы лежат в папке php. Сама папка скрыта для просмотра. Но проблема в том,  что если прописать в браузере такой путь



site.ru/php/contact-form.php

то форма обрабатывает и отсылает на почту пустое письмо.

 


Отсюда вопрос как закрыть этот файл от вызова его в браузере.

Пробовал в Htaccess  закрывать и папку и файл. Но когда закрываю в htaccess, то форма перестает работать и отправлять письма. Может кто знает, как закрыть простым пользователям доступ к файлу этому 

site.ru/php/contact-form.php

За ответ заранее спасибо.

 

 

0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 23.5.2014, 9:58; Ответить: kamchatniyoleg
Сообщение #2


А поставить проверку на входящие параметры совсем не ? Например вот так :

if ($_POST) {
....................
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
BLIK
BLIK
Topic Starter сообщение 23.5.2014, 10:05; Ответить: BLIK
Сообщение #3


Ну если бы я знал, то не задавал бы этот вопрос. По подробнее если можно? Что,где и куда..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 23.5.2014, 10:13; Ответить: kamchatniyoleg
Сообщение #4


[member=BLIK], Да конечно можно скиньте мне файл  site.ru/php/contact-form.php
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
BLIK
BLIK
Topic Starter сообщение 23.5.2014, 10:15; Ответить: BLIK
Сообщение #5


Вот файл

<?php
session_cache_limiter('nocache');
header('Expires: ' . gmdate('r', 0));

header('Content-type: application/json');


$to = 'mail.ru';

$subject = $_POST['subject'];

if($to) {
$name = $_POST['name'];
$email = $_POST['email'];

$fields = array(
0 => array(
'text' => 'Name',
'val' => $_POST['name']
),
1 => array(
'text' => 'Email address',
'val' => $_POST['email']
),
2 => array(
'text' => 'Message',
'val' => $_POST['message']
)
);

$message = "";

foreach($fields as $field) {
$message .= $field['text'].": " . htmlspecialchars($field['val'], ENT_QUOTES) . "<br>\n";
}

$headers = '';
$headers .= 'From: ' . $name . ' <' . $email . '>' . "\r\n";
$headers .= "Reply-To: " . $email . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

if (mail($to, $subject, $message, $headers)){
$arrResult = array ('response'=>'success');
} else{
$arrResult = array ('response'=>'error');
}

echo json_encode($arrResult);

} else {

$arrResult = array ('response'=>'error');
echo json_encode($arrResult);

}
?>

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 23.5.2014, 11:02; Ответить: kamchatniyoleg
Сообщение #6


[member=BLIK], вот держи . Теперь файл будет отправлять письмо только тогда - когда к нему приходят пост запросы .

<?php
if ($_POST) {
session_cache_limiter('nocache');
header('Expires: ' . gmdate('r', 0));

header('Content-type: application/json');


$to = 'mail.ru';

$subject = $_POST['subject'];

if($to) {
$name = $_POST['name'];
$email = $_POST['email'];

$fields = array(
0 => array(
'text' => 'Name',
'val' => $_POST['name']
),
1 => array(
'text' => 'Email address',
'val' => $_POST['email']
),
2 => array(
'text' => 'Message',
'val' => $_POST['message']
)
);

$message = "";

foreach($fields as $field) {
$message .= $field['text'].": " . htmlspecialchars($field['val'], ENT_QUOTES) . "<br>\n";
}

$headers = '';
$headers .= 'From: ' . $name . ' <' . $email . '>' . "\r\n";
$headers .= "Reply-To: " . $email . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

if (mail($to, $subject, $message, $headers)){
$arrResult = array ('response'=>'success');
} else{
$arrResult = array ('response'=>'error');
}

echo json_encode($arrResult);

} else {

$arrResult = array ('response'=>'error');
echo json_encode($arrResult);

}
}
?> 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
BLIK
BLIK
Topic Starter сообщение 23.5.2014, 19:39; Ответить: BLIK
Сообщение #7


[member=kamchatniyoleg],Спасибо все работает! И при запросе этого файла в браузере открывается белое окно! :) То что нужно! Тему можно закрывать. 


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
12 Boymaster 1845 Сегодня, 21:03
автор: MisterBit
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4811 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19711 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3103 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13656 31.3.2024, 12:44
автор: Boymaster


 



RSS Текстовая версия Сейчас: 19.4.2024, 21:40
Дизайн