ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1281  
Старый 19.12.2007, 22:11
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от Helios  
varchar(8), varchar(16), varchar(20)
и прогоняй значения перед вставкой через mysql_escape_string(), она заэкранирует все спецсимволы, но мускул поймет все правильно

ЗЫ еще как вариант BLOB, но так как поле динамическое возникнут траблы с быстродействием
BLOB не пойдёт, но ведь и тип varchar имеет динамический размер?! мне надо чтоб хэш занимал в таблице ровно столько байт, сколько на него реально нужно...

Up: вопрос решён, символы экранирования не записываются в столбцы таблицы, размер остаётся верный, исп. тип Binary.

Последний раз редактировалось -=lebed=-; 19.12.2007 в 23:03..
 

  #1282  
Старый 19.12.2007, 22:18
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

varchar имеет фиксированный размер (не зря он в скобках указан=)).
Днамические поля - это TEXT, BLOB и производные
 

  #1283  
Старый 19.12.2007, 23:08
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Типы данных CHAR и VARCHAR очень схожи между собой, но различаются по способам их хранения и извлечения.

В столбце типа CHAR длина поля постоянна и задается при создании таблицы. Эта длина может принимать любое значение между 1 и 255 (что же касается версии MySQL 3.23, то в ней длина столбца CHAR может быть от 0 до 255). Величины типа CHAR при хранении дополняются справа пробелами до заданной длины. Эти концевые пробелы удаляются при извлечении хранимых величин.

Величины в столбцах VARCHAR представляют собой строки переменной длины. Так же как и для столбцов CHAR, можно задать столбец VARCHAR любой длины между 1 и 255. Однако, в противоположность CHAR, при хранении величин типа VARCHAR используется только то количество символов, которое необходимо, плюс один байт для записи длины. Хранимые величины пробелами не дополняются, наоборот, концевые пробелы при хранении удаляются (описанный процесс удаления пробелов отличается от предусмотренного спецификацией ANSI SQL).
http://www.phpclub.ru/mysql/doc/char.html - врут?
 

  #1284  
Старый 19.12.2007, 23:24
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

Ну мы немного не о том говорили.

В чем разница между статическими типами и динамическими и откуда тормоза?

При построении таблицы выборки MySQL должен узнать размеры памяти, которую необходимо выделить под определенный столбец.

При использовании статических типов эта величина заранее известна из описания структуры и каждый раз не перепроверяется.

При мспользовании динамических полей заранее неизвестна длина самого большого поля в строке, поэтому мусткулу приходится "пробежаться" по всем значениям, дабы узнать максимальную длину и выделить соответсятвующий объем памяти для каждой ячейки в столбце.

Вот это время и есть критично.

Разница между char и varchar:
При построении таблицы выборки для char(N) и для varchar(N) выделяется равный размер памяти, который берется из описания структуры таблицы.
Разница этих типов в представлении данных таблицы на диске: varchar займет меньше места на диске, т.к.
Цитата:
используется только то количество символов, которое необходимо, плюс один байт для записи длины.
Но если у тебя в базе длины всех значений в столбце одинаковы, то разницы между char и varchar ты никакой не увидишь.
 

  #1285  
Старый 20.12.2007, 01:08
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от Helios  
Ну мы немного не о том говорили.

В чем разница между статическими типами и динамическими и откуда тормоза?

При построении таблицы выборки MySQL должен узнать размеры памяти, которую необходимо выделить под определенный столбец.

При использовании статических типов эта величина заранее известна из описания структуры и каждый раз не перепроверяется.

При мспользовании динамических полей заранее неизвестна длина самого большого поля в строке, поэтому мусткулу приходится "пробежаться" по всем значениям, дабы узнать максимальную длину и выделить соответсятвующий объем памяти для каждой ячейки в столбце.

Вот это время и есть критично.

Разница между char и varchar:
При построении таблицы выборки для char(N) и для varchar(N) выделяется равный размер памяти, который берется из описания структуры таблицы.
Разница этих типов в представлении данных таблицы на диске: varchar займет меньше места на диске, т.к.

Но если у тебя в базе длины всех значений в столбце одинаковы, то разницы между char и varchar ты никакой не увидишь.
Всё, разобрался! поставил тип varbinary(32) на поле пароль (так phpMyadmin отображает). Тормозов быть не должно...
 

  #1286  
Старый 20.12.2007, 01:47
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


Отправить сообщение для Scipio с помощью ICQ
По умолчанию

