我正在开发一个PHP站点,允许用户发布与站点主题相关的业务列表.这包括单个链接URL,一些文本和图像文件的可选URL.
例:
<img src="http://www.somesite.com" width="40" />
<a href="http://www.abcbusiness.com" target="new">ABC Business</a>
<p>
Some text about how great abc business is...
</p>
Run Code Online (Sandbox Code Playgroud)
使用htmlpurifier.org中的类过滤文本中的HTML,并检查内容是否有坏词,所以我对这部分感觉相当不错.
图像文件URL始终放在<img src="" />具有固定宽度的标记内,并验证为实际的HTTP URL,因此应该是Ok.
危险的部分是链接.
问题:如何确定链接不指向某些垃圾邮件,不安全或色情网站(使用代码)?
我可以检查404等标题...但是有一种快速简便的方法来验证链接中的网站内容.
编辑:
我正在使用CAPTCHA并且在允许发布之前需要注册.
我有一个应用程序,它根据用户交互(而不是用户输入)发送数据.发送的数据可以是整数,字符串,日期或布尔值.有140把钥匙.我们可以一次从1个键值对到任何140个.
我们希望存储所有内容,但只使用应用程序中的140个密钥中的20个.剩下的将用于稍后的审计跟踪 - 所以我们仍然需要存储它们.
应用程序使用此数据来决定用户需要去哪里,因此需要按学生ID访问记录,并在几毫秒内提取20个左右的选项.可能有数十亿行数据(它是对具有超过20,000个用户的现有应用程序的升级),因此性能至关重要.用户每次访问应用程序时都会生成一个新行.
示例数据:
Score:1
ID:3212
IsLast:False
Action:Completed
Run Code Online (Sandbox Code Playgroud)
我有2个关于如何做到这一点的想法,并寻找一些最好的帮助,或者是第三个选择更好的选择.
选项1:
我的第一个想法是使用值作为字符串的列,然后有一个查找表,可以在需要使用Cast时使用可能的数据类型.
value | dataType
-----------------------
"1" | int
"Completed" | string
Run Code Online (Sandbox Code Playgroud)
虽然发送的数据不是用户生成的,但我知道在这种方法中必须存在问题.这样做的唯一原因是我们不知道什么键:对将被发送(在日期和id之外)并且试图避免多于几列.
如何在一个表中处理未知数据类型的SO问题 使用了类似的想法.
方案2:
另一种解决方案是拥有140列 - 每个键一列.但是,生成的数据量非常大(数十亿行),因此调用此数据的速度不够快 - 我不这么认为.
技术细节: 这是使用SQL Server 2008 - 而不是使用DotNet C#和Reporting Services的R2.
我在这里遗漏了什么 - 为性能创建此表的最佳方法是什么?
在网页上编写分页查询时,获取总行数最便宜的方法是什么?有没有办法在不运行两次查询的情况下执行此操作 - 一个用于总计,另一个用于限制?
使用MySQL
示例:(我想知道是否有更便宜的方式)
得到数数
SELECT COUNT(*) FROM table
Run Code Online (Sandbox Code Playgroud)
获取寻呼
SELECT mycolumns FROM table LIMIT 100
Run Code Online (Sandbox Code Playgroud)
如何在不运行2个查询的情况下获得总计数.
我使用了一个将错误转换为PHP 5中的异常的类,它将错误记录到文件中和/或将它们通过电子邮件发送到指定的帐户.有一个更好的方法吗?关于这一点,我知道可以更好.我正在使用set_error_handler.
set_error_handler("exception_error_handler");
Run Code Online (Sandbox Code Playgroud)
我的代码执行它应该记录和发送电子邮件错误,但我是最好的方法.将其记录到数据库会更好吗 - 假设错误中存在数据连接.网站的行业标准是什么?
我维护一个PHP/Flash应用程序,它在代码中使用Julian日期,只转换为Gregorian进行显示.在我用Date数据类型替换整数Julian日期之前,我想知道使用Julian是否有好处?这应该改变吗?
其中一个问题是能够快速查看数据库中的日期.我在其中一个表中添加了一个日期时间戳来纠正这个问题,但现在我们正在转向一个新的数据库并有机会进行改进,所以离开朱利安日期就好像要做的事情.那我为什么不想这样做呢?原始开发者不再在这里.
我在PHP中解析一个具有以下模式的字符串
VARIABLE Key1 Value1 Key2 Value2 Key3 Value3 ...
Run Code Online (Sandbox Code Playgroud)
相近:
JOBGRADE 'P' 'Parttime Employee' 'C' 'Customer Support'
Run Code Online (Sandbox Code Playgroud)
要么
SOMEVARIABLE 1 "Value1" 2 'Value2'
Run Code Online (Sandbox Code Playgroud)
此行以不带引号的字符串开头,可以包含单引号或双引号字符串和/或数字.它可以有一对多的键值对.
我需要以两种方式拆分字符串:
第一个得到不带数字的不带引号的字符串.
第二个提取数值和/或引用字符串 - 可以是单个或dobule
因此我需要
要么
我的想法:
我想过拆分字符串并迭代它来测试:
for 1:如果value不是数字且未引用,则它是变量名称
for 2+:不确定这样做的简单方法,因为我必须检测键和值之间的差异:
问题:
如何区分键/值?
为了消除触发器的潜在问题,可以使用哪些替代方法来获得对INSERT操作触发的事件作出反应的相同功能?
我有一个数据库,需要在插入时添加一些额外的值.INSERT由编译代码控制,无法更改.
示例:程序插入一个字符串,我需要从一个指向查找表的新字段提供一个整数.
如果有触发器的替代方案,那么请让我知道任何替代方案的优缺点.主要原因是我们的数据库标准中不允许使用触发器.
SQL Server 2008 Enterprise
你怎么知道你编译的SWF文件是否有内存泄漏?
是否有工具,萤火虫设置等......以确定是否存在问题?除了文件大小和加载时间之外,我在调试Flash播放器中找不到多少.
我有一个大型Flash应用程序,我维护并怀疑使用太多内存,所以我想测量执行时使用的RAM量,以找到要优化的关键区域.
任何帮助将不胜感激.
作为Flash和Flex开发人员,看到HTML5的进步有点令人沮丧.不要误会我的意思我没有任何反对进步,对我而言,目前在Flash和AJAX中编写应用程序更容易.我喜欢用Flash和Flex编写,并认为ActionScript是一种非常好的语言.但是,看起来在ActionScript中取得了很大的进步,或者正在使用JavaScript,而HTML 5中的视频可能会使Flash/Flex成为过去.
那么,您认为(如果有的话)HTML将会或者是Flash的R /竞争对手,或者浏览器不兼容会阻止这种情况发生吗?
我问的原因是因为我不知道如果HTML 5可以做得更多,继续使用Flash/Flex是否是一个好主意.只是寻找使用这些技术的其他开发人员的一些答案.
了解如果某人禁用了JavaScript,该网站将无法正常工作,那么还有其他原因不这样做吗?
我正处于新网站的设计阶段,希望能够轻松更改服务器代码,而无需更改UI - 就像表单一样.
这是使用Python服务器端.
我在论坛中听到了不同的内容,但无法找到obj [name]和obj.name之间差异的具体答案.编译器是否以不同方式处理它们
flash ×4
php ×4
apache-flex ×2
html ×2
javascript ×2
sql ×2
sql-server ×2
actionscript ×1
ajax ×1
c# ×1
date ×1
mysql ×1
regex ×1
string ×1
t-sql ×1
triggers ×1
validation ×1