macport pip install Cryptography/pyOpenSSL报错 Expected in: flat namespace

如题,macport pip安装pyOpenSSL过程中,要安装依赖包Cryptography,在该依赖包中,报错,经过不懈的查询,找到这篇文章 http://chriskief.com/2014/03/25/installing-cryptography-via-pip-with-macports-or-homebrew/comment-page-1/#comment-2809
按照作者的方案,要增加几个环境变量再pip,如下
sudo env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography
记录并分享一下,再次感谢原作者Chris Kief

应对恶意请求的一个可选方案

这是在开源中国上随手做的一个回答,突然有人回复,才又看到,是一年前的事情了,早已忘记。不过这个应对方案还是比较有意思的,至少个人感觉,所以转来备忘。毕竟在独立博客里看到的机会比在其它网站大一点,也就是一点而已

http://www.oschina.net/question/110098_89566

原问题是这样的:

分析了#开源中国#安卓客户端源码后,得到了安卓客户端登录接口的地址,试着用自己的账号验证了此接口。 随之发现一个问题:没有验证码之类的验证。然后用错误的信息不断重复刷新页面,并没有提示“请不要重复登录”之类的信息。 请问大侠是如何解决登录接口被暴力破解的问题的? 是在一定时间内对同一个IP请求此接口有限制吗? 还是有另外的高招。目前正在写相关的登录代码,恳请不吝赐教。

当时回复如下:

同ip同用户名(或同密码)连续错误超过阈值,继续响应,但永远返回登录失败,让爆破自己玩儿。同时邮件通知相关用户,提醒改高强度密码

pip install m2crypto安装报错:opensslconf.h Error: CPP #error This openssl-devel package does not work your architecture

centos 7下,安装shadowsocks,提示需要m2crypto依赖包,M2Crypto is required to use aes-256-cfb, please run `apt-get install python-m2crypto`

通过pip安装之,但提示错误消息如下

[root@fsc tmp]# pip install m2crypto
Downloading/unpacking m2crypto
  Running setup.py egg_info for package m2crypto
    
Installing collected packages: m2crypto
  Running setup.py install for m2crypto
    building 'M2Crypto.__m2crypto' extension
    swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
    swig -python -I/usr/include/python2.7 -I/usr/include -I/usr/include/openssl -includeall -modern -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
    /usr/include/openssl/opensslconf.h:31: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.
    error: command 'swig' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-feng/m2crypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-vpkm7l-record/install-record.txt --single-version-externally-managed:
    running install

running build

running build_py

running build_ext

building 'M2Crypto.__m2crypto' extension

swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c

swig -python -I/usr/include/python2.7 -I/usr/include -I/usr/include/openssl -includeall -modern -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i

/usr/include/openssl/opensslconf.h:31: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.

error: command 'swig' failed with exit status 1

----------------------------------------
Command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-feng/m2crypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-vpkm7l-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip-build-feng/m2crypto
Storing complete log in /root/.pip/pip.log

安装m2crypto后,再pip安装即可。

 

goagent 报错: code 400 message bad request syntax

如标题。

这是个低级错误,严重的低级错误。浏览器的代理类型选错了:应该是http,但错选成sock 5.

目不忍视的低级错误。

因为之前一段时间,主要是6月初几天,goagent因为众所周知的原因被严重的墙了,当时换用shadowsock,然后goagent有所好转,直接把foxyproxy里的ss规则复制一份,改供goagent用,但代理类型的sock5没取消,所以。。。。

centos 6下通过yum安装apache模块mod_h264_streaming, mod_flvx, mod_xsendfile等

centos因为上游redhat ep的原因,自带的包相对少一些,centos官方也建议可以安装一些第三方的yum源,如rpmfusion,epel等,本文所说的apache模块,rpmfusion,epel是支持的。

安装epel, rpmfusion源。

