PHP.SU

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

Страниц (3): « 1 [2] 3 »

> Найдено сообщений: 31
Jakeryf Отправлено: 08 Апреля, 2007 - 21:34:27 • Тема: Бродилка • Форум: Прочее

Ответов: 12
Просмотров: 139
Firebug
https://addons[dot]mozilla[dot]org/firefox/1843/
Web Developer
https://addons[dot]mozilla[dot]org/firefox/60/
Jakeryf Отправлено: 08 Апреля, 2007 - 21:27:28 • Тема: Бродилка • Форум: Прочее

Ответов: 12
Просмотров: 139
В основном пользуюсь FF, проверяю все верстку и скрипты в Opere и IE.
Предпочитаю Лису из-за плагинов типа Web Developer, Firebag и т. д.
Jakeryf Отправлено: 08 Апреля, 2007 - 21:22:24 • Тема: Немного RSA • Форум: Хранилище функций на JavaScript

Ответов: 9
Просмотров: 15569
Наслаждайтесь
PHP:
скопировать код в буфер обмена
  1.  
  2. <script>
  3. function sha1Hash(msg)
  4. {
  5.     // constants
  6.     var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];
  7.     // PREPROCESSING
  8.     msg += String.fromCharCode(0x80); // add trailing '1' bit to string
  9.     // convert string msg into 512-bit/16-integer blocks arrays of ints
  10.     var l = Math.ceil(msg.length/4) + 2;  // long enough to contain msg plus 2-word length
  11.     var N = Math.ceil(l/16);              // in N 16-int blocks
  12.     var M = new Array(N);
  13.     for (var i=0; i<N; i++) {
  14.         M[i] = new Array(16);
  15.         for (var j=0; j<16; j++) {  // encode 4 chars per integer, big-endian encoding
  16.             M[i][j] = (msg.charCodeAt(i*64+j*4)<<24) | (msg.charCodeAt(i*64+j*4+1)<<16) |
  17.                       (msg.charCodeAt(i*64+j*4+2)<<8) | (msg.charCodeAt(i*64+j*4+3));
  18.         }
  19.     }
  20.     // add length (in bits) into final pair of 32-bit integers (big-endian)
  21.  
  22.     M[N-1][14] = ((msg.length-1) >>> 30) * 8;
  23.  
  24.  
  25.     M[N-1][15] = ((msg.length-1)*8) & 0xffffffff;
  26.  
  27.     // set initial hash value
  28.  
  29.     var H0 = 0x67452301;
  30.     var H1 = 0xefcdab89;
  31.     var H2 = 0x98badcfe;
  32.     var H3 = 0x10325476;
  33.     var H4 = 0xc3d2e1f0;
  34.  
  35.     // HASH COMPUTATION
  36.  
  37.     var W = new Array(80); var a, b, c, d, e;
  38.     for (var i=0; i<N; i++) {
  39.  
  40.         // 1 - prepare message schedule 'W'
  41.         for (var t=0;  t<16; t++) W[t] = M[i][t];
  42.  
  43.         for (var t=16; t<80; t++) W[t] = ROTL(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16], 1);
  44.         // 2 - initialise five working variables a, b, c, d, e with previous hash value
  45.         a = H0; b = H1; c = H2; d = H3; e = H4;
  46.         // 3 - main loop
  47.         for (var t=0; t<80; t++) {
  48.             var s = Math.floor(t/20); // seq for blocks of 'f' functions and 'K' constants
  49.             var T = (ROTL(a,5) + f(s,b,c,d) + e + K[s] + W[t]) & 0xffffffff;
  50.             e = d;
  51.             d = c;
  52.             c = ROTL(b, 30);
  53.             b = a;
  54.             a = T;
  55.         }
  56.         // 4 - compute the new intermediate hash value
  57.         H0 = (H0+a) & 0xffffffff;  // note 'addition modulo 2^32'
  58.         H1 = (H1+b) & 0xffffffff;
  59.         H2 = (H2+c) & 0xffffffff;
  60.         H3 = (H3+d) & 0xffffffff;
  61.         H4 = (H4+e) & 0xffffffff;
  62.     }
  63.     return H0.toHexStr() + H1.toHexStr() + H2.toHexStr() + H3.toHexStr() + H4.toHexStr();
  64. }
  65.  
  66. //
  67. // function 'f'
  68. //
  69.  
  70.  
  71. function f(s, x, y, z)
  72. {
  73.     switch (s) {
  74.     case 0: return (x & y) ^ (~x & z);
  75.     case 1: return x ^ y ^ z;
  76.     case 2: return (x & y) ^ (x & z) ^ (y & z);
  77.     case 3: return x ^ y ^ z;
  78.     }
  79. }
  80. //
  81. // rotate left (circular left shift) value x by n positions
  82. //
  83.  
  84.  
  85. function ROTL(x, n)
  86. {
  87.     return (x<<n) | (x>>>(32-n));
  88. }
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95. Number.prototype.toHexStr = function()
  96. {
  97.     var s="", v;
  98.     for (var i=7; i>=0; i--) { v = (this>>>(i*4)) & 0xf; s += v.toString(16); }
  99.     return s;
  100. }
  101. </script>
  102.  
  103. <form name="f" action="none!">
  104.   <table>
  105.     <tr>
  106.       <td> </td>
  107.       <td colspan="2">Введите сообщение для получения SHA-1 хэш:</td>
  108.     </tr>
  109.     <tr>
  110.       <td>    </td>
  111.       <td>Сообщение:</td>
  112.       <td><input type="text" name="message" size="48" value="abc"></td>
  113.     </tr>
  114.     <tr>
  115.       <td> </td>
  116.       <td colspan="2"><input name="button" type="button"
  117.         onClick='f.hash.value = sha1Hash(f.message.value)' value="Генерировать"></td>
  118.     </tr>
  119.     <tr>
  120.       <td> </td>
  121.       <td>Хэш:</td>
  122.       <td><input type="text" name="hash" size="48" readonly></td>
  123.     </tr>
  124.     <tr valign="bottom">
  125.       <td> </td>
  126.       <td style="font-size: smaller"><i>хэш для ‘abc’ должен быть: </i></td>
  127.       <td style="font-size: smaller"><i>a9993e364706816aba3e25717850c26c9cd0d89d</i></td>
  128.     </tr>
  129.   </table>
  130. </form>
  131.  