Цитата:
Сообщение от -=lebed=-  
Вот сделал функцию для распознавания типа хэша (пока только 4, точнее 3, так как хэши MySQL5 и SHA-1 неотличимы).
PHP код:
 function type_hash($string

if (
ereg('^([a-fA-F0-9]{16})$'$string)) return 1// MySQL
if (ereg('^([a-fA-F0-9]{32})$'$string)) return 2// MD5
if (ereg('^([a-fA-F0-9]{40})$'$string)) return 3// MySQL5 или SHA-1
return 0// неизвестен

1.Как сделать тоже самое, используя функцию preg_match?

2. Помогите с регулярками для определения типов хэшей:
DES (пример:HlXOX8MN5z4X6),
MD5 (Unix) $1$$uqbusDeGY2YWqg.T2S1100
MD5(APR) $apr1$$kRqAZHnuzcwDL84Mm7oc1.
MD5(Base64) Gh3JHJBzJcaScd3wyUS8cg==
SHA-1 (Base64) NU4eI71bcnBGqeO0t9tXvY1u5oQ=

для MD5(Base64) и SHA-1 (Base64) даже придумывать ничего не надо поидее:

PHP код:
 function type_hash($string

if (
ereg('^([a-fA-F0-9]{16})$'$string)) return 1// MySQL
if (ereg('^([a-fA-F0-9]{32})$'$string)) return 2// MD5
if (ereg('^([a-fA-F0-9]{40})$'$string)) return 3// MySQL5 или SHA-1
if (ereg('^([a-fA-F0-9]{32})$'base64_decode($string))) return 4;// MD5(Base64)
if (ereg('^([a-fA-F0-9]{40})$',  base64_decode($string))) return 5//SHA-1 (Base64)
return 0// неизвестен

__________________
Карфаген должен быть разрушен...
 

  #1287  
Старый 20.12.2007, 08:38
Theraphy
Новичок
Регистрация: 26.08.2007
Сообщений: 13
Провел на форуме:
71034

Репутация: 5
По умолчанию

Здравствуйте,
можете подсказать решение данного вопроса,мне интересно такое как:

1) Скрипт вычисления айпи

2) Скрипт вычисления айпи+город,тоесть в одной игре в инфе у каждого человека АВТОМАТИЧЕСКИ пишется его город по его айпи и т.д,например

Реальное местонахождение: Russian Federation (Yuzhno-Sakhalinsk
 

  #1288  
Старый 20.12.2007, 09:05
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

Цитата:
Сообщение от Theraphy  
Здравствуйте,
можете подсказать решение данного вопроса,мне интересно такое как:

1) Скрипт вычисления айпи

2) Скрипт вычисления айпи+город,тоесть в одной игре в инфе у каждого человека АВТОМАТИЧЕСКИ пишется его город по его айпи и т.д,например

Реальное местонахождение: Russian Federation (Yuzhno-Sakhalinsk
ну вот скрипт вычесления:
PHP код:
<?php
 
echo $_SERVER['REMOTE_ADDR'];
 
?>
а с городом даже не знаю как сделать...можно обращаться к камоу-нить cmyip...

Последний раз редактировалось scrat; 20.12.2007 в 09:07..
 

  #1289  
Старый 20.12.2007, 09:18
XopoIII
Постоянный
Регистрация: 29.10.2007
Сообщений: 381
Провел на форуме:
651930

Репутация: 65
По умолчанию

Цитата:
Сообщение от Theraphy  
Здравствуйте,
можете подсказать решение данного вопроса,мне интересно такое как:

2) Скрипт вычисления айпи+город,тоесть в одной игре в инфе у каждого человека АВТОМАТИЧЕСКИ пишется его город по его айпи и т.д,например

Реальное местонахождение: Russian Federation (Yuzhno-Sakhalinsk
это вычисляется через GeoIP я выкладывал ссылки для установки, вот еще раз.

http://www.maxmind.com/download/geoi...iteCity.dat.gz - это сама база(городов)

http://www.maxmind.com/app/installation?city=1 - это как устанавливать

http://www.maxmind.com/app/city#api - вот тут ихнее API чтобы работать с базой

http://www.maxmind.com/download/geoip/api/php/ - тут руководство и скрипты для работы с базой на ПХП
 

  #1290  
Старый 20.12.2007, 20:39
orcismylife
Познающий
Регистрация: 01.10.2007
Сообщений: 40
Провел на форуме:
172670

Репутация: 15
По умолчанию

Можно ли при отсылке множества форм автоматически заполнять этот раздел?

Код:
<form name=abc action="" method="post" enctype="multipart/form-data" name="upload">
Файл:
<input type="file" />
<input type="submit" name="Submit" value="Загрузить файл" />
</form>
Вроде на value='.$file.', ни подобные вещи не помогают...

Как автоматически вставлять значение в это поле?
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