PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (289): « 1 2 3 4 [5] 6 7 8 9 ... » В конец

> Найдено сообщений: 4334
Champion Отправлено: 11 Июля, 2012 - 09:54:25 • Тема: Синтаксическая непонятность • Форум: Вопросы новичков

Ответов: 7
Просмотров: 334
ANY_EXISTATNT_OR_NOT_EXISTATN_CONSTANT_DOES_NOT_MATTER_WHAT_VALUE_IT_HAS:any_predefined_or_biultin_php_function();

Никто не сталкивался с таким синтаксисом? Происходит просто вызов функции (это просто функция, не метод какого-то класса). А вот что дает упоминает константы и двоеточия в начале - для меня загадка.
Champion Отправлено: 04 Июля, 2012 - 11:38:25 • Тема: проблема с htaccess • Форум: Регулярные выражения

Ответов: 1
Просмотров: 150
RewriteRule ^(.*)index.php $1 [R=301,L,QSA]

примерно так
Champion Отправлено: 25 Июня, 2012 - 19:23:30 • Тема: Опредение реального адреса • Форум: Работа с сетью

Ответов: 33
Просмотров: 4710
MisHel64 пишет:
Возвращаясь вот к этому. В ситуации, когда есть и CLIENT_IP и X_FORWARDED_FOR, и запрос проходил только через один прокси сервер, оба заголовка будут содержать один, и причем одинаковый IP. Вот при прохождении второго прокси, ситуация поменяется. В X_FORWARDED_FOR может быть дописан адрес первого прокси. Причем в зависимости от программы сервера в начало (сквид) или конец (мой случай). Вот вопрос, а будет ли перезаписан CLIENT_IP. Вот в чем вопрос то собственно. То, что он теоретически может быть перезаписан, я знаю. А вот практически?
Вот теперь я вижу совсем другой вопрос.
1. Он и клиентом(браузером / чем угодно) изначально может слаться какой угодно. Например, строка "розовый слоник".
2. Он может подменяться прокси сервером. И стираться. И Х_ФОРВАРДЕД тоже может.

MisHel64 пишет:
И по третей части. Подделать и обойти можно абсолютно все. Главное знать что обходить. А так как исходников в свободном доступе не будет, то знания эти придется добывать экспериментально.
Да ладно, принять http запрос и пернаправить его дальше и подправить что-то в заголовках - задача не особо сложная. Это на PHP на коленке делается без усилий.

Сложнее подделать REMOTE_ADDR - это не HTTP заголовок. Но вы знаете, что он дает адрес последнего узла. Остальное - не более, чем http заголовки, которыми пользоваться можно только для справки и доверять им стоит, но только как необязательно достоверному материалу.
Champion Отправлено: 25 Июня, 2012 - 19:04:07 • Тема: Поля в запросе. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 149
1. Не выбираются лишние поля - снижается трафик между сервером БД и PHP. Соответственно, нагрузка и время чтения.
2. Если перечислять поля, и нам случайно так повезет, что все перечисленные поля есть в индексе, то СУБД прочитает значения из индекса, не читая целые строки, а это приятно.
3. Видно, с какими данными работает код, идущий после запроса. Это бывает приятно, когда надо узнать, скажем, где используется такое-то поле, если замышляется пересматривание структуры таблиы или еще что-то.
4. Если несколько джойнящихся таблиц имеют столбцы с одинаковыми именами, то лучше перечислить эти столбцы, указав им алиасы. А чтобы не забыть один из них, нужно следовать привычке перечислять все.
5. Другие ошибки, которые можно по невнимательности допустить, не видя перед глазами столбцы.
Champion Отправлено: 25 Июня, 2012 - 17:00:05 • Тема: Опредение реального адреса • Форум: Работа с сетью

Ответов: 33
Просмотров: 4710
MisHel64 пишет:
Чиста по приколу, если не лень конечно. Напишите, что выведет скрипт, ссылку на который вы дали, в моем случает.
Посчитает, что Ваш ip - один x_forvarded_for (да, их там 2, выглядит глупо, но один из них наиболее вероятно ваш).
MisHel64 пишет:
Viper пишет:
HTTP_CLIENT_IP отсылаемый клиентом заголовок.
Не правда.
Взял я fiddler, отправил заголовок Client-Ip: pink elephant, угадайте, что я увидел в массиве $_SERVER.
Champion Отправлено: 25 Июня, 2012 - 15:12:30 • Тема: Опредение реального адреса • Форум: Работа с сетью

Ответов: 33
Просмотров: 4710
MisHel64 пишет:
Постов номер 2, 4, 8 вы не читали, а обвиняете меня во невменяемости?

Пост номер 2 я читал (это тот, что со ссылкой на параллельную тему?) - поэтому я в курсе, что Вам всё давно ответили и не пойму, чего нужно.
Пост №4:
MisHel64 пишет:
Еще один...
Не дал мне ни информации, ни повода для размышлений.
MisHel64 пишет:
Который всех желающих обсудить "не частный случай", читай сферического коня в вакууме, отсылает в более другое место.
Я обсудил частный случа: ваш Х_ФОРВАРДЕД_ФОР и ваш КЛИЕНТ_ИП. И сказал, где в этом случае наиболее вероятный ип клиента, где прокси. Если это не ответ на вопрос, то уточните вопрос.
Но я упомянул про общий случай - можете это упоминание не читать.


