Скрыть реквизиты MySQL в скрипте (nginx, perl)

Модератор: Модераторы разделов

Ответить
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

Есть сайт работающий на Perl, содержимое находится в базе MySQL.
Реквизиты для доступа к базе прописываю в скриптах:

Код: Выделить всё

my $host = "host";
my $pass = 'mypass';
my $user = 'myuser';
my $db = "db";

Подскажите, пожалуйста, есть ли способ сокрытия этих данных?
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Скрыть реквизиты MySQL в скрипте

Сообщение Bizdelnick »

Сокрытия от кого?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

От злоумышленников :unsure:
Ведь если скачать этот файл

Код: Выделить всё

wget site.org/perl.pl

то видно будет реквизиты.
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрыть реквизиты MySQL в скрипте

Сообщение SLEDopit »

ReSeR писал(а):
13.12.2012 13:44
Ведь если скачать этот файл
Очевидно, веб-сервер должен быть настроен таким образом, дабы не отдавать .pl файлы plaintext'ом, во избежание подобных оказий.
Можно конечно хранить в каком-нибудь нехитро зашифрованном файле, но в любом случае, веб-сервер не должен позволять свободно скачивать н подобные файлы, ни файлы, которые извлекают/получают/работают с паролями, да и вообще код движка.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Скрыть реквизиты MySQL в скрипте

Сообщение Bizdelnick »

А зачем скрипту быть доступным для загрузки? Его место в cgi-bin.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

Bizdelnick писал(а):
13.12.2012 14:09
А зачем скрипту быть доступным для загрузки? Его место в cgi-bin.

Ну это я к примеру написал, а так он естественно находится в cgi-scripts.
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

SLEDopit писал(а):
13.12.2012 14:07
Очевидно, веб-сервер должен быть настроен таким образом, дабы не отдавать .pl файлы plaintext'ом, во избежание подобных оказий.
Можно конечно хранить в каком-нибудь нехитро зашифрованном файле, но в любом случае, веб-сервер не должен позволять свободно скачивать н подобные файлы, ни файлы, которые извлекают/получают/работают с паролями, да и вообще код движка.

Хостинг работает на nginx. Значит нужно .htaccess ковырять?
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрыть реквизиты MySQL в скрипте

Сообщение SLEDopit »

ReSeR писал(а):
13.12.2012 14:34
Значит нужно .htaccess ковырять?
А при чём здесь .htaccess? У вас за nginx'ом апач? Или всё же родной HttpPerlModule?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

Как мне можно это узнать?
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Скрыть реквизиты MySQL в скрипте

Сообщение Bizdelnick »

ReSeR писал(а):
13.12.2012 15:51
Как мне можно это узнать?

Покажите конфиг nginx'а, что ли.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

Я конечно могу попытаться, но разве хостеры выдают такую информацию клиентам?
зы: ой, я кажется забыл упомянуть, что сайт вертится на хостинге
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрыть реквизиты MySQL в скрипте

Сообщение SLEDopit »

Как всё сложно.
У меня 2 вопроса:
как вы планируете использовать свои pl скрипты?
вы пробовали скачать их по прямой ссылке с того места, где они должны лежать?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Скрыть реквизиты MySQL в скрипте

Сообщение Bizdelnick »

Почему бы не почитать для начала документацию хостинга?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

Корневая директория сайта и есть "cgi-scripts".
Работает он у меня так:
http://www.site/cgi-scripts/index.pl ->

Код: Выделить всё

подключаюсь к базе
вытаскиваю данные которые нужно отобразить
вывожу шаблон со вставленными в него полученными из базы данными


Скачивать пробовал, работает.
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Скрыть реквизиты MySQL в скрипте

Сообщение skeletor »

ReSeR писал(а):
13.12.2012 11:24
Есть сайт работающий на Perl, содержимое находится в базе MySQL.
Реквизиты для доступа к базе прописываю в скриптах:

Код: Выделить всё

my $host = "host";
my $pass = 'mypass';
my $user = 'myuser';
my $db = "db";

Подскажите, пожалуйста, есть ли способ сокрытия этих данных?

Да, писать туда хешь. А дальше налету раскодировать и передать в mysql. Или писать свой модуль для авторизации в mysql Или сделать из perl'a - бинарник (http://perlbin.sourceforge.net/perlbin-0.01.html)
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрыть реквизиты MySQL в скрипте

Сообщение SLEDopit »

ReSeR писал(а):
13.12.2012 17:11
Корневая директория сайта и есть "cgi-scripts".
Работает он у меня так:
http://www.site/cgi-scripts/index.pl ->

Код: Выделить всё

подключаюсь к базе
вытаскиваю данные которые нужно отобразить
вывожу шаблон со вставленными в него полученными из базы данными


Скачивать пробовал, работает.
Я правильно понимаю, что index.pl отдаёт по ссылке не код index.pl, а результат работы кода, а упомянутый выше perl.pl , в котором лежат все эти переменные, и который находится в той же директории, что и index.pl, по прямой ссылке отдаёт именно код, а не результат его работы?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

С индексной страницы есть линк "Статьи" (http://site/cgi-scripts/script.pl?category=15):

Код: Выделить всё

#!/usr/bin/perl -w
use 5.010;
use locale;
use strict;
use warnings;
use diagnostics;
use CGI qw(:all);
use CGI::Carp qw(fatalsToBrowser);
use CGI::WebOut;
use DBI;

my $host = "db.host"; my $pass = 'pass';
my $user = 'user'; my $db = "db";

my $dbh = DBI->connect( "dbi:mysql:$db:$host", "$user", "$pass" );
$dbh->do("SET NAMES 'utf8'");
my $sth = $dbh->prepare( "select text from item where name=$category" );
$sth->execute();
my @array = $sth->fetchrow_array();
И дальше вывожу шаблон кода HTML с данными из базы;
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрыть реквизиты MySQL в скрипте

Сообщение SLEDopit »

ReSeR писал(а):
13.12.2012 17:29
С индексной страницы есть линк "Статьи" (http://site/cgi-scripts/script.pl?category=15):
И что, по линку видны адреса/пароли/явки?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

нет, но ведь можно скачать себе этот файл

Код: Выделить всё

wget http://site/cgi-scripts/script.pl
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрыть реквизиты MySQL в скрипте

Сообщение SLEDopit »

ReSeR писал(а):
13.12.2012 19:11
нет, но ведь можно скачать себе этот файл
Ну вы попробуйте его так скачать и посмотрите что именно там скачивается.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

В скачанном файле только html-код. А разве никак нельзя выкачать исходный файл?
Может это у меня паранойя?
Бэкап - акт проявления трусости.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрыть реквизиты MySQL в скрипте

Сообщение SLEDopit »

ReSeR писал(а):
13.12.2012 19:19
Может это у меня паранойя?
Это не паранойя. Это полное непонимание принципов работы вашего рабочего окружения.
веб-сервер не будет давать вам скачать исходный код, он будет исполнять его. Если это известный ему, заранее определённый тип кода, разумеется. .c файлы он, вероятнее всего, будет отдавать plain-text'ом.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
ReSeR
Сообщения: 383
ОС: GNU Debian

Re: Скрыть реквизиты MySQL в скрипте

Сообщение ReSeR »

Спасибо, разъяснили.
Бэкап - акт проявления трусости.
Спасибо сказали:
Ответить