divendres 19 de febrer de 2010

Solució definitiva als problemes d'incompatibilitat d'Internet Explorer

Les continues promeses de que el Microsoft Internet Explorer compliria amb els standards web definits pel World Wide Web Consortium mai acaben de ser del tot certes, sempre ens trobem amb 'cosetes' que implica un munt d'hores de desenvolupament afegides.

La campanya per a la jublicació de l'IE6, va funcionant, però és del tot insuficient.

Google ens ofereix un altre cop una eina que ens farà més competitius en els nostres desenvolupaments web: el Google Chrome Frame for Internet Explorer.




El giny de Google consisteix en substituir el motor de renderitzat de l'Internet Explorer, el Trident, pel motor de renderitzat de Google Chrome, el WebKit, més ràpid i curós amb els standards web.

Per tal de que les nostres planes es visualitzin amb el motor de renderitzat i JavaScript del Google Chrome Frame, cal indicar aquest senzill META a la capçalera de la plana:

<meta http-equiv="X-UA-Compatible" content="chrome=1" />

També podem oferir als nostres visitants que encara no tenen el Google Chrome Frame instal·lat, l'opció de fer-ho afegint aquestes instruccions, tal i com s'indica al lloc web de Google Chrome Frame:

<body>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"> </script>

<div id="placeholder"></div>

<script>
CFInstall.check({
node: "placeholder",
destination: "http://www.corretge.cat"
});
</script>
</body>


Podem veure aquest script en funcionament a http://domini.net/chrome

D'aquesta manera aconseguirem que el Microsoft Internet Explorer superi per primer cop el test de compatibilitat HTML i CSS Acid3. La versió 8 de l'Internet Explorer és la única que ha superat la versió 2 d'aquest test de compatibilitat HTML i CSS.

divendres 12 de febrer de 2010

Taula de codis de tecles 5250

Els codis AID (attention indicator) identifiquen la tecla de funció que s'ha premut en una terminal 5250.

La tecla premuda la trobarem a la posició 369 de la INFDS de l'arxiu de pantalla que volem monitoritzar.

AID Codes
AID keyMnemonicAID Code
Cmd 1 - 12 (cmd 1=x'31', cmd12=x'3C')QSN_F1 - QSN_F12x'31' - x'3C'
Selector Light Pen Auto EnterQSN_SLPx'3F'
Forward Edge Trigger Auto EnterQSN_FETx'50'
PA1QSN_PA1x'6C'
PA2QSN_PA2x'6E'
PA3QSN_PA3x'6B'
Cmd 13 - 24 (cmd 13=x'B1', cmd24=x'BC')QSN_F13 - QSN_F24x'B1' - x'BC'
ClearQSN_CLEARx'BD'
Enter or Record AdvanceQSN_ENTERx'F1'
Help (not in error state)QSN_HELPx'F3'
Roll Down or Page UpQSN_ROLLDOWN or QSN_PAGEUPx'F4'
Roll Up or Page DownQSN_ROLLUP or QSN_PAGEDOWNx'F5'
PrintQSN_PRINTx'F6'
Record BackspaceQSN_RECBSx'F8'

divendres 22 de gener de 2010

Assegurant el PHP amb Suhosin. Instal·lació a Ubuntu.

Aquesta setmana hem rebut al despatx de Corretgé.com l'esplèndid PHP Security Poster editat per l'empresa alemanya especialitzada en seguretat SektionEins.

SektionEins és l'empresa que ha creat el paquet de seguretat Suhosin. Si hem instal·lat el PHP desde la paqueteria d'Ubuntu, al fer un phpinfo(), segurament veurem que al PHP instal·lat se li ha aplicat el patch de Suhosin, és fàcil de detectar, per les lletres en coreà 수호신 al final de la plana, que ve a ser la traducció de una deïtat guardiana... sí, és la traducció literal, no és cap de les deïtats guardianes que el budisme assigna segons l'any de naixement a la seva parròquia.

Suhosin logoThis server is protected with the Suhosin Patch 0.9.6.2
Copyright (c) 2006 Hardened-PHP Project


Així doncs, els ubuntaires ja tenim el PHP preparat de sèrie per al Suhosin i no hem de compilar ni aplicar cap patch.

Per a instal·lar aquesta extensió de PHP, farem

sudo apt-get install php5-suhosin