Или Вас возмущает то, что кроме ответа на вопрос, Вам упомянули что-то об общем случае?
Champion Отправлено: 25 Июня, 2012 - 14:07:54 • Тема: Опредение реального адреса • Форум: Работа с сетью

Ответов: 33
Просмотров: 4710
MisHel64, мне кажется, Вы не в себе. Вам ответили, откуда стоит брать адрес в Вашем частном случае и на сколько можно на него полагаться.
Какой вопрос остался неудовлетворен и почему?
(Добавление)
Код по ссылке смотрели?
Champion Отправлено: 25 Июня, 2012 - 14:00:21 • Тема: Опредение реального адреса • Форум: Работа с сетью

Ответов: 33
Просмотров: 4710
Может быть, это ответит на вопрос?
http://ru2.php.net/manual/en/lan...s.predefined.php , коммент со словами
It's possible for a HTTP client to spoof HTTP_X_FORWARDED_FOR, and set it to a fake IP number. It's more secure to use this code and log BOTH the ip and the proxy ip. и кусок кода после него.
Но на самом деле, на достоверность этих адресов сильно полагаться не стоит.
В частом случае, адреса установлены, если мы считаем, что они достоверны, то код выше дает нам айпишник и прокси.
Champion Отправлено: 24 Июня, 2012 - 21:38:40 • Тема: Регулярки, удаление пробелов • Форум: Вопросы новичков

Ответов: 12
Просмотров: 696
fdr21 пишет:
Очень интересно, можете кусок кода предоставить!?))

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $str = 'vnjfh "nkdjbvkf  fngjkbg kfjt" kjbndkfvb "dkjfb  bvkjbgkd  " dfbk';
  3.         $dst = '';
  4.         $inQuotes = 0;
  5.         for($i = 0, $cn = strlen($str); $i < $cn; ++$i) {
  6.                 $inQuotes ^= ($str[$i] === '"');
  7.                 $dst .= ($str[$i] !== ' ' || !$inQuotes) ? $str[$i] : '';
  8.         }
  9.         die($dst);
  10.        
Champion Отправлено: 23 Июня, 2012 - 21:32:20 • Тема: Регулярки, удаление пробелов • Форум: Вопросы новичков

Ответов: 12
Просмотров: 696
А почемму бы циклом не перегнать старую строку в новую писимвльно, считая по дороге кавычки и пропускач пробелы тогда, когда надо? Это, по-моему, самое простое, очевидное и унгиверсальное решение
Champion Отправлено: 18 Июня, 2012 - 13:00:45 • Тема: оптимизация запроса • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 43
Еще вариант - чтобы не создавать лишний индекс просто поменять порядок полей в UNIQUE KEY. Нужно site_id и to_widget_user_id поставить первыми. Это конечно если этот индекс специально так не оптимизирован под какие-то другие запросы
Champion Отправлено: 15 Июня, 2012 - 23:56:36 • Тема: Юмор • Форум: Юмор

Ответов: 187
Просмотров: 12184
Pavelbeginner пишет:
Креативный подход
Да, молодцы)
Champion Отправлено: 12 Июня, 2012 - 16:18:26 • Тема: Интересные задачи по SQL • Форум: SQL и Архитектура БД

Ответов: 25
Просмотров: 1740
EuGen пишет:
существует ли возможность при произвольных множествах строк одинаковой мощности соединять их "в порядке следования"
Есть еще один вариант без использования переменных:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2. case when itsfirst = 1 then t1.FIELD else t2.FIELD end,
  3. case when itsfirst = 0 then t1.FIELD else t2.FIELD end
  4. FROM (
  5. SELECT 1 itsfirst, t1.FIELD FROM t1
  6. UNION ALL
  7. SELECT 0, t2.FIELD FROM t2
  8. ) t
  9. CROSS JOIN (SELECT 1 n UNION ALL SELECT 0 n)x
  10. ORDER BY itsfirst, orderfield
Думаю, что благодаря сортировке они склеятся как надо.
Всего по одному чтению обеих таблиц.

UPD
Сторомозил, так конечно шахматы получатся. Надо сгруппировать по счетчику, а его нету
Champion Отправлено: 09 Июня, 2012 - 13:14:26 • Тема: Интересные задачи по SQL • Форум: SQL и Архитектура БД

Ответов: 25
Просмотров: 1740
Вот такой вариант номер один:
Спойлер (Отобразить)

group_concat / list / for xml path - есть практически везде, так что наверное им можно пользоваться. Количество юнионов зависит от количества строк, что не очень приятно. Хотя эту последовательность можно генерить. Вот такие минусы. Зато плюс: на моих данных (250 строк) Ваше решение выполняется 2.5с, а моё всего 0.167.

Вариант 2 - пронумеровать строки переменными и сджойнить (написал Мелкий).

Вариант 3 - пронумеровать подзапросом и также сджойнить. Сейчас напишу и померяю
(Добавление)
Спойлер (Отобразить)
А этот неожиданно выполнился за 0.016
(Добавление)
И за 5с на 2000 записей.
Champion Отправлено: 07 Июня, 2012 - 22:39:45 • Тема: Как быстрее всего освоить PHP? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 7869
Okula пишет:
Хорошо будет если ты за неделю освоишь хотябы синтаксис языка, и не будешь допускать синтаксических ошибок.
А вы не делаете синтаксических ошибок? У меня вот стаж 3,5 года и я их делаю иногда. Что в этом такого?

Страниц (289): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB