使用ftp 访问 vsftpd 的服务器,报错:500 Illegal PORT command,一直无法解决,请各位帮忙把把脉……

登陆FTP后,直接使用另外一台Linux服务器来连接ftp,
使用ls 就一直报错:

500 Illegal PORT command.


查询了一下,说是被动模式的问题,按照设置搞了一下,还是一直无法成功,不知道什么情况,用filezilla工具又是可以正常使用的。

在使用另外一台Linux服务器用ftp命令连接时,过程如下:

230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode off.
ftp> ls
500 Illegal PORT command.
ftp>

具体vsftpd的配置如下:

anonymous_enable=NO
local_enable=YES
write_enable=YES
allow_writeable_chroot=YES
chroot_local_user=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=NO
chown_uploads=NO
xferlog_std_format=YES
nopriv_user=vsftpd
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_list_enable=NO
ls_recurse_enable=NO
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_address=47.99.69.84
pasv_max_port=30099
pasv_min_port=30001

还是一直没处理好,求助各位大神……

1个回答

babyfengfjx
babyfengfjx 感谢!
8 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
vsftpd虚拟用户无法登录 500 OOPS: config file not owned by correct user, or not a file
通过java ftpclient创建vsftpd用户,用户是通过mysql维护。上传了用户配置文件,所属用户为:vsftpd。 登录时报错: 500 OOPS: config file not owned by correct user, or not a file。 如果手动创建用户文件所有者为root,可以正常登录。但是业务要求通过java自动创建vsftpd用户,改怎么解决?
Ftp无法连接docker容器中的vsftpd
## 环境 1. centos 7.1805 1. vsftpd 3.0.2 1. docker 19.03.2 ftp服务器是运行在docker中的,基于centos:7的镜像,使用docker宿主机可以和vsftpd容器进行通信,可是,一使用其它网段的机器访问ftp服务器就不可以。 配置的是主动模式,已经关闭宿主的防火墙和selinux。 下面贴上vsftpd的配置文件 ``` anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 xferlog_enable=YES xferlog_std_format=YES xferlog_file=/ftp/log/xferlog connect_from_port_20=YES listen=YES pam_service_name=vsftpd //上面创建的PAM名称 userlist_enable=YES guest_enable=YES guest_username=nas port_enable=YES ``` 详细的报错内容看下图的抓包,如果有wireshark工具的同学,也可以下载[WireShark抓包数据][1],这是抓包的数据。 ![图片说明](https://img-ask.csdn.net/upload/201909/28/1569680259_376835.jpg) 自己第一次接触ftp,也百度、谷歌了下,可是网上说的都是在被动模式下,要么文件权限问题,要么seilnux没有默认放开ftp端口导致的,从wireshark的抓包,可以看到,报错的是Syntax error 500,感觉问题是出在,访问了docker的宿主机,然后端口映射到了容器的端口上,没有监听到导致的,可是不知道怎么配置。难道ftp就只能安装在物理机,无法放在代理服务器后面么? [1]:https://tony-public.oss-cn-hangzhou.aliyuncs.com/pic/201909282223ftp%E6%8A%93%E5%8C%85%E5%88%86%E6%9E%90.pcapng
vsftpd 500 OOPS: cannot change directory:/home/***
本人使用的是Fedora21,在vsftpd配置中,想让所有实体用户默认被 chroot, 而不被 chroot 的账号配置在chroot_list中 ,vsftpd.conf中的配置如下 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 不被 chroot 的使用者账号列表 vim /etc/vsftpd/chroot_list javatest 但是重启服务器后,提示:500 OOPS: cannot change directory:/home/javatest 网上查找:修改selinux设置 setsebool -P ftp_home_dir 1 最后,还是提示相同的问题,请高手帮助
vsftpd 移植的问题 "打开FTP服务器上的文件夹时发生错误"
vsftpd移植到板子上,在window下登录提示如下: 打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。 详细信息: 200 Switching to ASCII mode. 500 OOPS: socket 500 OOPS: priv_sock_get_int 请大侠们指点指点!!!!
vsftpd 503 login incorrect 认证老是不通过
问题:跟在17慕课是骂骂咧咧那个课程做的,我用的CentOs7,vsftpd和iptables都正常启动了, 用户名ftpuser密码123456应该没问题啊。 日志也没说哪里错了。。。 ``` 1月 11 10:46:26 localhost.localdomain systemd[1]: Stopped Vsftpd ftp daemon. 1月 11 10:46:26 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon... 1月 11 10:46:26 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon. 1月 11 10:46:51 localhost.localdomain vsftpd[23319]: pam_unix(vsftpd:auth): check pass; user unknown 1月 11 10:46:51 localhost.localdomain vsftpd[23319]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=anonymous rhost=::ffff:192.168.122.1 1月 11 11:04:32 localhost.localdomain vsftpd[24622]: pam_unix(vsftpd:auth): check pass; user unknown 1月 11 11:04:32 localhost.localdomain vsftpd[24622]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=anonymous rhost=::ffff:192.168.122.1 ```
centos7卸载ftp服务报错
centos7安装ftp之后再卸载,我先删除了所有相关的文件夹,然后 [root@node214 ~]# rpm -qa | grep vsftpd vsftpd-2.2.2-24.el6.x86_64 [root@node214 ~]# rpm -e vsftpd-2.2.2-24.el6.x86_64 error reading information on service vsftpd: No such file or directory error: %preun(vsftpd-2.2.2-24.el6.x86_64) scriptlet failed, exit status 1 error: vsftpd-2.2.2-24.el6.x86_64: erase failed 开始报错,应该是直接卸载而不是先删除文件夹,现在 安装或者卸载都进行不了,请问现在要怎么解决这个问题?
vsftpd 虚拟用户pam验证通不过,530 Login incorrect. (Centos7)
环境:Centos7.2 Vsftpd版本:3.0.2 SELinux 已关闭 防火墙已关闭 vconf目录正确,文件名正确 virtusers.db生成正确 虚拟用户用户名与vconf下文件名对应正确 本身这套配置应该没问题,因为已经配置过很多台服务器,都是使用的这套配置,唯独这台服务器,同样的配置,就不行了。 vsftpd.conf配置如下: ``` anonymous_enable=NO local_enable=YES write_enable=YES local_umask=002 anon_upload_enable=NO anon_mkdir_write_enable=NO dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chown_uploads=NO xferlog_file=/opt/log/vsftpd/vsftpd.log xferlog_std_format=YES nopriv_user=vsftpd async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to Alex FTP service. chroot_local_user=YES chroot_list_enable=NO ls_recurse_enable=NO listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=overlord virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/vconf listen_port=21 pasv_min_port=5000 pasv_max_port=5010 ``` pam.d/vsftpd 配置如下: ``` #%PAM-1.0 auth sufficient pam_userdb.so db=/etc/vsftpd/virtusers account sufficient pam_userdb.so db=/etc/vsftpd/virtusers session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth required pam_shells.so auth include password-auth account include password-auth session required pam_loginuid.so session include password-auth ``` FTP报错信息: ``` [root@debug010000002015 ~]# ftp XXX.29.190.XXX Connected to XXX.29.190.XXX (XXX.29.190.XXX). 220 Welcome to Alex FTP service. Name (XXX.29.190.XXX:root): dddboy 331 Please specify the password. Password: 530 Login incorrect. Login failed. ftp> quit 221 Goodbye. ``` tail -f /var/log/secure 日志如下: ``` Apr 04 12:41:05 debug020000002019.local.alipay.net vsftpd[25977]: pam_unix(vsftpd:auth): check pass; user unknown Apr 04 12:41:05 debug020000002019.local.alipay.net vsftpd[25977]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dlex rhost=158.147.202.138 Apr 04 14:14:51 debug020000002019.local.alipay.net vsftpd[27069]: pam_unix(vsftpd:auth): check pass; user unknown Apr 04 14:14:51 debug020000002019.local.alipay.net vsftpd[27069]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dlex rhost=158.147.202.138 Apr 04 16:47:16 debug020000002019.local.alipay.net vsftpd[28786]: pam_unix(vsftpd:auth): check pass; user unknown Apr 04 16:47:16 debug020000002019.local.alipay.net vsftpd[28786]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dddboy rhost=debug020000002019.local.alipay.net Apr 04 16:54:35 debug020000002019.local.alipay.net vsftpd[28888]: pam_unix(vsftpd:auth): check pass; user unknown Apr 04 16:54:35 debug020000002019.local.alipay.net vsftpd[28888]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=aa rhost=debug020000002019.local.alipay.net Apr 04 16:58:06 debug020000002019.local.alipay.net vsftpd[28933]: pam_unix(vsftpd:auth): check pass; user unknown Apr 04 16:58:06 debug020000002019.local.alipay.net vsftpd[28933]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dlex rhost=158.147.202.138 ```
red hat 8 安装vsftpd失败,报下面错误,怎么解决
[root@shufeng yum.repos.d]# yum install vsftpd* -y Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 上次元数据过期检查:0:20:28 前,执行于 2019年12月12日 星期四 09时12分29秒。 依赖关系解决。 ======================================================================================= 软件包 架构 版本 仓库 大小 ======================================================================================= Installing: vsftpd x86_64 3.0.3-28.el8 AppStream 180 k 事务概要 ======================================================================================= 安装 1 软件包 总下载:180 k 安装大小:356 k 下载软件包: Error opening file for checksum: Packages/vsftpd-3.0.3-28.el8.x86_64.rpm 软件包 "vsftpd-3.0.3-28.el8.x86_64"(来自于本地仓库 "AppStream")的 checksum 不正确 错误:本地仓库的一些软件包校验值(checksum)不正确,无法确定软件包完整
vsftpd布置服务器,手机APP访问服务器测试下载速度,一直连接不上服务器
centos6.8系统部署的ftp服务器,设置pam验证。然后要通过专门的APP去访问FTP服务器,然后再测试下行速度。可是APP一直显示在连接中。我看了APP中的IP是对的。在APP中还有下载和上传的端口号,我不知道这个和服务器部署有关么?(PS:我记得我没调过ftp服务器的端口号,只是调了防火墙的端口号。![![图片说明](https://img-ask.csdn.net/upload/201705/12/1494559276_61036.png)图片说明](https://img-ask.csdn.net/upload/201705/12/1494559268_401185.png))
vsftpd,谁能给一个成熟的vsftpd.conf配置参数。做web的ftp用。谢谢
vsftpd,谁能给一个成熟的vsftpd.conf配置参数。做web的ftp用。谢谢
新建的CentOS虚拟机,装ftp服务器。报错。
[root@localhost ~]# yum -y install ftp vsftpd Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=stock error was 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" Error: Cannot find a valid baseurl for repo: base
VSFTPD,可以FTP下载但是FTP上传时报“550 Permission denied.”
ubuntu14.04 安装VSFTPD,可以FTP下载但是FTP上传时报“550 Permission denied.”恳请各位大神求助 ================================================== 我把FTP主目录文件夹的权限都设置成777了,但还是不能上传(下载文件是可以的) 配置文件(/etc/vsftpd.conf)那里我是设置成用本地用户登录的; write_enable=YES,这个东西也设置了。我已经搞了2天了,都没搞好,要崩溃了。。。。 配置脚本如下: =============================================== # Example config file /etc/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # # Run standalone? vsftpd can run either from an inetd or as a standalone # daemon started from an initscript. listen=YES # # Run standalone with IPv6? # Like the listen parameter, except vsftpd will listen on an IPv6 socket # instead of an IPv4 one. This parameter and the listen parameter are mutually # exclusive. #listen_ipv6=YES # # Allow anonymous FTP? (Disabled by default) anonymous_enable=NO # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # If enabled, vsftpd will display directory listings with the time # in your local time zone. The default is to display GMT. The # times returned by the MDTM FTP command are also affected by this # option. use_localtime=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). #connect_from_port_20=YES port_enable=NO connetc_from_port_20=NO # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. #xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. ascii_upload_enable=YES ascii_download_enable=YES # # You may fully customise the login banner string: ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd.banned_emails # # You may restrict local users to their home directories. See the FAQ for # the possible risks in this before using chroot_local_user or # chroot_list_enable below. #chroot_local_user=YES # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that # the user does not have write access to the top level directory within the # chroot) chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd.chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # Customization # # Some of vsftpd's settings don't fit the filesystem layout by # default. # # This option should be the name of a directory which is empty. Also, the # directory should not be writable by the ftp user. This directory is used # as a secure chroot() jail at times vsftpd does not require filesystem # access. secure_chroot_dir=/var/run/vsftpd/empty # # This string is the name of the PAM service vsftpd will use. pam_service_name=vsftpd # # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem # This option specifies the location of the RSA key to use for SSL # encrypted connections. rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #wei add seccomp_sandbox=NO userlist_enable=YES userlist_deny=YES userlist_file=/etc/allowed_users pasv_enable=YES pasv_max_port=0 pasv_max_port=0
vsftpd虚拟账户出现500 OOPS: cannot change directory
1.宿主用户如果是apache,ftp所有虚拟账户目录(权限用户是apache)不起作用,出现500 OOPS: cannot change directory:/home/apache 2.宿主用户改成root,ftp所有虚拟账户目录起作用,但是上传文件是宿主,web用户apache无法访问。 **3.selinux已经设置成disabled**
FTP连接问题.........
在阿里云租了一个ubuntu的主机,配置了FTP。在学校的电脑用cmd窗口的FTP可以连接,但在宿舍使用自己笔记本可以连接不提示我输账号密码。220 (vsFTPd 3.0.3) 远程主机关闭连接。就一直这样,防火墙关了也没有。我在笔记本装了一个ubuntu的虚拟机,在虚拟机竟然可以连接成功。
搭建 vsftpd 服务器,自己写的客户端程序LIST,EGT,NLST,数据都为0,但第三方工具连接vsftpd,操作都正常
![图片说明](https://img-ask.csdn.net/upload/201909/18/1568799722_731725.png) 使用第三方工具操作读取显示都正常; 但自己编码客户端,获取文件,下载下来大小为0,读取目录也为0; 搭建的是CentOS7 FTPs vsftpd; 请问哪里配置的不对
求大佬们帮忙!在本地虚拟机搭建ftp服务器,尝试在本地物理机进行访问测试,却一直连接超时。
我使用VMware在本地虚拟机上操作 1. 已经弄好了yum源 2. 安装并启动好了vsftpd服务器 3. 关闭了防火墙 4. 查看了虚拟机的IP地址和端口号(应该没错) 就是不知道为什么访问FTP服务器总是连接超时? ![访问FTP服务器总是连接超时](https://img-ask.csdn.net/upload/201903/13/1552491448_624189.jpg)
客户端win xp 服务器端redhat vsftpd ,用cmd连接ftp时,能登陆,但不能ls
客户端win xp 服务器端redhat vsftpd ,用cmd连接ftp时,能登陆,但不能ls win xp防火墙已经关闭 关键是 其他用户能正常登陆该ftp,并上传下载。就是一位用户使用win xp,存在上述问题。该账户设置与其他账户设置并无不同。
用nfs存储做ftp,访问ftp的时候出现问题,啥都看不到……
搭了个nfs服务器,然后在另一台服务器上(windows 2008 r2和centos6.5都试过了),挂载这个nfs,然后搭建ftp服务。 在客户端访问ftp服务器的时候,看不到任何东西,是什么原因? 追加一下,在linux上用vsftpd搭建ftp server,可以正常使用,但是上传的文件名不能有中文。 2015年12月17日10:12:24 原因找到了,windows和linux系统编码不一样,windows是gbk,linux是utf8,所以windows里创建的文件名里如果有中文,那么到linux里看到的就是乱码,反之依然。也是这个原因,在windows里通过ftp客户端上传文件时,由于linux无法识别中文文件名(它看到的是乱码),也就无法获取文件信息,从而无法创建文件。倒是有个解决方法,就是在ftp客户端连接时,指定连接用的字符编码为UTF-8,这样就能正常使用ftp了。
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
python 简易微信实现(注册登录+数据库存储+聊天+GUI+文件传输)
socket+tkinter详解+简易微信实现 历经多天的努力,查阅了许多大佬的博客后终于实现了一个简易的微信O(∩_∩)O~~ 简易数据库的实现 使用pands+CSV实现数据库框架搭建 import socket import threading from pandas import * import pymysql import csv # 创建DataFrame对象 # 存储用户数据的表(...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问