@keren, ты тоже так и не ответил. Каким образом чел пароль в формочке входа на моём сайте может ввести не в той кодировке? Если бы кодировка была случайная, мы бы вообще кириллический ввод принимать не смогли.
Я отвечал, например он может скопировать, разные приложения, браузеры, кодировка не случайная но в юникоде некоторые символы могут отличаться, а так же вопросы корректной обработки.
@keren, Вот это сообщение я скопировал из файла в Windows 1251. Но ты его читаешь, потому что на сервер форума оно всё равно ушло в utf8
Ты реально не понимаешь, что если бы сообщение из этой формы ушло не в utf-8, ты бы его не прочитал? Соответственно, если бы у меня был кириллический пароль здесь, и я его бы хранил в файле в Windows-1251, то я бы всё равно имел возможность войти сюда копипастой. Об этом заботятся ОС и браузер.
@mkramer я тебе говорил про валидацию сервера, которая включает определение длинны, соответствие регулярке, обрезку, хеширование шифрование итп и это не имеет отношение к тому что ты говоришь.
Так я не в любой кодировке буду определять длину, регулярки ставить и т.п. Мне всегда будет приходить с моей формы пароль в одной и той же кодировке. Если пришёл в другой - значит клиент очень постарался зачем-то, значит я ему скажу: "Пароль неверный, иди в попу". А хешированию я передаю набор байт, получаю другой набор байт. Что-то кроме хеширования с паролем редко что-то имеет смысл делать.
Из твоих сообщений складывается впечатление, что ты ниасилил кириллицу и думаешь, что это что-то запредельное. Ты понимаешь, что описываешь проблемы, которых нет? Ну нет их. Чтобы ловить проблемы там, где ты их описываешь, нужно вчера родиться, и только сегодня IDE открыть. @romach вот описал вполне себе живой сценарий. Человек попытался прикинуть проблемы системы, а не проецировать свои личные затыки.
Приведу пример с моего опыта. В далеком прошлом, взламывая одну игру, массовый взлом аккаунтов, натыкался на спец символ "пробел и тире(низ/минус)". Так вот, отображались они как обычные символы... простой "тире, пробел и т.д.", но количество 1 и 0 в двоичном коде был совершенно разным. Я и так и сяк пробывал, просто ахуевал, не верно бляя!, пока не заглянул в информацию каждого байта. --- Добавлено --- 629 аккаунтов стали моими (с) От разработчиков - невозможно узнать вторичный номер каждого аккаунта игры. Да овощи... --- Добавлено --- на данный момент могу так же продолжить взламывать Twwk
и скажут - вон тот овощь сказал что ломал меня во сне, забаните его, накажите, комп отберите ! позязя!
Чтобы послать если пароль пришел в другой кодировке, вот варианты: 'текст' - utf8 'текст' - utf8 (без bom) 'текст' - utf16 be 'текст' - utf16 le
Человек, судя по всему, дальше хелловролда не зашел и принимает формы лишь в теории, слабо представляя, как работает браузер. Других вариантов, исключающих троллизм просто нет. --- Добавлено --- --- Добавлено --- Держи: http://sandbox.onlinephpfunctions.com/code/863f2083c6f1d679226e321afe4619e88cb39c69 И учи матчасть.
Никак. Я точно знаю, в какой кодировке мне пришлёт браузер пароль. Если бы дело касалось закачиваемых текстовых файлов, то там да,пришлось бы задуматься о кодировке. А прислать мне форму в правильной кодировке - забота браузера