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


Пользователь месяца
ShowPrint ShowPrint 1-й за Сентябрь
Очков активности: 283 2 темы, 21 сообщение, 7 баллов репутации
Сайт: ShowPrint.ru
ТОП самых активных за этот месяц
  • Фотография Medvedoc
    #1

    Medvedoc
    Очков активности: 510 9 тем, 58 сообщений, 4 балла репутации

  • Фотография ShowPrint
    #2

    ShowPrint (ShowPrint.ru)
    Очков активности: 312 Вне конкурса за определение пользователя месяца

  • Фотография Ixman
    #3

    Ixman (o5cat.ru)
    Очков активности: 216 0 тем, 24 сообщения, 6 баллов репутации

  • Фотография BLIK
    #4

    BLIK
    Очков активности: 210 Вне конкурса за определение пользователя месяца

  • Фотография WGN
    #5

    WGN (worldgamenews.com)
    Очков активности: 180 Вне конкурса за определение пользователя месяца

  • Фотография Игорь Ку
    #6

    Игорь Ку (dudesday.ru)
    Очков активности: 126 4 темы, 9 сообщений, 4 балла репутации

  • Фотография Алексей111
    #7

    Алексей111 (xvideo24.ru)
    Очков активности: 66 8 тем, 20 сообщений, 1 балл репутации

  • Фотография yuran
    #8

    yuran (yurbol.ru)
    Очков активности: 39 1 тема, 23 сообщения, 1 балл репутации

  • Фотография Zevss
    #9

    Zevss (domles43.ru)
    Очков активности: 22.5 2 темы, 9 сообщений, 1 балл репутации

  • Фотография falka
    #10

    falka (mygoodjob.ru)
    Очков активности: 16.5 3 темы, 2 сообщения, 1 балл репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 26.09.2018
  • Яндекс выдача: 20.10.2018
Топ 5 участников по репутации


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

#1 BLIK

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

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

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

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

 
 

 

 

  • 0

Качественный хостинг   Тут может быть ваша ссылка?



#2 kamchatniyoleg

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

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

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

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

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


#3 BLIK

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

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

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


  • 0

Качественный хостинг   Тут может быть ваша ссылка?



#4 kamchatniyoleg

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

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

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


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


#5 BLIK

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

Отправлено 23 May 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

Качественный хостинг   Тут может быть ваша ссылка?



#6 kamchatniyoleg

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

Отправлено 23 May 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 BLIK

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

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

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


  • 0

Качественный хостинг   Тут может быть ваша ссылка?





Похожие темы

  Название темы Автор Статистика Последнее сообщение

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