参看rpmfusion官方的“重要提示” (http://rpmfusion.org/Configuration) 说,安装rpmfusion前要先启用epel源

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

yum makecache

rpm -ivh http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm

rpm -ivh http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm

h264模块是非自由(nonefree)软件,要启用nonefree源才可以。不是“非免费”,不收钱的~~

上面的rpm文件,可能会随着新版本的出现而有所改变,因此,请参看其官方的安装说明操作。

装过上述两个yum源后,然后直接yum install即可

yum install mod_xsendfile

yum install mod_h264_streaming

yum install mod_flvx

 

 

 

 

ms sql server下unix时间戳函数unix_timestamp, from_unixtime(与mysql兼容)

直接上代码:

CREATE FUNCTION UNIX_TIMESTAMP (@ctimestamp datetime) RETURNS integer 
AS
BEGIN
  /* Function body */
  declare @return integer
  SELECT @return = DATEDIFF(SECOND,{d '1970-01-01'}, @ctimestamp)
  return @return
END


CREATE FUNCTION from_unixtime (@ts integer) RETURNS datetime 
AS
BEGIN
  /* Function body */
  declare @return datetime
  select @return = DATEADD(second, @ts, {d '1970-01-01'})
  return @return
END

用法

跟MySQL下的一样类似:

select dbo.UNIX_TIMESTAMP('2013-1-1')
select dbo.from_unixtime(2145000000)

感谢参考 http://skinn3r.wordpress.com/2009/01/26/t-sql-datetime-to-unix-timestamp/

linux下日期时间自动同步设置(rdate,ntpdate两种方法)

linux下同步时间,至少有两种方法:

rdate,ntpdate两种。centos最小化安装默认不安装,先确认已经安装过,否则先安装。

其中rdate本身是用来获取远程时间服务器上时间用的,带上 -s 参数,就可以将获取到的时间应用到本地系统。

NAME
       rdate - get the time via the network

SYNOPSIS
       rdate [-p] [-s] [-u] [-l] [-t sec] [host...]

DESCRIPTION
       rdate  connects  to  an  RFC  868 time server over a TCP/IP network, printing the returned time
       and/or setting the system clock.

   OPTIONS
       -p     Print the time returned by the remote machine.

       -s     Set the system time to the returned time.

       -u     Use UDP instead of TCP as the transport.

       -l     Use syslog to output errors (cron.warning) and output (cron.info).

       -t     Set timeout in seconds for every attempt to retreive date.

rdate -s time.nist.gov

ntpdate 本身就是用来同步时间的工具。

示例 :ntpdate ntp.sjtu.edu.cn

NAME
       ntpdate - set the date and time via NTP

       Disclaimer:  The functionality of this program is now available in the ntpd program. See the -q com-
       mand line option in the ntpd - Network Time Protocol (NTP) daemon page. After a suitable  period  of
       mourning, the ntpdate program is to be retired from this distribution

SYNOPSIS
       ntpdate [ -46bBdqsuv ] [ -a key ] [ -e authdelay ] [ -k keyfile ] [ -o version ] [ -p samples ] [ -t
       timeout ] [ -U user_name ] server [ ... ]

DESCRIPTION

[略,具体参看linux man手册]

日期时间服务器

同步时间,就必须有时间服务器。通常情况下,我们完全没必要自己搭建,使用公共的时间服务就可以。

参看 国内常用NTP服务器地址及IP  http://www.douban.com/note/171309770/

其中国家授时中心的似乎不能用,推荐使用上海交大ntp服务 ntp.sjtu.edu.cn 或美国授时中心 time.nist.gov

上代码,拷了就可以用

rdate -s time.nist.gov

ntpdate ntp.sjtu.edu.cn

可以加到crontab里定时执行。

mysqld 配置优化,请一定要加 skip-name-resolve,否则将被show processlist 里的 unauthenticated user 搞死

把mysql迁移到单独的服务器,与web服务器分离;但似乎不怎么稳定,经常无法连接,报错是连接数过多;登录到服务器上命令行连接也是无法连接。这情况很频繁,今天竟然出现了两次。之前一直是重启mysql解决问题,但如此频繁的故障,就有十分的必要去查找原因了。

在服务器上命令行登录,mysql -uroot -upassword,把密码写到命令行里,不用每次再输入,按ctrl+p 然后回车,尝试N次,终于登录进去了;连接数过多,终究还是可以找到空子进去的。赶快查看并保留运行状态的重要参数:

show variables;
show status;

show processlist;

好家伙,这么多连接:

| 10520 | unauthenticated user | 192.168.0.109:41063 | NULL  | Connect | NULL | login | NULL             |
| 10521 | unauthenticated user | 192.168.0.109:41065 | NULL  | Connect | NULL | login | NULL             |
| 10522 | unauthenticated user | 192.168.0.109:41067 | NULL  | Connect | NULL | login | NULL             |
| 10523 | unauthenticated user | 192.168.0.109:41068 | NULL  | Connect | NULL | login | NULL             |
| 10524 | unauthenticated user | 192.168.0.109:41069 | NULL  | Connect | NULL | login | NULL             |
| 10525 | unauthenticated user | 192.168.0.109:41070 | NULL  | Connect | NULL | login | NULL             |
| 10526 | unauthenticated user | 192.168.0.109:41071 | NULL  | Connect | NULL | login | NULL             |

如些上千行。先不管,这里肯定是问题突破口。

set global max_connections=4000;

增加允许的最大连接数,先让前台网站可以正常工作。

回过头google :mysql unauthenticated user

果然,遇到此类问题的人很多,问题在于mysql的反向ip地址解析,配置参数里加上skip-name-resolve就可以。

总结一下原因,大概如下:

因为mysql默认会根据客户端的ip地址反向解析,用于用户登录授权之用。不过正常情况下,很少会有人这样用。ip地址反向解析是很慢的,尤其是高负荷的mysql,每秒种几百次甚至更高的请求,这个请求压到本地的dns服务器上,dns服务器说不定会怀疑你在恶意请求,然后不理你了,然后这些登录请求就挂在那里,后面的连接还持续,然后越积越多,然后就达到mysql的最大连接数据限制了,然后新的连接就直接被拒,得到连接数过多的消息。

因为mysql配置文件使用的之前的配置文件,当时跟web同服务器,所以不存在这个问题。

这也正好解释了为什么phpMyAdmin里看mysqld状态时,有很多失败的连接,它们应该就是因反解析失败而被拒的。

 

Android无法连上VPN的原因及解决办法(android系统root后连vpn显示已断开)

为了能正常使用google等的网络服务,偶尔要在android上使用pptp vpn,在linode上搭建的。最近使用了cm固件,nightly版,还是比较稳定的。

不过最近经常无法连接vpn,连接N次都是非常慢、然后提示“连接已断开”;起先以为是固件的问题,重刷了几次机,但问题依旧。

今天在外面使用联通3G,突然就不能连vpn了,以为是北京联通的国际出口上被过滤pptp数据了;不能正常上网,很崩溃,很崩溃。回来后在电脑上pptp拨号很顺利,证明电信网络是可以成功拨号。手机已经自动切换为wifi,连了两次vpn,全部失败。于是全面怀疑可能是其它原因。

google查 “android vpn 连接失败”相关文章,其中有root之后vpn无法连接vpn的文章,因为cm固件是天生root的,而刷机后并不是马上就连不了vpn,而是要过一两天之后,因为不太在意,只是草草看了,看过后,回顾最近在无法vpn前的事情,似乎都与使用smartHosts之类的软件修改hosts文件,这个操作是需要root权限的。虽然以前也root,但没有改过hosts;感觉可能有道理。于是到cm自带的文件浏览器,改设置为root模式,到/etc里,修改 mount 为r/w,然后查了里面的文件 /etc/ppp/ip-up-vpn 的权限,还真的没有写权限,修改权限为775,然后再登录vpn,虽然不快,但还是连上了。

其实解决这个问题非常简单:修改文件 /etc/ppp/ip-up-vpn 的权限,至少让root用户可写。使用你自己熟悉的工具,如re浏览器,固件工具箱等太多了。如果对linux文件权限不太了解,请参看文后链接。

很多朋友为了获取更多的自由,将自己的Android 手机破解获取root权限了,不过获取root后有一个问题,无法再正常连上VPN(即使设置完全正确),经过网上查找相关资料,确认是因为/etc/ppp/ip-up-vpn 的权限问题所致。

参考文章:http://www.ruan8.com/tutorial_1128.html

 

Mark: Acunetix,一个安全工具,被有些人用来做垃圾表单提交机器

有时会被垃圾表单提交机器狂发垃圾,甚至造成邮件拥堵。今天注意到其表单提交里有一项填写的是 Acunetix ,本以为是下什么组织还是什么,随手google了一下,原来是一个安全工具,其官方网站,http://www.acunetix.com/ 上有如下的说明,先mark一下,研究研究

Website security is possibly today's most overlooked aspect of securing the enterprise and should be a priority in any organization. Hackers are concentrating their efforts on web-based applications - shopping carts, forms, login pages, dynamic content, etc. Web applications are accessible 24 hours a day, 7 days a week and control valuable data since they often have direct access to back-end data such as customer databases.

Firewalls, SSL and Locked-Down Servers are Futile Against Web Application Hacking

Any defence at network security level will provide no protection against web application attacks since they are launched on port 80 - which has to remain open. In addition, web applications are often tailor-made therefore tested less than off-the-shelf software and are more likely to have undiscovered vulnerabilities. Acunetix Web Vulnerability Scanner automatically checks your web applications for SQL Injection, XSS & other web vulnerabilities.

Pages: Prev 1 2 3 4 5 6 7 8 9 10 ... 46 47 48 Next