Перейти к содержимому



Как закрыть просмотр отдельного файла php в каталоге

#1

Поделиться сообщением #1



BLIK

BLIK
  • Супермодератор
  • 3 591 сообщений
  • Репутация: 765
0

Отправлено 23 Май 2014 - 08:25

Здравствуйте форумчане.
На сайте имеется контактная форма на php. Все файлы формы лежат в папке php. Сама папка скрыта для просмотра. Но проблема в том,  что если прописать в браузере такой путь
site.ru/php/contact-form.php
то форма обрабатывает и отсылает на почту пустое письмо.
 
Отсюда вопрос как закрыть этот файл от вызова его в браузере.
Пробовал в Htaccess  закрывать и папку и файл. Но когда закрываю в htaccess, то форма перестает работать и отправлять письма. Может кто знает, как закрыть простым пользователям доступ к файлу этому 
site.ru/php/contact-form.php

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

 
 

 

 

  • 0

Sign Up  bonus 100$ в фарма ПП Skype: cristina.rx2, ICQ: 676017111, Jabber: cristina.rx@jabb3r.org | Качественный хостинг



robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Php адрес текущей страницы
  2. Закрыть доступ к папкам на сервере
  3. Создание файла с помощью php
  4. Отображение каталога на html странице
  5. Помогите с сертификацией Битрикс

#2

Поделиться сообщением #2



kamchatniyoleg

kamchatniyoleg
  • Пользователь PRO
  • 1 178 сообщений
  • Репутация: 84

Отправлено 23 Май 2014 - 08:58

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

if ($_POST) {
    ....................
}

  • 0
Сервис электронного информирования клиентов PostTrail.ru
Отслеживание посылок Почты России в автоматическом режиме! Лояльность клиента - прибыль магазина!


#3

Поделиться сообщением #3



BLIK

BLIK
    Topic Starter
  • Супермодератор
  • 3 591 сообщений
  • Репутация: 765

Отправлено 23 Май 2014 - 09:05

Ну если бы я знал, то не задавал бы этот вопрос. По подробнее если можно? Что,где и куда..


  • 0

Sign Up  bonus 100$ в фарма ПП Skype: cristina.rx2, ICQ: 676017111, Jabber: cristina.rx@jabb3r.org | Качественный хостинг



#4

Поделиться сообщением #4



kamchatniyoleg

kamchatniyoleg
  • Пользователь PRO
  • 1 178 сообщений
  • Репутация: 84

Отправлено 23 Май 2014 - 09:13

BLIK, Да конечно можно скиньте мне файл  site.ru/php/contact-form.php


  • 0
Сервис электронного информирования клиентов PostTrail.ru
Отслеживание посылок Почты России в автоматическом режиме! Лояльность клиента - прибыль магазина!


#5

Поделиться сообщением #5



BLIK

BLIK
    Topic Starter
  • Супермодератор
  • 3 591 сообщений
  • Репутация: 765

Отправлено 23 Май 2014 - 09:15

Вот файл

<?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);

}
?>

  • 0

Sign Up  bonus 100$ в фарма ПП Skype: cristina.rx2, ICQ: 676017111, Jabber: cristina.rx@jabb3r.org | Качественный хостинг



#6

Поделиться сообщением #6



kamchatniyoleg

kamchatniyoleg
  • Пользователь PRO
  • 1 178 сообщений
  • Репутация: 84

Отправлено 23 Май 2014 - 10:02

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);

}
}
?> 

  • 1
Сервис электронного информирования клиентов PostTrail.ru
Отслеживание посылок Почты России в автоматическом режиме! Лояльность клиента - прибыль магазина!


#7

Поделиться сообщением #7



BLIK

BLIK
    Topic Starter
  • Супермодератор
  • 3 591 сообщений
  • Репутация: 765

Отправлено 23 Май 2014 - 18:39

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


  • 0

Sign Up  bonus 100$ в фарма ПП Skype: cristina.rx2, ICQ: 676017111, Jabber: cristina.rx@jabb3r.org | Качественный хостинг




Оформление форума – IPBSkins.ru