Архив метки: PHP

PHP MongoDB — получаем _id только что созданной записи (MongoID)

Ситуация: мы хотим получить _id только что созданной нами записи. То есть, например, мы создали юзера и хотим знать айдишник, который MongoDB присвоила ему. Делается это очень просто:
Добавляем элемент:

$x = array(‘foo’ => ‘bar’);
$c->insert($x); 

Проверяем внутренности $x:

var_dump($x);
array(2) {
  [«_id»]=>
  object(MongoId)#2 (0) {
  }
  [«foo»]
  string(7) «bar» 

 

Таким образом, для того, чтобы узнать _id, достаточно вывести $x[‘_id’]

Автор: AlexWinner

PHP: Защита процесса авторизации от SQL-инъекций

Раньше, при разработки сайтов, никогда особо не акцентировал свое внимание на защиту от т.з. «SQL-инъекций». Что это такое думаю много говорить не стоит, просто процитирую, что об этом пишут на сайте php.net:

Принудительное внедрение вредоносных инструкций в SQL-запросы — методика, в которой взломщик создает или изменяет текущие SQL-запросы для работы со скрытыми данными, их изменения или даже выполнения опасных команд операционной системы на сервере базы данных. Атака выполняется на базе приложения, строящего SQL-запросы из пользовательского ввода и статических переменных.

Читать

Netbeans: подсветка синтаксиса при использовании файлов с нестандартным расширением

Если вы работаете с каким-то не стандартным расширением файлов (например, .ss — шаблоны SilverStripe), которого Netbeans «не знает», можно с легкостью настроить его на использование с правильной подсветкой синтаксиса.
Читать

Как настроить отправку почты средствами php-функции mail в Ubuntu?

Итак, задача: настроить на локальном сервере, под управлением ОС Ubuntu отправку почты стредствами php-функции mail().

1. Установка SendMail из репозитория Ubuntu

sudo apt-get install sendmail

2. Проверка работоспособность smtp-сервера при помощи коммандной строки и telnet-протокола

# telnet localhost smtp
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost6.localdomain6 ESMTP Sendmail 
8.14.3/8.14.3/Debian-9.2ubuntu1; Thu, 9 Dec 2010 15:31:17 +0200;
(No UCE/UBE) logging access from: localhost.localdomain(OK)-
localhost.localdomain [127.0.0.1]
HELO localhost
250 localhost6.localdomain6 Hello localhost.localdomain [127.0.0.1], 
pleased to meet you
MAIL FROM: no-reply@gmail.com
250 2.1.0 no-reply@gmail.com... Sender ok
RCPT TO: my_exist@gmail.com
250 2.1.5 my_exist@gmail.com... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
test message
.
250 2.0.0 oB9DVHsE004837 Message accepted for delivery

В результате выполнения последовательности комманд на указанный емейл (my_exist@gmail.com) должно прийти сообщение («test message»).

3. Настройка php.ini

gedit /etc/php5/apache2/php.ini

Находим и редактируем следующую строчку

sendmail_path = /usr/sbin/sendmail -t -i

4.  Проверка функции mail()

<?

echo  mail («my_exist@gmail.com»,«test message»,
«test message»
,«From:no-reply@gmail.com»);

?>

Настройка завершена

Автор: Sergiy Kamolov

Как скачать дамп базы данных имея доступ по ftp?

Столкнулся с задачей, когда доступ к файлам проекта открыт только по ftp, при этом база данных находиться на другом сервере и доступ к ней ограничен. Возник вопрос: возможно ли получить дамп базы имея доступ по ftp?

Ответ очень прост: “Всё возможно верующему” ( Евангелие от Марка 9:14-29)

Итак, что нам нужно будет сделать: Читать

Очистка текста от лишних html-тегов

С задачей очистки html от лишних тегов сталкиваются абсолютно все.

Первое, что приходит на ум, это использовать php-функцию strip_tags():

string strip_tags (string str [, string allowable_tags])

Читать