Начну с конца.

К классу Number добавляется метод toHexStr, так как toString(16) возвращает строку со знаком числа.


Функция ROTL() осуществляет циклический сдвиг влево, >>> - сдвиг влево без сохранения знака числа.


Функция f() делает 4 различные логические операции со своими параметрами, ^ - исключающее ИЛИ.


Функция sha1Hash() преобразует исходную строку в двумерный массив из целых чисел M[i][j].
N - первая размерность массива. Вторая размерность - 16. Используется
big-endian - кодировка многобайтных чисел (В "big-endian" кодировке, наиболее значимый байт хранится по наименьшему адресу.
В "little-endian" наоборот. Например, число 1025 может хранится как 4-х байтовое целое:
00000000 00000000 00000100 00000001


Инициализируются 5 составляющих будущего хэша - H0, H1, H2, H3, H4. В цикле по N происходит "перетряска" этих переменных.
Для параметризации используются значения очередного блока из 16 чисел (срез исходной строки). В результате такой
"магии" получается почти уникальное значение хэша.
Jakeryf Отправлено: 08 Апреля, 2007 - 19:36:46 • Тема: Реализация списка пользователей для удаления. • Форум: Программирование на PHP

Ответов: 15
Просмотров: 1072
Есть у тебя n-ое кол-во чекбоксов с именами var1, var2, var3,..., varn с value="1"
ну и перебирай потом в форме циклом
for($i=1;$i<$kols;$i++) //$kols - кол-во пользователей
{
if($_POST['var'.$i] == 1)
{
//ну и делай с отмеченным пользователем что хочешь
}
}
Jakeryf Отправлено: 08 Апреля, 2007 - 19:20:29 • Тема: Нужна помощь!!! • Форум: Колонка администратора

Ответов: 24
Просмотров: 12641
DFX
Если все нормально, то сообщение, что у тебя в папке templates нет папки с указанным тобою шаблоном, не выскакивало бы
Jakeryf Отправлено: 08 Апреля, 2007 - 15:30:06 • Тема: 404 и подобное • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 639
kamikadze
дык для этого в корень и ложат, т. к. папки в которую ломиться юзер может и не существовать ))
Jakeryf Отправлено: 08 Апреля, 2007 - 15:25:36 • Тема: Нужна помощь!!! • Форум: Колонка администратора

