我正在尝试使用C#和php创建一个登录脚本,我计划将其作为一键安装出售,因此我需要它来进行错误验证.我故意在设置中犯错,但是当我的php脚本出错时,它只有一个HTML块输出,当我只想要一个字符串输出时(参见图像).
继承人我正在使用的代码
// We will now set up our MySQL database login. The values should be self-explanatory.
$sqlhost = "localhost";
$sqlusername = "unity";
$sqlpassword = "mypass123";
//we will now connect to our database
$sqlcon = mysql_connect($sqlhost, $sqlusername, $sqlpassword) or die("Could not connect to database: " . mysql_error());
Run Code Online (Sandbox Code Playgroud)
当我拥有所有信息时,它工作正常,其余代码运行没有错误.但是如果我的密码错误或者用户没有访问权限,那么我会收到此错误

我从此页面检索了信息,需要将其作为计划文本发送以便正确显示.我的意思是,任何HTML标签<div>, <br>, <a>,等等通常会使文本输出看起来很糟糕.我希望这只是在页面底部显示文本,因为它记录错误本身.我不需要它记录两次,我不需要它格式化.我需要它以简单易读的文本,以便如果用户有错误,他们可以发送短文,我将能够完成修复.
我想知道是否有人知道在Tornado中实现登录/注册页面的任何示例代码或教程?我看过它附带的例子,但它们看起来非常以facebook/oauth为中心.
我正在通过MySQL 寻找一个好的PHP登录类,我还没有完全满意我发现的任何东西.这个先前的SO问题并没有真正满足我的需求,因为我宁愿远离PEAR和CodeIgniter,只需要一个简单的小PHP类来完成这项工作.
有一个TalkPHP论坛有几个可供选择,但他们似乎都有一些或其他缺乏.
现在,我的第一直觉只是潜入重新编码该列表中的最后一个(authclass),但幸运的是,我的第二直觉是要求stackoverflow :)
所以这是一个大问题:是否有一个安全,开源,多用户角色的PHP5和MySQL登录类,任何人都在使用?在此先感谢,即使您没有特定的代码,我也感谢此处的任何评论!
我想要为用户进行自动登录选项检查.基本上这意味着cookie将存储在客户端.
现在的问题是,如何使其安全,以便cookie不会被欺骗/修改.
我的一个朋友建议使用一个db表来存储session_id,用户的ip,浏览器信息等,然后在用户再次访问网站时将其与所有信息进行比较.
我觉得有一张单独的桌子有点太麻烦了.还有另一种方法吗?也许有令牌或类似的东西?
所以这是独家新闻:
我在前一段时间写了一个小小的C#应用程序,显示主机名,IP地址,图像日期,解冻状态(我们使用DeepFreeze),当前域和当前日期/时间,以显示在我们的Windows 7实验室机器的欢迎屏幕上.这是为了取代我们以前的信息块,它是在启动时静态设置的,实际上是嵌入到背景中的文本,带有更多动态和功能.该应用程序使用Timer来每秒更新IP地址,deepfreeze状态和时钟,并检查用户是否已登录并在检测到此类情况时自行终止.
如果我们只是通过我们的启动脚本(通过组策略设置)运行它,它会保持脚本打开,并且机器永远不会进入登录提示.如果我们使用类似start或cmd命令的东西在单独的shell /进程下启动它,它将运行直到启动脚本完成,此时Windows似乎清理脚本的所有子进程.我们现在能够绕过它psexec -s -d -i -x来启动它,这使得它在启动脚本完成后仍然存在,但可能非常慢,在我们的启动时间增加了5秒到一分钟之间.
我们已经尝试使用另一个C#应用程序来启动进程,通过Process类,使用WMI调用(Win32_Process和Win32_ProcessStartup)以及各种启动标志等,但所有结束都与脚本完成和信息块进程获得相同的结果杀害.我修改了将应用程序重写为服务,但服务从未设计为与桌面交互,更不用说登录窗口,并且在正确的上下文中运行操作似乎从未真正解决过.
所以对于这个问题:有没有人有一个很好的方法来实现这个目标?启动一个任务,使其独立于启动脚本并在欢迎屏幕上运行?
在下面的代码中,我可以使用HTMLAgilitypack设置用户名和密码的值,但是我无法调用登录按钮的click事件(按钮的源代码中的id是"s1").
无论如何要做到这一点?我没有使用的原因WebBrowser是因为我需要HTMLAgilityPack从源代码中没有ID的页面检索数据.
var doc = new HtmlWeb().Load("http://MYURL.com");
doc.DocumentNode.SelectSingleNode("name").SetAttributeValue("value", "MyUsername");
doc.DocumentNode.SelectSingleNode("password").SetAttributeValue("value", "MyPassword");
Run Code Online (Sandbox Code Playgroud) 我创建了一个效果很好的登录表单.但我意识到我的用户所指向的页面仍然可以被任何人访问.如何保护只有登录用户可以查看的被访问页面?
我是否需要在成功页面上放置脚本?
这是我的check_login.php:
<?php
$host="localhost"; // Host name
$username="xxx"; // Mysql username
$password="xxx"; // Mysql password
$db_name="xxx"; // Database name
$tbl_name="xxx"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; …Run Code Online (Sandbox Code Playgroud) 我试图在我的PERL5LIB环境变量的末尾附加一个路径,但我不确定这个变量是否总是存在.如果它不存在,我想简单地将它初始化为我试图追加的值.
这是一个有效的例子:
if ( $?PERL5LIB ) then
setenv PERL5LIB ${PERL5LIB}:/some/other/path
else
setenv PERL5LIB /some/other/path
endif
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但它仍然看起来很笨重,因为我必须基本上写两次同一行.我想做的是提出一个更有效的单线解决方案(可能使用参数扩展).
有没有办法将其合并为一条线?(或者多行不涉及多次写出"/ some/other/path")
例如,这可以在bash中完成:
export PERL5LIB=${PERL5LIB:+${PERL5LIB}:}/some/other/path
Run Code Online (Sandbox Code Playgroud) 我想在PHP中构建一个简单的单用户登录"库",但我面临以下困境:如果我不使用数据库,我应该如何存储用户名和密码?
一个简单的纯文本文件可以很容易地读取,然后密码可以很容易地删除,所以这不是一个选项.
如果我用just创建一个php文件
<?php
$Username= "username";
$Password= "password";
?>
Run Code Online (Sandbox Code Playgroud)
然后没有人应该能够阅读它,我可以简单地将这个文件包含在我需要的地方,但我不确定你找不到更好的方法来做到这一点!
那么,在您看来,这个问题的最佳解决方案是什么(以及为什么)?
谢谢
我有一个安装了tomcat的RHEL服务器.Tomcat作为一个名为tomcat的无登录用户运行.我已将所需的环境变量设置为as /etc/profile.d/myenvvars.sh
export JRE_HOME=/usr/lib/jvm/jre
export MY_VAR=/usr/share/mydir
Run Code Online (Sandbox Code Playgroud)
环境变量已设置并可在终端中使用进行回显
# echo $MY_VAR
# sudo -u tomcat echo $MY_VAR
Run Code Online (Sandbox Code Playgroud)
但是当tomcat启动时,tomcat无法识别我的环境变量.
根据这篇文章,我发现当tomcat启动时我的环境变量将无法被识别,因为tomcat是一个非登录用户.因此我在使用中获取了上述文件 ~/.bash_profile
. /etc/profile.d/myenvvars.sh
Run Code Online (Sandbox Code Playgroud)
但是,我仍然有同样的问题,环境变量没有被重新认识.
任何帮助,将不胜感激.
linux tomcat environment-variables login-script .bash-profile