scriptaculos update

en son geçen hafta 1.5 den 1.6 ya almışdım scriptaculos u ve site hata vermeye başlamışdı ben draggable objesi kullanıyordum tanımsız manımsız diye ağlıo. kurcalarken kurcalarken buldum.

scriptaculos u head tagına koymak gerekiomuş yoksa patlarmış. ama hack mevcut 49. satırdaki “$$(‘head script[src]’)” satırını “$$(‘script[src]’)” yapıyorsunuz tatlıya bağlanıyor body dede script tagıyla yükleyebilinio.

sftp get directory

f4l nin drupalinde bi problem var ayarlarını kurcalamam lazım ama ben login olmayalı o kadar olmuşki sourceforge da şekil değiştirmiş. birincisi shell.sf.net kullanılamıyor web.sf.net kullanılıyor. isteyen shell alanıda oluşturailio ama özünde ona ihtiyacım yok sadece biraz kurcalancam. vel hasılı

sftp kullaniciadi,projeadi@web.sf.net

deyip web alanıma ulaştım herzamanki gibi herşey dağınık sftp den okuma yapılamıo bunları alim dedim kendime lokalde bakarım tek tek olmuyor. bir bir getlde bitmedi. sftp ile karşıya bağlanıp dizin alma şansımız yok o sebeple scp kullanılıyormuş.

scp -r kullaniciadi,projeadi@web.sf.net:htdocs f4l

bakalım eski drupalin derdini çözebilcezmi 🙂

erkek cinsel organ bant genişliği :)

öğleden sonra takılıom sakin sakin timu yolladı bu muhabbeti kopdum 🙂

<hypnosis> 1. The human cell contains 75 MB of genetic information
<hypnosis> 2. A sperm 37.5 MB.
<hypnosis> 3. In a milliliter, we have 100 million sperms.
<hypnosis> On average, one ejaculation releases 2.25 ml in 5 seconds.
<hypnosis> Using basic math we can compute the bandwidth of the human male penis as:
<hypnosis> (37.5MB x 100M x 2.25)/5 = (37,500,000 bytes/sperm x 100,000,000 sperm/ml x 2.25 ml) / 5 seconds = 1,687,500,000,000,000 bytes/sec = 1,687.5 TerraBytes/sec
<Jck_true> Sweet
<Jck_true> DoS attack!!!
<hypnosis> a bukkake would probably be a DDoS then
<hypnosis> 11 men would give 17 petabytes/sec
Comment: ##programming on FreeNode

uzun zamandır freenode da takılmıom özlemişim walla kopdum.

Analytics ve Subdomain

google analytics kullanıyor ve bi şekilde subdomainli bi siteniz var ve sub domainlerinizin ne kadar trafik yaptığını görmek istiyorsanız. birincisi analytics kodunu değiştirceksiniz. bu kod analytic’sin son versiyon

var pageTracker = _gat._getTracker(“UA-77642-21”);
pageTracker._setDomainName(“.site.com”);
pageTracker._trackPageview();

site.com yazan yere kendi domaininizi ekleyin analytics kodunuzda. bunu bi kaç gün önce yaptım ama uzun süredir kullandığım analytics arayüzünde bunu görcek yeri bilmiodum bugün onuda öğrendim

Visitors > Network Properties > Hostnames

altına gidiosunuz ve sub domainler orda.

PBE – Eveet yine hiç anlamadığım konuda iki satır yazdım hoşuma gitti

PBE password based encryption demek. bu ne demek şifreli şifreleme metodu. yani “abc” diye bi stringimiz var biz bunu şifrelemek istiyoruz ve kendimiza ait bi şifreyle bunu yapmak istiyoruz. mesele “123” e göre şifrelencek. neyse daha önceki yazımda jasypt ve javasından bahsetmiştim. decrytpinide yaptım koyim bi yerde dursun dedim hoşuma gitti şukadarcık kod cirlop gibide çalışıo.

using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;

