Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
D1ma пишет:
если не сложно ,пример, пожалуйста
По поводу isset, допустим ты полагаешься на то, что в форме всеравно все эти элементы есть и никуда они не денутся, поэтому проверку ты не делаешь. Теперь какой-нибудь злодей ( обычно я так делаю ) возьмет и какое-нибудь поле удалит =) Как?!? FireBug к примеру!! Вряд ли это конечно нанесет существенный урон, помимо вызова ошибки, хотя все зависит от скрипта.
Ну empty тут и говорить нечего, взять в пример хотя бы поле ввода пароля
----- армия.. самое убогое место
D1ma
Отправлено: 10 Июля, 2010 - 22:51:07
Новичок
Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010
Помог: 0 раз(а)
скажите пожалуйста,такой вариант будет правильным?
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
D1ma пишет:
movEAX, спасибо,а по чему одинарные кавычки ?
Ну во первых если в тексте случайно будет нечто $var, то оно так и останется $var, в отличие, от двойных кавычек. Т.е. безопасность.
Во-вторых, при использовании регулярнызх выражений меньше мучится с экранированием придется (открою секрет на будущее, в регулярках вместо / можно использовать любой другой символ).
В-третьих, это хороший тон в плане программирования на php
В-четвертых, гугль скажет за меня =)
ps: советую почитать Expert php5 Tools, там есть ответы на вопросы: "Зачем?", "Как?" и "Почему?". Правда книжка на английском.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
movEAX пишет:
Ну во первых если в тексте случайно будет нечто $var, то оно так и останется $var, в отличие, от двойных кавычек. Т.е. безопасность.
То есть вы считаете что механизм интерполяции данных в строку с двойными кавычками является небезопасным - конечно его можно считать более медленным но безопасность зависит от предварительной проверки и экранирования интерполируемых данных Помимо прочего строки с двойными кавычками поддерживают удобное использования последовательностей \n и ей подобных - в то время как в строках с одиночными кавычками их приходится вставлять как соответствующей символьные константы в исходном PHP-коде
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
movEAX
Отправлено: 12 Июля, 2010 - 15:25:21
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
JustUserR пишет:
То есть вы считаете что механизм интерполяции данных в строку с двойными кавычками является небезопасным
Это скорее характерно для новичков. Что им мешает написать такое (хоть и маловероятно)?
По счет скорости Вы правы, и это еще одна мотивация использовать одинарные кавычки.
----- армия.. самое убогое место
JustUserR
Отправлено: 12 Июля, 2010 - 21:19:31
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
movEAX пишет:
Это скорее характерно для новичков. Что им мешает написать такое (хоть и маловероятно)?
По многим критериям я соглашусь с вами особенно в плане регулярных выражений - ведь в PHP в отличие от языков Perl и JS константы шаблонов регулярных выражений не являются особым типом и хранятся в обычных строковых константах - а это добавляет один уровень экранирования по строковым символам что при использовании дополнительных двойных кавычек может быть неочевидно для восприятия Тем не менее если следовать C/C++-синтаксису то двойные кавычки для обрамления строк воспринимаются гораздо лучше - одиночные кавычки в свою очередь хорошо подходят по смыслу для обрамления ключей хеш-массивов который мысленно можно воспринимать как единый индекс
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
D1ma
Отправлено: 22 Июля, 2010 - 22:59:22
Новичок
Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.