Помощник
|
hashString, как им пользоваться? |
nick777
|
Сообщение
#1
|
||
|
|
||
|
|||
proXBOCT |
23.7.2011, 13:12;
Ответить: proXBOCT
Сообщение
#2
|
|
В пхп есть функция md5
Если это разовая необходимость, то можно воспользоваться сервисами: http://www.md5.cz/ http://md5x.ru/ -------------------- |
|
|
x64 |
23.7.2011, 13:14;
Ответить: x64
Сообщение
#3
|
|
хеширование и кодирование разные понятия. для кодирования, в конечном итоге, применяется декодирование. суть хеширования — получение строки фиксированной длины, т. е. однозначно из него восстановить строку-источник невозможно.
|
|
|
nick777
|
Сообщение
#4
|
|
В пхп есть функция md5 Если это разовая необходимость, то можно воспользоваться сервисами: http://www.md5.cz/ http://md5x.ru/ я хочу с помощью него прятать часто повторяющийся контент от ПС. Попробовал добавить в запись такой код: <span hashString="608333adc72f545078ede3aad71bfe74" hashType="content"></span> * должно отобразиться "привет" Но ничего не отображается, просто пустое место. -------------------- |
|
|
proXBOCT |
23.7.2011, 13:44;
Ответить: proXBOCT
Сообщение
#5
|
|
Это вы статейку на мауле прочитали?
Это работает следующим образом: 1) Строится хмтл файл, в котором нежелательные ссылки прячутся так, как описали вы 2) Яваскрипт находит в этом документе все такие закодированные ссылки 3) Яваскрипт распознаёт что за текст закодирован и вставляет на месте закодированной строки - нормальную -------------------- |
|
|
nick777
|
Сообщение
#6
|
|
Это вы статейку на мауле прочитали? Да, кейс второй. Это работает следующим образом: 1) Строится хмтл файл, в котором нежелательные ссылки прячутся так, как описали вы 2) Яваскрипт находит в этом документе все такие закодированные ссылки 3) Яваскрипт распознаёт что за текст закодирован и вставляет на месте закодированной строки - нормальную жалко я в javascript'е вообще почти ничего не понимаю (не изучал еще), пожалуйста, можешь ссылки на материалы по данной теме дать? (как это все организовать) -------------------- |
|
|
dan1 |
23.7.2011, 14:07;
Ответить: dan1
Сообщение
#7
|
|
Могу ещё добавить... для каждой страницы нужно генерить собтвенный JS содержащий хеши URLов, ведь если все ссылки копирнуть с сайта в один JS, то всё будет грузиться очень долго.
Пример сгенерированного JS у викимарт: http://img.wikimart.ru/img/tmp/js_dynamics...886dcf2f3eb0.js. Заметьте, что хеши указывают не на прямой URL, а на закодированный с помощью base64 URL. Причём таким образом скрываются не только ссылки, но и контент Сообщение отредактировал dan1 - 23.7.2011, 14:09 |
|
|
nick777
|
Сообщение
#8
|
|
Могу ещё добавить... для каждой страницы нужно генерить собтвенный JS содержащий хеши URLов, ведь если все ссылки копирнуть с сайта в один JS, то всё будет грузиться очень долго. Пример сгенерированного JS у викимарт: http://img.wikimart.ru/img/tmp/js_dynamics...886dcf2f3eb0.js. Заметьте, что хеши указывают не на прямой URL, а на закодированный с помощью base64 URL. Причём таким образом скрываются не только ссылки, но и контент спасибо за ссылку на javascript файл. Плохо, что base64 кодировать надо, ведь если это делать автоматом, то еще немного подгруживать будет сайт это дело... ладно, посмотрим, поэкспериментируем... алгоритм вроде бы понял. в том файле seoContent['376a48e7f857db89665890d6364c0ccc'] =, значит, что то, что будет идти после знака равно - это закодированный контент. а ему будет соответствовать <span hashString="376a48e7f857db89665890d6364c0ccc" hashType="content"></span> Сообщение отредактировал nick777 - 23.7.2011, 14:15 -------------------- |
|
|
dan1 |
23.7.2011, 14:17;
Ответить: dan1
Сообщение
#9
|
|
В base64 кодировать не обязательно, но видимо викимартовцы решили использовать дополнительную защиту. Кстати декодер с base64 у них тоже встроен в js файл, так что операции по раскодированию текстов и ссылок происходят на стороне клиента.
... seoHrefs['dbd63699b5e0cec85b41209a7588ccdd'] = 'aHR0cDovL3dpa2ltYXJ0LnJ1L2hlbHAvZGVsaXZlcnkv'; seoHrefs['08bd7dcedb0220caaf9355ae810617d8'] = 'aHR0cDovL3dpa2ltYXJ0LnJ1L2hlbHAvbGVnYWwv'; seoHrefs['53baa324e1b12203361ca070f1b8d5ac'] = 'aHR0cDovL3dpa2ltYXJ0LnJ1L2hlbHAvb3Blbl9lc2hvcC8='; seoHrefs['5a28aaaa95c9c4c6c7e1df709ddd5cba'] = 'aHR0cDovL3dpa2ltYXJ0LnJ1L2hlbHAv'; seoHrefs['bdba6a58a18df2632b8a157b280ef81b'] = 'aHR0cDovL3Blb3BsZS53aWtpbWFydC5ydS8='; seoHrefs['03dc91bf7f243ededd06f5f5ff4b7374'] = 'aHR0cDovL3dpa2ltYXJ0LnJ1L2hlbHAvY29udGFjdC8='; seoHrefs['15fcb011d7eebbc6b2000d4542f96e1b'] = 'aHR0cDovL3dpa2ltYXJ0LnJ1L3N0YXRpYy91c2VyX2FncmVlbWVudC8='; seoHrefs['7d45e155340ca35f15f052e15026580e'] = 'aHR0cDovL3dpa2ltYXJ0LnJ1L3N0YXRpYy9vZmVydGEv'; seoHrefs['30ad7a08ad21f7ee7bb911d9d2a016a2'] = 'aHR0cDovL3J1LWNvdXJpZXIucnUv'; seoHrefs['9f7194ed980d365b1f8750a4764e1e27'] = 'aHR0cDovL3J1LWNvdXJpZXIucnU='; ... Это обычное обявление массива. А вот код который отвечает за считывание атрибута hashstring и передачу в href ссылки: $('[hashString]').each(function(){
var key = $(this).attr("hashString"); if($(this).attr("hashType") == 'href'){ // if(typeof(seoHrefs[key]) == "string"){ $(this).attr('href', Base64.decode(seoHrefs[key])); // } } else{ // if(typeof(seoContent[key]) == "string"){ var content = Base64.decode(seoContent[key]); $(this).replaceWith(content); // } } }); $(document).trigger( "renderpage.finish"); Сообщение отредактировал dan1 - 23.7.2011, 14:21 |
|
|
kronos |
23.7.2011, 14:48;
Ответить: kronos
Сообщение
#10
|
|
Кто бы написал наконец SEO адаптированную CMS, с такими фишками? Ну или хотя бы чтобы дублей не было и тайтл можно было задавать ?
-------------------- |
|
|
|
Текстовая версия | Сейчас: 20.4.2024, 6:50 |