A /etc/php5/apache2/conf.d/suhosin.ini podrem parametritzar aquest guardià protector.

En properes edicions comentarem alguns dels paràmetres de configuració:

DirectiveLocal ValueMaster Value
suhosin.apc_bug_workaroundOffOff
suhosin.cookie.checkraddr00
suhosin.cookie.cryptdocrootOnOn
suhosin.cookie.cryptkey[ protected ][ protected ]
suhosin.cookie.cryptlistno valueno value
suhosin.cookie.cryptraddr00
suhosin.cookie.cryptuaOnOn
suhosin.cookie.disallow_nul11
suhosin.cookie.disallow_ws11
suhosin.cookie.encryptOffOff
suhosin.cookie.max_array_depth5050
suhosin.cookie.max_array_index_length6464
suhosin.cookie.max_name_length6464
suhosin.cookie.max_totalname_length256256
suhosin.cookie.max_value_length1000010000
suhosin.cookie.max_vars100100
suhosin.cookie.plainlistno valueno value
suhosin.coredumpOffOff
suhosin.disable.display_errorsOffOff
suhosin.executor.allow_symlinkOffOff
suhosin.executor.disable_emodifierOffOff
suhosin.executor.disable_evalOffOff
suhosin.executor.eval.blacklistno valueno value
suhosin.executor.eval.whitelistno valueno value
suhosin.executor.func.blacklistno valueno value
suhosin.executor.func.whitelistno valueno value
suhosin.executor.include.blacklistno valueno value
suhosin.executor.include.max_traversal00
suhosin.executor.include.whitelistno valueno value
suhosin.executor.max_depth00
suhosin.filter.actionno valueno value
suhosin.get.disallow_nul11
suhosin.get.disallow_ws00
suhosin.get.max_array_depth5050
suhosin.get.max_array_index_length6464
suhosin.get.max_name_length6464
suhosin.get.max_totalname_length256256
suhosin.get.max_value_length512512
suhosin.get.max_vars100100
suhosin.mail.protect00
suhosin.memory_limit00
suhosin.mt_srand.ignoreOnOn
suhosin.multiheaderOffOff
suhosin.perdir00
suhosin.post.disallow_nul11
suhosin.post.disallow_ws00
suhosin.post.max_array_depth5050
suhosin.post.max_array_index_length6464
suhosin.post.max_name_length6464
suhosin.post.max_totalname_length256256
suhosin.post.max_value_length6500065000
suhosin.post.max_vars200200
suhosin.protectkeyOnOn
suhosin.request.disallow_nul11
suhosin.request.disallow_ws00
suhosin.request.max_array_depth5050
suhosin.request.max_array_index_length6464
suhosin.request.max_totalname_length256256
suhosin.request.max_value_length6500065000
suhosin.request.max_varname_length6464
suhosin.request.max_vars200200
suhosin.server.encodeOnOn
suhosin.server.stripOnOn
suhosin.session.checkraddr00
suhosin.session.cryptdocrootOnOn
suhosin.session.cryptkey[ protected ][ protected ]
suhosin.session.cryptraddr00
suhosin.session.cryptuaOnOn
suhosin.session.encryptOnOn
suhosin.session.max_id_length128128
suhosin.simulationOffOff
suhosin.sql.bailout_on_errorOffOff
suhosin.sql.comment00
suhosin.sql.multiselect00
suhosin.sql.opencomment00
suhosin.sql.union00
suhosin.sql.user_postfixno valueno value
suhosin.sql.user_prefixno valueno value
suhosin.srand.ignoreOnOn
suhosin.stealthOnOn
suhosin.upload.disallow_binary00
suhosin.upload.disallow_elf11
suhosin.upload.max_uploads2525
suhosin.upload.remove_binary00
suhosin.upload.verification_scriptno valueno value

Net Access

Ocupi el seu lloc a InterNet.
Net AccessDoni valor afegit a la comunicació amb els clients i proveïdors.
Correu, documents i calendari amb el seu pròpi domini. Mínim SPAM.
50€ Instal·lació i 35€ manteniment anual.
Estratègia Blogger desde 560€

www.net-access.biz

Llibres Informàtica

Llibres d'Informàtica a la Casa del Llibre'

Registre de Dominis a 6,5€

Aprofiti's de la debilitat del Dollar. Registre de Dominis per 9,99USD anuals.

www.domini.net