Ответов: 24
Просмотров: 12641
открой файл data/boardinfo.php переменная $exbb['default_style']
посмотри есть ли в папке templates папка с названием значения переменной, регистр букв учитывается. Дальше действуй по обстоятельствам.
Jakeryf Отправлено: 08 Апреля, 2007 - 15:22:41 • Тема: 404 и подобное • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 639
создаешь в корне сайта файл .htaccess с содержанием
PHP:
скопировать код в буфер обмена
  1.  
  2. ErrorDocument 401
  3. http://yoursite.ru/index.php?page=error_401
  4. ErrorDocument 403
  5. http://yoursite.ru/index.php?page=error_403
  6. ErrorDocument 404
  7. http://yoursite.ru/index.php?page=error_404
  8. ErrorDocument 500
  9. http://yoursite.ru/index.php?page=error_500
  10.  


при соответствующей ошибке сервер будет посылать на страницу с сообщением об ошибке
Jakeryf Отправлено: 08 Апреля, 2007 - 09:17:26 • Тема: JavaScript и input • Форум: Прочее

Ответов: 3
Просмотров: 46
Есть поле
<input type="text" name="some" id="some" value="">

меняется
document.getElementById('some').value = 'your text';
Jakeryf Отправлено: 07 Апреля, 2007 - 22:29:17 • Тема: Редакторы PHP • Форум: Программное обеспечение

Ответов: 421
Просмотров: 254535
Я начинал PHP Expert Editor потом Svoi.NET сейчас Rapid PHP 2006
Jakeryf Отправлено: 22 Февраля, 2007 - 13:51:52 • Тема: Вопрос по форуму EXBB 1.9.3 • Форум: Колонка администратора

Ответов: 9
Просмотров: 5570
Есть мод "Группы пользователей" там возможна такая функция запрещения просмотра форумов какой либо группе.
Jakeryf Отправлено: 17 Февраля, 2007 - 17:35:18 • Тема: Защита кода • Форум: Программирование на PHP

Ответов: 8
Просмотров: 757
Zend Optimizer - является платным и не факт что он будет стоять на сервере где размещен скрипт.
Меня интересует возможно ли это сделать только средствами РНР, хотя бы какую-нибудь защиту от дурака.
Jakeryf Отправлено: 17 Февраля, 2007 - 16:40:42 • Тема: Защита кода • Форум: Программирование на PHP

Ответов: 8
Просмотров: 757
Меня интересует как можно защитить программный код. Чтобы при продажи разработки покупатель потом не мог вмешиваться в код и соответственно продавать.
Jakeryf Отправлено: 14 Февраля, 2007 - 14:01:27 • Тема: проверка GET параметра • Форум: Программирование на PHP

Ответов: 17
Просмотров: 6584
if(!$alp) //если не задан параметр
{

}else{

}

ЗЫ в вашем примере надо писать:
if($alp == '')
{

}
Jakeryf Отправлено: 10 Февраля, 2007 - 23:57:12 • Тема: ОООчень срочно нужна помосч! ГОРИТ ПРЯМ! • Форум: Программирование на PHP

Ответов: 3
Просмотров: 592
есть такая функция eval
в твоём случае
CODE (text):
скопировать код в буфер обмена
  1.  
  2. for ($i=1;$i<276;$i++)
  3. {
  4.   eval("*$rub[$i] = *$rub_$i;"); // * - обозначает обратный слеш, форум экранирует
  5.   if($rub[$i])
  6.   {
  7.     fputs ($c, "$in"); //отмечен ли rub_.$i-й чекбокс
  8.   }
  9. }
  10.  

Страниц (3): « 1 [2] 3 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB