Вы смешиваете несколько вещей. Что fileData
делает (кажется, не используется)? И slice
это не правильный способ сделать это.
Вместо этого попробуйте:
function get_Data(csv) {
csv = csv.replace(/[\r\n]+/gi,"\n"); // reduce line endings into single LF chars
rows = csv.split("\n"); // split into array of rows
var result = [];
for (var i in rows) result.push(rows[i].split(",")); // split each row
return result;
}
(правка). Если вам нужны только последние X строк данных CSV, используйте:
function get_Data(csv,lastNumRows) { // get only the last <lastNumRows> rows
csv = csv.replace(/[\r\n]+/gi,"\n"); // reduce line endings into single LF chars
rows = csv.split("\n").slice(-lastNumRows); // split into array of rows
var result = [];
for (var i in rows) result.push(rows[i].split(",")); // split each row
return result;
}
Протест: Вы не можете препятствовать тому, чтобы пользователи грабили, но только помочь честным пользователям сделать правильную вещь.
Принятие Вас не хотят делать специальную сборку для каждого пользователя, тогда:
, Но, я повторяюсь: это не предотвратит пиратство
<час>, я недавно считал, что этот подход не является криптографически очень звуковым. Но это решение уже слабо (, поскольку само программное обеспечение должно включать секретный ключ где-нибудь ), таким образом, я не думаю, что это открытие делает недействительным решение насколько это идет.
Просто мысль я действительно должен упомянуть это, хотя; если Вы планируете получить что-то еще из этого, остерегаться.
Единственный способ сделать все, что Вы попросили, должно потребовать доступа в Интернет и проверки с сервером. Приложение должно регистрироваться к серверу с ключом, и затем необходимо сохранить детали сессии, как IP-адрес. Это будет препятствовать тому, чтобы ключ использовался на нескольких различных машинах. Это обычно не очень популярно у пользователей приложения, и если это не очень дорогое и сложное приложение, это не стоит того.
Вы могли просто иметь лицензионный ключ для приложения и затем проверить сторону клиента, если ключ хорош, но легко распределить этот ключ к другим пользователям, и с декомпилятором могут быть сгенерированы новые ключи.
Я использовал Crypkey в прошлом. Это - один из многих доступных.
можно только защитить программное обеспечение в какой-то степени с любой схемой лицензирования.
Помимо того, что было уже указано....
Любое использование приложений.NET по сути вскрываемы из-за проблем промежуточного языка. Простое дизассемблирование кода.NET откроет Ваш продукт для любого. Они могут легко обойти Ваше лицензирование кода в той точке.
Вы не можете даже использовать аппаратные значения для создания ключа больше. Виртуальные машины теперь позволяют кому-то создавать изображение 'лицензированной' машины и выполнять его на любой платформе, которую они выбирают.
, Если это - дорогое программное обеспечение, существуют другие решения. Если это не, просто мешайте достаточно случайному хакеру. И примите то, что будут нелицензированные копии там в конечном счете.
, Если Ваш продукт является сложным, свойственные проблемы поддержки будут, создают некоторую защиту для Вас.
При генерации ключа не забывайте связывать номер версии и номер сборки к строке, на которую Вы вычисляете хеш. Тем путем там не будет единственный ключ, который разблокировал все все, что Вы когда-либо выпускали.
после нахождения некоторых ключей или патчей, плавающих в astalavista.box.sk, Вы будете знать, что преуспели в том, чтобы делать что-то достаточно популярным, который кто-то потрудился взламывать. Радуйтесь!
Простой ответ - Какая схема Вы используете его, может быть взломан.
не наказывают честных клиентов с системой, предназначенной для предотвращения хакеров, поскольку хакеры взломают ее независимо.
А простой хешированный код, связанный с их электронной почтой или подобный, вероятно, достаточно хорош. Основанные на аппаратных средствах идентификаторы всегда становятся проблемой, когда люди должны переустановить или обновить аппаратные средства.
Хороший поток по проблеме: http://discuss.joelonsoftware.com/default.asp?biz.5.82298.34
Я не знаю, как тщательно продуманный Вы хотите добраться
, но я полагаю, что .NET может получить доступ к порядковому номеру жесткого диска.
у Вас могла быть программа, отправляют Вам это и что-то eles (как имя пользователя и MAC-адрес nic)
, Вы вычисляете код, базирующийся от этого, и посылаете им по электронной почте назад ключ.
они помешают им переключать машины после того, как у них будет ключ.