namespace StandardPBEStringEncryptor
{
public static class CryptoLib
{
public static string EncryptId(string ID)
{
string result = "";
ID = "abc" + ID + "xyz";
byte[] salt = new byte[8];

RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetBytes(salt);

System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
PKCSKeyGenerator kp = new PKCSKeyGenerator();
ICryptoTransform crypt = kp.Generate(
"kunteper",
salt,
1000,
1);

byte[] sonuc = crypt.TransformFinalBlock(encoding.GetBytes(ID), 0, encoding.GetBytes(ID).Length);

foreach (byte item in salt)
{
result += item.ToString("X2");
}
foreach (byte item in sonuc)
{
result += item.ToString("X2");
}
return result;
}
public static byte[] fromHexadecimal(String message)
{
if (message == null)
{
return null;
}
if ((message.Length % 2) != 0)
{
throw new Exception("bu iş olmaz mesaj bozuk");
}
try
{
byte[] result = new byte[message.Length / 2];
for (int i = 0; i < message.Length; i = i + 2)
{
int first = Convert.ToInt32("" + message[i], 16);
int second = Convert.ToInt32("" + message[i + 1], 16);
result[i / 2] = (byte)(0x0 + ((first & 0xff) << 4) + (second & 0xff));
}
return result;
}
catch (Exception e)
{
throw e;
}
}
public static string DecryptId(string ID)
{
byte[] pnlContent = fromHexadecimal(ID);
byte[] salt = new byte[8];
byte[] encryptedMessageKernel = new byte[24];
Array.Copy(pnlContent, salt, 8);
Array.Copy(pnlContent, 8, encryptedMessageKernel, 0, 24);

PKCSKeyGenerator kp = new PKCSKeyGenerator();
ICryptoTransform crypt = kp.Generate(
"kunteper"
, salt
, 1000
, 1);

byte[] sonuc = kp.Decryptor.TransformFinalBlock(encryptedMessageKernel, 0, encryptedMessageKernel.Length);
return Encoding.ASCII.GetString(sonuc).Replace("abc","").Replace("xyz","");
}
}

public class PKCSKeyGenerator
{
byte[] key = new byte[8], iv = new byte[8];
DESCryptoServiceProvider des = new DESCryptoServiceProvider();

public byte[] Key { get { return key; } }
public byte[] IV { get { return iv; } }
public ICryptoTransform Encryptor { get { return des.CreateEncryptor(key, iv); } }
public ICryptoTransform Decryptor { get { return des.CreateDecryptor(key, iv); } }

public PKCSKeyGenerator() { }
public PKCSKeyGenerator(String keystring, byte[] salt, int md5iterations, int segments)
{
Generate(keystring, salt, md5iterations, segments);
}

public ICryptoTransform Generate(String keystring, byte[] salt, int md5iterations, int segments)
{
int HASHLENGTH = 16;
byte[] keymaterial = new byte[HASHLENGTH * segments];
byte[] psbytes;
psbytes = Encoding.UTF8.GetBytes(keystring);

byte[] data00 = new byte[psbytes.Length + salt.Length];
Array.Copy(psbytes, data00, psbytes.Length);
Array.Copy(salt, 0, data00, psbytes.Length, salt.Length);

MD5 md5 = new MD5CryptoServiceProvider();
byte[] result = null;
byte[] hashtarget = new byte[HASHLENGTH + data00.Length];
for (int j = 0; j < segments; j++)
{
if (j == 0) result = data00;
else
{
Array.Copy(result, hashtarget, result.Length);
Array.Copy(data00, 0, hashtarget, result.Length, data00.Length);
result = hashtarget;
}

for (int i = 0; i < md5iterations; i++)
result = md5.ComputeHash(result);

Array.Copy(result, 0, keymaterial, j * HASHLENGTH, result.Length);
}

Array.Copy(keymaterial, 0, key, 0, 8);
Array.Copy(keymaterial, 8, iv, 0, 8);

return Encryptor;
}
}
}

biliyorum kırılır belkide kıranınız vardır bana fark etmez 🙂 ben sevdim bu olayı.

sanırım bende çok okumadım olay bu pkcs#5

SqlExpress vs.net 2008 ve attach etmeden çalışmak

normalde asp.net projelerinde membership falan kullancaksanız. vs.net 2008 den her bişey hallolur mis gibi aspnetdb.mdf di sanırım onu hazırlar içine table ları koyar falan filan. ama bunun deployu ciddi mesele oluyor yok dosya kullanımda yok ebelek yok gübelek servera koyarken sıkıntısı bitmio. neyse bende vs.net 2008 den oluşan dosyayı aldım lokaldeki sql in içine gömdüm bi şekil herşeyi var içinde nasılsa bak yapar atarım servera die.

bi diagram oluşturim dedim db ye alınan hata:

TITLE: Microsoft SQL Server Management Studio Express
——————————

Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects.

——————————
BUTTONS:

OK
——————————

önce database e sağ tıklıyim dedim abuk bi dialog gösteremioz hatası. madem öyle şu alteri deniyem dedim ve diagram çalışır oldu 🙂
örnek alter satırı:

ALTER AUTHORIZATION ON DATABASE::morbibertest TO sa

Jasypt StandardPBEStringEncryptor C#

bi şekilde encrypt etmem gereken bi string problemim var normalde hiç uğraşmadığım kriptoloji hikayelerini kurcalamaya başlıyorum. olayım şu jasypt de bulunan StandardPBEStringEncryptor şifreleyicisiyle şifrelenmiş gibi bi string oluşturmak sanırım cipher de diolar yani şifreli veri. neyse en son bir örnek buldum ama çıkan sonuç nedense javadan çıkanla aynı boyda değil.

kurcalıom kurcalıom zaten anlamadığım bok örnek ve döküman az. en sonunda sikerim örneğini diyip. girdim java koduna başladım debug etmeye. meğersem salt+encryptedMessage yapmak gerekiomuş. bulduğum örnekse sadece encrypted ı geri gönderio sonradan kavradım olayı 8byte lık salt la 24 bytelık mesajı birleştirip yolluosunki karşı tarafda onu deşifre edebilsin. jasypt den de testimi yaptım dalga doğru çalışıo ferahladım. böle şeyleri çözmeside eğlenceli oluormuş.